{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - John Reese","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/jreese","_microblog":{"about":"https://micro.blog/about/api","id":"1575","username":"jreese","bio":"software engineer, video game enthusiast, virtual astronaut","pronouns":"","is_following":false,"is_you":false,"following_count":2,"discover_count":0},"author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://www.gravatar.com/avatar/9c98621c87f4f1333e0dcbb5282fa65b?s=96&d=https%3A%2F%2Fmicro.blog%2Fimages%2Fblank_avatar.png"},"items":[{"id":"64899652","content_html":"<p>Talk @ North Bay Python 2025: Or Else! <a href=\"https://youtu.be/jRIkhLVGq9o\">youtu.be</a></p>","summary":"","url":"https://youtu.be/jRIkhLVGq9o","date_published":"2025-05-21T09:13:40+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2025-05-21 09:13","date_timestamp":1747818820,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"28326197","content_html":"<p>My Setup: <a href=\"https://noswap.com/setup\">noswap.com</a></p>","summary":"","url":"https://noswap.com/setup","date_published":"2023-12-24T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2023-12-24 12:00","date_timestamp":1703419200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"28326196","content_html":"<p>Meta Tech Podcast #57 - Writing and Linting Python at Scale: <a href=\"https://engineering.fb.com/2023/11/21/production-engineering/writing-linting-python-at-scale-meta/\">engineering.fb.com</a></p>","summary":"","url":"https://engineering.fb.com/2023/11/21/production-engineering/writing-linting-python-at-scale-meta/","date_published":"2023-10-30T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2023-10-30 12:00","date_timestamp":1698667200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"28326195","content_html":"<p>Fixit 2: Meta’s Next-Generation Auto-Fixing Linter: <a href=\"https://engineering.fb.com/2023/08/07/developer-tools/fixit-2-linter-meta/\">engineering.fb.com</a></p>","summary":"","url":"https://engineering.fb.com/2023/08/07/developer-tools/fixit-2-linter-meta/","date_published":"2023-08-07T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2023-08-07 12:00","date_timestamp":1691409600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"13294250","content_html":"<p>My Name is Amethyst: <a href=\"https://noswap.com/blog/my-name-is\">noswap.com</a></p>","summary":"","url":"https://noswap.com/blog/my-name-is","date_published":"2022-08-21T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2022-08-21 12:00","date_timestamp":1661083200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"12946874","content_html":"<p>Talk @ PyCon US 2022: Open Source on Easy Mode: <a href=\"https://youtu.be/lSqyKoPYtr0\">youtu.be</a></p>","summary":"","url":"https://youtu.be/lSqyKoPYtr0","date_published":"2022-05-27T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2022-05-27 12:00","date_timestamp":1653652800,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"11066380","content_html":"<p>Talk Python #304 - asyncio all the things with Omnilib: <a href=\"https://talkpython.fm/episodes/show/304/asyncio-all-the-things-with-omnilib\">talkpython.fm</a></p>","summary":"","url":"https://talkpython.fm/episodes/show/304/asyncio-all-the-things-with-omnilib","date_published":"2021-02-21T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2021-02-21 12:00","date_timestamp":1613908800,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"10998926","content_html":"<p>Talk @ North Bay Python 2019: What is a Coroutine Anyway? <a href=\"https://youtu.be/GSiZkP7cI80\">youtu.be</a></p>","summary":"","url":"https://youtu.be/GSiZkP7cI80","date_published":"2021-02-10T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2021-02-10 12:00","date_timestamp":1612958400,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"13294249","content_html":"<p>I Am a Gender Fluid Person: <a href=\"https://noswap.com/blog/coming-out\">noswap.com</a></p>","summary":"","url":"https://noswap.com/blog/coming-out","date_published":"2020-10-11T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2020-10-11 12:00","date_timestamp":1602417600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"10398115","content_html":"<p>I Am a Gender Fluid Person: <a href=\"https://jreese.sh/blog/coming-out\">jreese.sh</a></p>","summary":"","url":"https://jreese.sh/blog/coming-out","date_published":"2020-10-11T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2020-10-11 12:00","date_timestamp":1602417600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"850166","content_html":"<p>Talk @ PyCon AU 2018: Refactoring Code with the Standard Library: <a href=\"https://www.youtube.com/watch?v=0kXaLh8Fz3k\">youtube.com</a></p>","summary":"","url":"https://www.youtube.com/watch?v=0kXaLh8Fz3k","date_published":"2018-09-01T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2018-09-01 12:00","date_timestamp":1535803200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"561719","content_html":"<p>Talk @ PyCon US 2018: Thinking Outside the GIL: <a href=\"https://www.youtube.com/watch?v=0kXaLh8Fz3k\">youtube.com</a></p>","summary":"","url":"https://www.youtube.com/watch?v=0kXaLh8Fz3k","date_published":"2018-05-14T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2018-05-14 12:00","date_timestamp":1526299200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"527849","content_html":"<p>Interview: PyDev of the Week: <a href=\"https://www.blog.pythonlibrary.org/2018/04/30/pydev-of-the-week-john-reese/\">blog.pythonlibrary.org</a></p>","summary":"","url":"https://www.blog.pythonlibrary.org/2018/04/30/pydev-of-the-week-john-reese/","date_published":"2018-04-30T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2018-04-30 12:00","date_timestamp":1525089600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"13294248","content_html":"<p>Elite Dangerous: <a href=\"https://noswap.com/notes/elite-dangerous\">noswap.com</a></p>","summary":"","url":"https://noswap.com/notes/elite-dangerous","date_published":"2015-01-20T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2015-01-20 12:00","date_timestamp":1421755200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441686","content_html":"<p>Elite Dangerous: <a href=\"https://jreese.sh/notes/elite-dangerous\">jreese.sh</a></p>","summary":"","url":"https://jreese.sh/notes/elite-dangerous","date_published":"2015-01-20T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2015-01-20 12:00","date_timestamp":1421755200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"36638","content_html":"<p>Elite Dangerous: <a href=\"http://noswap.com/notes/elite-dangerous\">noswap.com</a></p>","summary":"","url":"http://noswap.com/notes/elite-dangerous","date_published":"2015-01-20T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2015-01-20 12:00","date_timestamp":1421755200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441629","content_html":"<p>Elite Dangerous: <a href=\"http://jreese.sh/notes/elite-dangerous\">jreese.sh</a></p>","summary":"","url":"http://jreese.sh/notes/elite-dangerous","date_published":"2015-01-20T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2015-01-20 12:00","date_timestamp":1421755200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"13294247","content_html":"<p>Voyager: <a href=\"https://noswap.com/articles/voyager\">noswap.com</a></p>","summary":"","url":"https://noswap.com/articles/voyager","date_published":"2013-09-12T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-09-12 12:00","date_timestamp":1378987200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441685","content_html":"<p>Voyager: <a href=\"https://jreese.sh/articles/voyager\">jreese.sh</a></p>","summary":"","url":"https://jreese.sh/articles/voyager","date_published":"2013-09-12T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-09-12 12:00","date_timestamp":1378987200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"36639","content_html":"<p>Voyager: <a href=\"http://noswap.com/articles/voyager\">noswap.com</a></p>","summary":"","url":"http://noswap.com/articles/voyager","date_published":"2013-09-12T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-09-12 12:00","date_timestamp":1378987200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441628","content_html":"<p>Voyager: <a href=\"http://jreese.sh/articles/voyager\">jreese.sh</a></p>","summary":"","url":"http://jreese.sh/articles/voyager","date_published":"2013-09-12T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-09-12 12:00","date_timestamp":1378987200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441684","content_html":"<p>Android is Better: <a href=\"http://paulstamatiou.com/android-is-better\">paulstamatiou.com</a></p>","summary":"","url":"http://paulstamatiou.com/android-is-better","date_published":"2013-08-13T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-08-13 12:00","date_timestamp":1376395200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"36640","content_html":"<p>Android is Better: <a href=\"http://paulstamatiou.com/android-is-better\">paulstamatiou.com</a></p>","summary":"","url":"http://paulstamatiou.com/android-is-better","date_published":"2013-08-13T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-08-13 12:00","date_timestamp":1376395200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441627","content_html":"<p>Android is Better: <a href=\"http://paulstamatiou.com/android-is-better\">paulstamatiou.com</a></p>","summary":"","url":"http://paulstamatiou.com/android-is-better","date_published":"2013-08-13T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-08-13 12:00","date_timestamp":1376395200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"441626","content_html":"<p>Say \"Yes\" to JavaScript: <a href=\"http://lucumr.pocoo.org/2013/7/1/say-yes-to-javascript\">lucumr.pocoo.org</a></p>","summary":"","url":"http://lucumr.pocoo.org/2013/7/1/say-yes-to-javascript","date_published":"2013-07-01T12:00:00+00:00","author":{"name":"John Reese","url":"https://noswap.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F9c98621c87f4f1333e0dcbb5282fa65b%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"jreese"}},"_microblog":{"date_relative":"2013-07-01 12:00","date_timestamp":1372680000,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}}]}