54,302 blogs · [ { "id": "01a0878e-6d35-7071-9cd1-6c307df6032d", "title": "Solutions to the heat equation converge to the similarity solution", "url": "https://jmft.dev/heat-equation-similarity-solution-convergence.html", "published_at": "2026-05-29T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c307e937c4e", "title": "Why the tax year starts 6 April: Further calendar pains", "url": "https://jmft.dev/new-year-in-march.html", "published_at": "2026-04-20T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c307f7df440", "title": "The price of dot", "url": "https://jmft.dev/python-price-of-dot.html", "published_at": "2026-04-14T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c307ff50c5e", "title": "How to think about Python decorators (or, everything you never wanted to know about decorators but have been forced to find out anyway)", "url": "https://jmft.dev/python-decorators-roles.html", "published_at": "2026-04-07T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308027520d", "title": "Making a simple image slideshow with moviepy", "url": "https://jmft.dev/image-slideshow-with-music.html", "published_at": "2026-03-31T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308047b506", "title": "Making approximations in fluid mechanics: The weir problem", "url": "https://jmft.dev/fluid-dynamics-approximations-weir.html", "published_at": "2026-03-29T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308132328e", "title": "Part II Mathematical Biology resources", "url": "https://jmft.dev/mathbio-resources.html", "published_at": "2026-03-12T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3081a253b7", "title": "Sketch proof of the Arnold-Liouville theorem", "url": "https://jmft.dev/sketch-arnold-liouville.html", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308275899c", "title": "Part IB Fluid Dynamics resources", "url": "https://jmft.dev/fluid-dynamics-resources.html", "published_at": "2026-02-06T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308301fd86", "title": "A functional Fizzbuzz implementation", "url": "https://jmft.dev/functional-fizzbuzz.html", "published_at": "2026-02-05T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3083b7cae9", "title": "Putting Jupyter notebooks under source control with Quarto", "url": "https://jmft.dev/quarto-workflow.html", "published_at": "2026-01-13T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308403a411", "title": "Notes on the method of characteristics (short version)", "url": "https://jmft.dev/method-of-characteristics-brief.html", "published_at": "2026-01-04T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3084a4954c", "title": "The semitone filter: Adding a pipe organ to The Magic Flute Overture", "url": "https://jmft.dev/semitone-filter.html", "published_at": "2026-01-03T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3084a570f4", "title": "Manipulating PDF files in Python, and fun with itertools", "url": "https://jmft.dev/manipulating-pdf-files.html", "published_at": "2025-12-23T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3084ee4fa8", "title": "Part IB Quantum Mechanics resources", "url": "https://jmft.dev/qm-resources.html", "published_at": "2025-11-07T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3085a64571", "title": "But what does $\\delta F = 0$ mean?", "url": "https://jmft.dev/calculus-of-variations-formalism.html", "published_at": "2025-10-15T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3086a03c6c", "title": "Quantum mechanics revision guide", "url": "https://jmft.dev/qm-cheat-sheet.html", "published_at": "2025-10-12T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3086f399eb", "title": "Storing times, and precision of float64", "url": "https://jmft.dev/time-precision-float64.html", "published_at": "2025-09-25T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3087b0a150", "title": "Pseudovectors and transformations", "url": "https://jmft.dev/pseudovectors-reflection.html", "published_at": "2025-09-24T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3088812e5c", "title": "Naming is power", "url": "https://jmft.dev/naming-power.html", "published_at": "2025-09-20T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3088bfe03b", "title": "Why learners find classes and objects confusing", "url": "https://jmft.dev/why-oop-is-confusing.html", "published_at": "2025-08-04T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c30892634b2", "title": "Date, time and timezones", "url": "https://jmft.dev/date-time-and-timezones.html", "published_at": "2025-04-26T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3089ce9300", "title": "Does vibecoding make coding more accessible?", "url": "https://jmft.dev/vibecoding-accessible.html", "published_at": "2025-04-26T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308ac4c367", "title": "Category theoretic ideas in data engineering systems design", "url": "https://jmft.dev/category-theory-and-data-engineering.html", "published_at": "2024-09-21T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308af2717e", "title": "On regulation in software engineering", "url": "https://jmft.dev/on-regulation-in-software-engineering.html", "published_at": "2024-07-20T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308bc1fdf2", "title": "Logging in Python", "url": "https://jmft.dev/logging-in-python.html", "published_at": "2024-07-06T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308c85937e", "title": "Object creation patterns in Python: Static factory methods", "url": "https://jmft.dev/static-factory-methods-in-python.html", "published_at": "2024-05-20T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308ccd5e7e", "title": "In Praise of Visualization", "url": "https://jmft.dev/in-praise-of-visualization.html", "published_at": "2024-05-10T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308d6e441f", "title": "Communicating with the past and the future", "url": "https://jmft.dev/communicating-with-the-past-and-the-future.html", "published_at": "2024-05-09T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308e4583b0", "title": "Are vegans vegetarians? and related questions", "url": "https://jmft.dev/are-vegans-vegetarians.html", "published_at": "2024-04-27T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308ec7a999", "title": "Self-hosting a minimal website with nginx and HTTPS", "url": "https://jmft.dev/setting-up-nginx-and-https.html", "published_at": "2024-04-26T23:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308f29531c", "title": "for loops in Python are a bit weird", "url": "https://jmft.dev/for-loops-in-python-are-a-bit-weird.html", "published_at": "2024-02-11T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308f3d94a3", "title": "The uncertainty principle and spectrograms", "url": "https://jmft.dev/uncertainty-principle-and-spectrograms.html", "published_at": "2024-01-09T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c308fded3a8", "title": "The uncertainty principle is obvious to musicians", "url": "https://jmft.dev/uncertainty-principle-obvious-to-musicians.html", "published_at": "2024-01-09T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c3090169604", "title": "The Bohr model: Some history and context", "url": "https://jmft.dev/bohr-model-background.html", "published_at": "2023-12-19T00:00:00+00:00" }, { "id": "01a0878e-6d35-7071-9cd1-6c309094d7db", "title": "Historical and philosophical contexts of the calculus of variations", "url": "https://jmft.dev/calculus-of-variations-history.html", "published_at": "2023-12-19T00:00:00+00:00" } ] posts Claim your blog
Back to jmft.dev
Blog · corpus.blog/blogs/jmft.dev/posts

jmft.dev

jmft.dev

2026

2025

2024

2023