41554 blogs · [ { "id": "01a087a2-2565-7009-bab0-e63a9439a89d", "title": "The Night Shift", "url": "https://mattjegan.com/night-shift/", "published_at": "2026-05-22T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a950d41e9", "title": "Birding Japan", "url": "https://mattjegan.com/birding-japan-2026/", "published_at": "2026-04-04T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a95665e0b", "title": "Your Agents Need You to Be a Product Engineer", "url": "https://mattjegan.com/product-engineer/", "published_at": "2026-03-23T00:00:00+00:00" }, { "id": "01a0d866-80dd-7190-9e8d-707996b0ebae", "title": "AI Concepts — Matthew Egan", "url": "https://mattjegan.com/references/ai-concepts/", "published_at": "2026-03-20T00:00:00+00:00" }, { "id": "01a0d866-80dd-7190-9e8d-7079961b084b", "title": "Bookmarks — Matthew Egan", "url": "https://mattjegan.com/references/bookmarks/", "published_at": "2026-03-19T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a964c9d57", "title": "Racing against time at DiviPay", "url": "https://mattjegan.com/Racing-against-time-at-divipay/", "published_at": "2020-11-18T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a970c8072", "title": "Competitive Programming Tips", "url": "https://mattjegan.com/progcomp-tips/", "published_at": "2019-06-06T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a97648ff8", "title": "Load testing at a glance", "url": "https://mattjegan.com/load-testing-at-a-glance/", "published_at": "2019-05-25T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a97fd70d2", "title": "Python packages that you may not have heard of", "url": "https://mattjegan.com/Python-packages-you-may-not-have-heard-of/", "published_at": "2019-02-02T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a9892c448", "title": "Describing Descriptors - A follow up", "url": "https://mattjegan.com/Describing-Descriptors-A-Follow-Up/", "published_at": "2018-09-03T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a98f5f6a4", "title": "Describing Descriptors", "url": "https://mattjegan.com/Describing-Descriptors/", "published_at": "2018-08-25T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a98faae7a", "title": "Getting started with Python testing", "url": "https://mattjegan.com/Getting-started-with-Python-testing/", "published_at": "2018-04-22T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a98feaed2", "title": "Explained Simply - P vs NP", "url": "https://mattjegan.com/Explained-Simply-P-vs-NP/", "published_at": "2018-04-02T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a99bc2cda", "title": "Chasing Pythons Recursion Limit", "url": "https://mattjegan.com/Chasing-Pythons-Recursion-Limit/", "published_at": "2017-08-29T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a99d8f57c", "title": "On Finishing University", "url": "https://mattjegan.com/On-Finishing-University/", "published_at": "2017-07-09T00:00:00+00:00" }, { "id": "01a087a2-2565-7009-bab0-e63a9a7a5819", "title": "The Sydney Train Carriage Problem", "url": "https://mattjegan.com/The-Sydney-Train-Carriage-Problem/", "published_at": "2017-02-02T00:00:00+00:00" }, { "id": "01a0d866-80dd-7190-9e8d-70798f13cae2", "title": null, "url": "https://mattjegan.com/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-70798f9d1319", "title": null, "url": "https://mattjegan.com/about/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-70798fe542d5", "title": null, "url": "https://mattjegan.com/tags/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-7079902d45b1", "title": null, "url": "https://mattjegan.com/tags/ai/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707990c238d0", "title": null, "url": "https://mattjegan.com/tags/birding/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707990ed0064", "title": null, "url": "https://mattjegan.com/tags/career/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-7079912fe149", "title": null, "url": "https://mattjegan.com/tags/competitive-programming/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707991b0ac20", "title": null, "url": "https://mattjegan.com/tags/computer-science/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707991ee4ed7", "title": null, "url": "https://mattjegan.com/tags/mathematics/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707992d16807", "title": null, "url": "https://mattjegan.com/tags/performance/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707993c3ea9d", "title": null, "url": "https://mattjegan.com/tags/personal/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-7079946ab4a2", "title": null, "url": "https://mattjegan.com/tags/python/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-707994f46e3d", "title": null, "url": "https://mattjegan.com/tags/testing/", "published_at": null }, { "id": "01a0d866-80dd-7190-9e8d-7079951ed6a3", "title": null, "url": "https://mattjegan.com/tags/tutorial/", "published_at": null } ] posts Claim your blog
Back to mattjegan.com
Blog · corpus.blog/blogs/mattjegan.com/posts

mattjegan.com

mattjegan.com

2026

2020

2019

2018

2017

Undated