41554 blogs · [ { "id": "01a08773-4e97-732c-baa7-7929a9cc6c85", "title": "Review: Detock: High Performance Multi-region Transactions at Scale", "url": "https://emptysqua.re/blog/review-detock/", "published_at": "2024-05-29T09:18:59+00:00" }, { "id": "01a08773-4e97-732c-baa7-7929a9fbf258", "title": "Review: Timestamp as a Service, not an Oracle", "url": "https://emptysqua.re/blog/review-timestamp-as-a-service/", "published_at": "2024-05-23T15:18:28+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb438b27b", "title": "Consistency and Isolation for Python Programmers", "url": "https://emptysqua.re/blog/pycon-2023-consistency-isolation/", "published_at": "2023-04-18T13:53:54+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb44f5ce4", "title": "Why Should Async Get All The Love?: Advanced Control Flow With Threads", "url": "https://emptysqua.re/blog/why-should-async-get-all-the-love/", "published_at": "2022-05-16T14:58:50+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb53e34b5", "title": "Coaching For All 2021 PyGotham Speakers", "url": "https://emptysqua.re/blog/pygotham-2021-speaker-coaching/", "published_at": "2021-08-24T08:34:21+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb62ee833", "title": "Get a Coach for your PyCon 2021 Talk", "url": "https://emptysqua.re/blog/pycon-2021-coaching/", "published_at": "2021-04-27T13:30:18+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb6d9c6ac", "title": "The Python Language Summit 2020", "url": "https://emptysqua.re/blog/python-language-summit-2020/", "published_at": "2020-06-01T12:01:31+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb6fdf056", "title": "PyGotham 2019 Speaker Coaching Recap", "url": "https://emptysqua.re/blog/pygotham-2019-speaker-coaching-recap/", "published_at": "2019-12-07T22:25:58+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb7e3e866", "title": "PyGotham 2019's ASL and Live Captioning Playbook", "url": "https://emptysqua.re/blog/pygotham-2019-asl-live-captioning-playbook/", "published_at": "2019-11-09T21:37:13+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb81e9eb1", "title": "Free Coaching For PyGotham Speakers", "url": "https://emptysqua.re/blog/pygotham-free-speaker-coaching-2019/", "published_at": "2019-09-17T22:02:11+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb88cca2e", "title": "The Python Language Summit", "url": "https://emptysqua.re/blog/python-language-summit-2019/", "published_at": "2019-06-04T15:07:50+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb98bfad7", "title": "PyCon Canada Video: API Evolution the Right Way", "url": "https://emptysqua.re/blog/api-evolution-pycon-canada-video/", "published_at": "2019-04-27T12:07:22+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fb9facb4f", "title": "API Evolution the Right Way", "url": "https://emptysqua.re/blog/api-evolution-the-right-way/", "published_at": "2018-11-09T15:50:13+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbabbb42d", "title": "Recap: PyGotham 2018 Speaker Coaching", "url": "https://emptysqua.re/blog/recap-coaching-for-pygotham-speakers-2018/", "published_at": "2018-10-16T11:14:00+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbad3893f", "title": "Help Me Offer Professional Coaching to PyGotham Speakers", "url": "https://emptysqua.re/blog/coaching-for-pygotham-2018/", "published_at": "2018-07-19T15:17:20+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbb1ecee2", "title": "Motor 2.0", "url": "https://emptysqua.re/blog/motor-2-0/", "published_at": "2018-07-11T04:11:37+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbb95c04f", "title": "Further Reading About What To Expect When You're Expiring", "url": "https://emptysqua.re/blog/further-reading-what-to-expect-when-youre-expiring/", "published_at": "2018-02-10T13:45:10+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbc11b78b", "title": "Video: Writing Winning Proposals for Tech Conferences", "url": "https://emptysqua.re/blog/writing-winning-proposals-webinar/", "published_at": "2018-02-03T21:51:21+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbc5e3d39", "title": "Embed Interns In Your Team, Don't Assign Them Science Fair Projects", "url": "https://emptysqua.re/blog/embed-interns-in-teams/", "published_at": "2018-01-25T13:49:32+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbd5dbaac", "title": "Free Online Workshop for Conference Proposals, February 3", "url": "https://emptysqua.re/blog/global-diversity-cfp-day-workshop/", "published_at": "2018-01-02T08:40:43+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbdf2da9e", "title": "Motor 1.2.0", "url": "https://emptysqua.re/blog/motor-1-2-0/", "published_at": "2017-12-18T15:47:17+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbdf348e7", "title": "Join Me at PyTennessee 2018", "url": "https://emptysqua.re/blog/join-me-pytennessee-2018/", "published_at": "2017-12-13T15:59:54+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbe289b37", "title": "Announcing Motor 1.2 Release Candidate, With MongoDB 3.6 Support", "url": "https://emptysqua.re/blog/motor-1-2-release-candidate/", "published_at": "2017-12-13T07:01:32+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbe374ffe", "title": "Video From PloneConf 2017: Why Generosity Turns to Rage", "url": "https://emptysqua.re/blog/keynote-why-generosity-turns-to-rage/", "published_at": "2017-11-24T10:12:33+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbf0c7c16", "title": "Retrospective: Coaching for First-Time PyGotham Speakers", "url": "https://emptysqua.re/blog/recap-coaching-for-pygotham-speakers-2017/", "published_at": "2017-10-22T13:32:28+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fbfaeb17f", "title": "My conversation with Mark Weiss on the new \"Using Reflection\" podcast", "url": "https://emptysqua.re/blog/using-reflection-podcast/", "published_at": "2017-10-03T21:25:36+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc084fe1a", "title": "Help Me Offer Professional Coaching to PyGotham Speakers", "url": "https://emptysqua.re/blog/coaching-for-first-time-pygotham-speakers/", "published_at": "2017-09-11T15:25:31+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc12e4787", "title": "Vote For Your Favorite PyGotham Talks", "url": "https://emptysqua.re/blog/vote-for-pygotham-talks/", "published_at": "2017-07-24T10:57:44+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc20420af", "title": "PyGotham's Call For Proposals Ends Tuesday at Noon Eastern", "url": "https://emptysqua.re/blog/pygotham-call-for-proposals/", "published_at": "2017-07-14T18:54:36+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc23afde5", "title": "Join Me and PyLadies NYC For a PyGotham Proposal Workshop", "url": "https://emptysqua.re/blog/pyladies-meetup-pygotham-brainstorming/", "published_at": "2017-07-07T22:16:26+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc23faa0e", "title": "New Driver Features for MongoDB 3.6", "url": "https://emptysqua.re/blog/driver-features-for-mongodb-3-6/", "published_at": "2017-06-22T08:12:59+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc2b317cf", "title": "Video of My PyCon 2017 Talk, \"Grok the GIL: Fast and Thread-Safe Python\"", "url": "https://emptysqua.re/blog/pycon-video-grok-the-gil/", "published_at": "2017-05-21T09:01:53+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc34f30e9", "title": "Let's Grok the Gil at PyCon, Friday", "url": "https://emptysqua.re/blog/lets-grok-the-gil-at-pycon/", "published_at": "2017-05-18T13:14:54+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc4183580", "title": "Join me for NYC Python Meetup's PyCon Warmup Sessions", "url": "https://emptysqua.re/blog/join-me-nyc-python-pycon-warmups-2017/", "published_at": "2017-05-04T08:39:03+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc4c7c3f6", "title": "Grok the GIL: Write Fast and Thread-Safe Python", "url": "https://emptysqua.re/blog/grok-the-gil-fast-thread-safe-python/", "published_at": "2017-04-26T11:52:37+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc5619d94", "title": "Join Me Thursday with ChiPy and Chicago PyLadies", "url": "https://emptysqua.re/blog/chipy-and-chicago-pyladies-2017/", "published_at": "2017-04-11T09:54:02+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc5e8efdd", "title": "Monitoring MongoDB Driver Events In Motor", "url": "https://emptysqua.re/blog/motor-monitoring/", "published_at": "2017-02-04T15:13:45+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc6365c91", "title": "Python Async Coroutines: A Video Walkthrough", "url": "https://emptysqua.re/blog/video-walkthrough-web-crawler-with-coroutines/", "published_at": "2017-01-16T18:19:42+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc736205b", "title": "Two Dramatic Performances About getaddrinfo", "url": "https://emptysqua.re/blog/dramatic-performances-about-getaddrinfo/", "published_at": "2017-01-04T21:25:09+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc74b471a", "title": "Making getaddrinfo Concurrent in Python On Mac OS and BSD", "url": "https://emptysqua.re/blog/getaddrinfo-cpython-mac-and-bsd/", "published_at": "2016-12-05T11:50:25+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc7c792e1", "title": "Announcing Motor 1.1 For MongoDB 3.4", "url": "https://emptysqua.re/blog/motor-1-1/", "published_at": "2016-11-29T22:58:25+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc825c71f", "title": "The Saga of Concurrent DNS: My Article in the MongoDB Engineering Journal", "url": "https://emptysqua.re/blog/mongodb-engineering-journal-getaddrinfo-article/", "published_at": "2016-11-17T12:15:26+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc8bb02c7", "title": "Announcing Motor 1.0", "url": "https://emptysqua.re/blog/motor-1-0/", "published_at": "2016-11-02T18:23:39+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc93f039a", "title": "Announcing Motor 0.7", "url": "https://emptysqua.re/blog/motor-0-7/", "published_at": "2016-10-26T07:16:27+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fc9fa01c1", "title": "Motor 0.7 Beta With Pymongo 2.9 And A Threaded Core", "url": "https://emptysqua.re/blog/motor-0-7-beta/", "published_at": "2016-10-03T08:28:36+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fca38b375", "title": "Talk Python to Me: \"Write an Excellent Programming Blog\"", "url": "https://emptysqua.re/blog/talk-python-episode-on-writing/", "published_at": "2016-07-26T20:50:50+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcb15724e", "title": "\"500 Lines or Less\" Published Today", "url": "https://emptysqua.re/blog/architecture-open-source-applications-500-lines-published/", "published_at": "2016-07-12T15:32:56+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcc00ecbe", "title": "72% Of The People I Follow On Twitter Are Men", "url": "https://emptysqua.re/blog/gender-of-twitter-users-i-follow/", "published_at": "2016-06-23T22:44:47+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fccb67ac2", "title": "\"Write An Excellent Programming Blog\" at PyCon 2016", "url": "https://emptysqua.re/blog/write-an-excellent-blog-pycon-2016/", "published_at": "2016-06-02T08:30:33+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcccd4086", "title": "Say Useful Things To An Audience That's Listening: 6 Tips For Delivering A PyCon Talk", "url": "https://emptysqua.re/blog/how-i-deliver-a-conference-talk/", "published_at": "2016-05-29T08:34:31+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcd7b1ca6", "title": "Captioning Myself And 6 Other Ways I'll Prepare In The 24 Hours Before I Speak At Pycon", "url": "https://emptysqua.re/blog/how-i-prepare-24-hours-before-a-talk/", "published_at": "2016-05-26T13:34:15+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcd917e74", "title": "Please! Vote For Me At Open Source Bridge", "url": "https://emptysqua.re/blog/vote-for-me-at-open-source-bridge-2016/", "published_at": "2016-04-26T22:07:56+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fce7e2f11", "title": "Code Podcast: Event Loop & Coroutines", "url": "https://emptysqua.re/blog/code-podcast/", "published_at": "2016-04-14T21:59:02+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fceb8c2f0", "title": "My First Two Articles For The PSF", "url": "https://emptysqua.re/blog/two-articles-for-psf/", "published_at": "2016-04-05T16:24:24+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcf86ca9a", "title": "How To Play Foul With getaddrinfo()", "url": "https://emptysqua.re/blog/asyncio-getaddrinfo-short-circuit/", "published_at": "2016-03-13T22:28:40+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fcfc3c875", "title": "Announcing Motor 0.6", "url": "https://emptysqua.re/blog/motor-0-6-released/", "published_at": "2016-03-06T16:41:34+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd00379f4", "title": "Cat-Herd's Crook published in the MongoDB Engineering Journal", "url": "https://emptysqua.re/blog/cat-herds-crook/", "published_at": "2016-03-03T11:27:59+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd05317e8", "title": "Performance, Persuasion, Structure: What A Speaking Coach Did For My PyCon Talk", "url": "https://emptysqua.re/blog/how-i-rehearse-a-conference-talk/", "published_at": "2016-02-28T23:31:00+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd080a67f", "title": "Announcing WinKerberos", "url": "https://emptysqua.re/blog/announcing-winkerberos/", "published_at": "2016-02-26T04:46:29+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd0d16a65", "title": "Do Your Slides At The Last Minute: 8 Steps To Writing Your PyCon Talk", "url": "https://emptysqua.re/blog/how-i-write-a-conference-talk/", "published_at": "2016-02-10T12:23:37+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd1cd64fb", "title": "getaddrinfo on Mac OS X", "url": "https://emptysqua.re/blog/getaddrinfo-on-macosx/", "published_at": "2016-02-01T05:31:29+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd27b54a4", "title": "How To Hobble Your Python Web-Scraper With getaddrinfo()", "url": "https://emptysqua.re/blog/mac-python-getaddrinfo-queueing/", "published_at": "2016-01-31T22:54:39+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd36a19f4", "title": "Video of My Coroutines Live-Coding Demonstration, at SCALE14x", "url": "https://emptysqua.re/blog/scale14x-coroutines-talk/", "published_at": "2016-01-25T15:41:14+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd3ccc16c", "title": "SCALE14x", "url": "https://emptysqua.re/blog/scale14x/", "published_at": "2016-01-20T16:24:36+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd4bc4166", "title": "Experiences Migrating to Lektor", "url": "https://emptysqua.re/blog/experience-migrating-to-lektor/", "published_at": "2016-01-16T10:04:13+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd4c1e8d2", "title": "This Site Is Built With Lektor", "url": "https://emptysqua.re/blog/this-site-is-built-with-lektor/", "published_at": "2016-01-10T13:48:20+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd4e6ac4e", "title": "How To Deadlock Your Python With getaddrinfo()", "url": "https://emptysqua.re/blog/getaddrinfo-deadlock/", "published_at": "2015-12-21T09:23:30+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd5d8e0e5", "title": "Announcing PyMongo 3.2", "url": "https://emptysqua.re/blog/announcing-pymongo-3-2/", "published_at": "2015-12-07T21:24:46+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd60d316c", "title": "Black Pipe Testing: In Summary", "url": "https://emptysqua.re/blog/black-pipe-testing-in-summary/", "published_at": "2015-12-01T08:44:56+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd654cb14", "title": "Announcing Motor 0.5 with asyncio, Python 3.5, and \"async\" / \"await\"", "url": "https://emptysqua.re/blog/motor-0-5-asyncio-async-await-keywords/", "published_at": "2015-11-30T09:31:39+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd74cd558", "title": "Tech Talks Are Campfires: Jesse's Three Reasons You Should Speak At PyCon", "url": "https://emptysqua.re/blog/tech-talks-are-campfires-jesses-three-reasons-you-should-speak-at-pycon/", "published_at": "2015-11-15T22:16:45+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd7bc7300", "title": "Motor 0.5 Beta: asyncio, async and await, simple aggregation", "url": "https://emptysqua.re/blog/motor-0-5-beta-asyncio-async-await/", "published_at": "2015-11-10T23:52:06+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd7d63af0", "title": "This Blog Runs MongoDB 3.2 rc2", "url": "https://emptysqua.re/blog/this-blog-runs-mongodb-3-2-rc2/", "published_at": "2015-11-08T22:11:02+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd8b462fb", "title": "Test MongoDB Failure Scenarios With MockupDB", "url": "https://emptysqua.re/blog/test-mongodb-failures-mockupdb/", "published_at": "2015-11-04T09:46:01+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fd95045b8", "title": "PyMongo 3.1 Works Around A Funny Performance Flaw In Python 2", "url": "https://emptysqua.re/blog/announcing-pymongo-3-1-python-condition-variable/", "published_at": "2015-11-02T18:14:46+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fda35ada2", "title": "Black Pipe Testing A Connected Application In C", "url": "https://emptysqua.re/blog/libmongoc-black-pipe-testing-mock-server/", "published_at": "2015-10-26T23:20:08+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdae9df8d", "title": "MockupDB: Testing The MongoDB C Driver With Python", "url": "https://emptysqua.re/blog/mockupdb-test-libmongoc-mongodb-c-driver-python/", "published_at": "2015-10-18T23:06:05+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdb02e8e8", "title": "Survey: How Do You Use Python With MongoDB?", "url": "https://emptysqua.re/blog/survey-how-do-you-use-python-with-mongodb/", "published_at": "2015-10-16T13:55:58+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdbd8b13f", "title": "Testing PyMongo As A Black Pipe", "url": "https://emptysqua.re/blog/black-pipe-testing-pymongo/", "published_at": "2015-10-11T18:23:19+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdc94188b", "title": "\"How Do Python Coroutines Work?\" Live-Coding Video From Open Source Bridge 2015", "url": "https://emptysqua.re/blog/how-do-python-coroutines-work-live-coding-video-from-open-source-bridge-2015/", "published_at": "2015-10-06T23:23:58+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdcc51cce", "title": "Announcing PyMongo 2.9", "url": "https://emptysqua.re/blog/announcing-pymongo-2-9/", "published_at": "2015-10-06T12:11:44+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdd90fa62", "title": "Black Pipe Testing: Preface", "url": "https://emptysqua.re/blog/black-pipe-testing/", "published_at": "2015-10-06T09:02:18+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fde7b3b0e", "title": "\"March To Triumph As A Mentor\": Video", "url": "https://emptysqua.re/blog/march-to-triumph-as-a-mentor-video/", "published_at": "2015-10-05T12:00:27+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdeff551c", "title": "Don't Submit A Talk About Your Great Hack: Jesse's Seven Tips To Get Into PyCon", "url": "https://emptysqua.re/blog/seven-tips-for-pycon/", "published_at": "2015-09-28T08:22:59+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fdf93b67d", "title": "\"Dodge Disaster And March To Triumph As A Mentor\", at Software-as-Craft Philadelphia", "url": "https://emptysqua.re/blog/march-to-triumph-as-a-mentor-at-software-as-craft-philadelphia/", "published_at": "2015-09-26T22:51:26+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe028cf28", "title": "Review of \"Write Great Code, Volumes 1 and 2\"", "url": "https://emptysqua.re/blog/review-of-write-great-code/", "published_at": "2015-09-21T19:35:51+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe0ec8070", "title": "Book Chapter: \"A Web Crawler With asyncio Coroutines\"", "url": "https://emptysqua.re/blog/500-lines-web-crawler-asyncio-coroutines/", "published_at": "2015-09-15T10:31:41+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe1820ecb", "title": "Toro 1.0, the Final Release", "url": "https://emptysqua.re/blog/toro-1-final-release/", "published_at": "2015-09-01T12:11:13+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe1f61bf2", "title": "I Live-Coded an Async Coroutine Framework in 32.5 Minutes", "url": "https://emptysqua.re/blog/i-live-coded-an-async-coroutine-framework-in-32-5-minutes/", "published_at": "2015-08-18T12:00:20+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe2394d54", "title": "PyGotham 2015", "url": "https://emptysqua.re/blog/pygotham-2015/", "published_at": "2015-08-14T11:12:54+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe254bb35", "title": "Update on Motor and asyncio", "url": "https://emptysqua.re/blog/motor-and-asyncio-update/", "published_at": "2015-08-05T09:54:52+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe2749e96", "title": "Announcing PyMongo 3.0.3", "url": "https://emptysqua.re/blog/announcing-pymongo-3-0-3/", "published_at": "2015-07-01T10:06:58+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe2d0571c", "title": "Tornado Locks And Queues (The End Of Toro)", "url": "https://emptysqua.re/blog/tornado-locks-and-queues/", "published_at": "2015-05-28T11:46:28+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe382f161", "title": "Server Discovery And Monitoring In PyMongo, Perl, And C", "url": "https://emptysqua.re/blog/server-discovery-and-monitoring-in-pymongo-perl-and-c/", "published_at": "2015-05-19T23:09:35+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe3e3b163", "title": "Announcing PyMongo 3.0.2", "url": "https://emptysqua.re/blog/announcing-pymongo-3-0-2/", "published_at": "2015-05-12T19:04:36+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe40ada7e", "title": "Announcing PyMongo 2.8.1", "url": "https://emptysqua.re/blog/announcing-pymongo-2-8-1/", "published_at": "2015-05-11T21:18:35+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe46cf606", "title": "Download Stats By Python Version: PyMongo, Motor, Tornado", "url": "https://emptysqua.re/blog/download-stats-by-python-version-pymongo-motor-tornado/", "published_at": "2015-05-06T18:22:59+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe4b09f1b", "title": "Review of \"Autotools: A Practitioner's Guide\"", "url": "https://emptysqua.re/blog/review-of-autotools-a-practitioners-guide/", "published_at": "2015-05-04T00:07:48+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe4de82cc", "title": "Samantha Ritter And Me At Open Source Bridge 2015", "url": "https://emptysqua.re/blog/speaking-at-open-source-bridge-2015/", "published_at": "2015-04-24T13:01:39+00:00" }, { "id": "01a0821b-be93-72a7-b884-210fe5288517", "title": "Announcing PyMongo 3.0.1", "url": "https://emptysqua.re/blog/announcing-pymongo-3-0-1/", "published_at": "2015-04-21T17:10:54+00:00" } ] posts Claim your blog
Back to A. Jesse Jiryu Davis
Blog · corpus.blog/blogs/emptysqua.re/posts

A. Jesse Jiryu Davis

emptysqua.re

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015