41554 blogs · [ { "id": "01a0878a-0bcc-7323-aae9-85186b2b11c2", "title": "Django View Decorator", "url": "https://jake-windle.gitlab.io/post/django-view-decorator/", "published_at": "2025-09-24T18:17:58+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186b8d9d8b", "title": "TID: MCP Auth Middleware and Single-Tenant Planning", "url": "https://jake-windle.gitlab.io/post/nest-js-and-planning-single-tenant/", "published_at": "2025-09-15T18:58:33+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186c7c018e", "title": "This Upcoming Week: 9/15", "url": "https://jake-windle.gitlab.io/post/this-upcoming-week/", "published_at": "2025-09-15T00:53:19+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186d6a2fb3", "title": "Untitled", "url": "https://jake-windle.gitlab.io/post/untitled/", "published_at": "2025-09-14T20:13:11+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186de679eb", "title": "Thoughts on Burnout", "url": "https://jake-windle.gitlab.io/post/thoughts-on-burnout/", "published_at": "2025-09-14T19:43:43+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186e756251", "title": "Going to Grad School", "url": "https://jake-windle.gitlab.io/post/going-to-grad-school/", "published_at": "2024-12-22T10:47:28+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186e8275a1", "title": "Dystopia Today: Let AI Manage Your Dev Twitter Account", "url": "https://jake-windle.gitlab.io/post/llm-social-bot/", "published_at": "2024-10-26T23:32:07+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186ed1cb32", "title": "Math for Data Science Chapter 5 Linear Regression", "url": "https://jake-windle.gitlab.io/post/math-for-data-science-chapter-5-linear-regression/", "published_at": "2024-05-30T11:35:34+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85186f6fa308", "title": "Math for Data Science: Chapter 4 Eigenvectors and Eigenvalues", "url": "https://jake-windle.gitlab.io/post/math-for-data-science-chapter-4-eigenvectors/", "published_at": "2024-05-30T11:00:55+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851870577e20", "title": "Math for Data Science: Chapter 4 Linear Algebra", "url": "https://jake-windle.gitlab.io/post/linear-algebra-math-for-data-science/", "published_at": "2024-05-29T10:41:28+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518705b833a", "title": "Sniff AI Test Creation: Adding Test Models", "url": "https://jake-windle.gitlab.io/post/devlog-adding-test-models/", "published_at": "2024-05-25T11:53:50+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518715a9c2d", "title": "Sniff AI Test Creation: Creating the Admin Layout", "url": "https://jake-windle.gitlab.io/post/devlog-admin-layout/", "published_at": "2024-05-25T02:13:22+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518718cc29d", "title": "Sniff AI Test Creation: Testing Login Flow", "url": "https://jake-windle.gitlab.io/post/devlog-testing-login-flow/", "published_at": "2024-05-21T19:13:05+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187252de87", "title": "Sniff AI Test Creation: Admin Area Scoped Access", "url": "https://jake-windle.gitlab.io/post/devlog-fixing-login-redirect-and-admin-scope/", "published_at": "2024-05-21T01:01:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187332ff07", "title": "Sniff AI Test Creation: Redirect to Login", "url": "https://jake-windle.gitlab.io/post/devlog-redirect-on-login/", "published_at": "2024-05-20T01:34:01+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187382a7ad", "title": "Sniff AI Test Creation: User Models", "url": "https://jake-windle.gitlab.io/post/devlog-adding-test-creation-part-1/", "published_at": "2024-05-19T17:28:23+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187401d84c", "title": "TIL - Computer Algebra Systems", "url": "https://jake-windle.gitlab.io/post/til-symbolics/", "published_at": "2024-04-24T11:46:22+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518740e0dc3", "title": "Blazor WASM: Setting up Firebase Auth", "url": "https://jake-windle.gitlab.io/post/blazor-wasm-firebase-auth/", "published_at": "2023-11-05T11:55:32+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851874365748", "title": "Observable Pattern: C#/JS Interop", "url": "https://jake-windle.gitlab.io/post/observable-blazor-js/", "published_at": "2023-10-30T19:35:49+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187483368e", "title": "Developing With SignalR", "url": "https://jake-windle.gitlab.io/post/developing-with-signalr/", "published_at": "2023-09-11T18:13:10+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851874e8a1e8", "title": "The Project Continues: Using Blazor", "url": "https://jake-windle.gitlab.io/post/using-blazor/", "published_at": "2023-08-21T01:10:53+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518759b15af", "title": "Cancellable ThreadPools and Work", "url": "https://jake-windle.gitlab.io/post/cancellable-work/", "published_at": "2023-08-18T01:00:42+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187644262c", "title": "WebsocketSharp Deep Dive", "url": "https://jake-windle.gitlab.io/post/websocket-sharp-deep-dive/", "published_at": "2023-08-17T00:57:53+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518766b93d5", "title": "Code Reading List", "url": "https://jake-windle.gitlab.io/post/code-reading-list/", "published_at": "2023-08-16T02:39:45+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851876dcb46e", "title": "Websocket Server C#/.NET: Part 1", "url": "https://jake-windle.gitlab.io/post/websocket-server-c-sharp/", "published_at": "2023-08-16T01:50:24+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518771d8f69", "title": "Junit5: Parameterized Testing with MethodSource", "url": "https://jake-windle.gitlab.io/post/junit5-parameterized-testing/", "published_at": "2023-08-02T16:29:21+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-8518774299b3", "title": "TIL - Structured Clone", "url": "https://jake-windle.gitlab.io/post/til-structured-clone/", "published_at": "2023-07-31T12:36:18+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187747ce4c", "title": "Update on Me", "url": "https://jake-windle.gitlab.io/post/update-on-me/", "published_at": "2023-07-28T00:38:11+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851877deecf5", "title": "Chore Feed Project Plan", "url": "https://jake-windle.gitlab.io/post/chore-feed-project-plan/", "published_at": "2023-06-25T01:30:32+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851878db7c15", "title": "Flutter - Dependency Hell", "url": "https://jake-windle.gitlab.io/post/flutter-dependency-hell/", "published_at": "2023-06-02T01:44:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-851879a85d3d", "title": "Using UseEffect with Firebase Realtime Database", "url": "https://jake-windle.gitlab.io/post/use-effect-firebase-realtime-database/", "published_at": "2023-06-01T12:16:42+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187a6ad97f", "title": "Analyzing My Ultramarathon Training", "url": "https://jake-windle.gitlab.io/post/julia-running-data-analysis/", "published_at": "2023-05-02T16:46:28+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187ad801fc", "title": "Julia UltraRunning Analysis", "url": "https://jake-windle.gitlab.io/post/running-analysis/", "published_at": "2023-05-02T15:50:47+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187b13e91f", "title": "Some Julia Tidbits from FIT.jl: Enums, and my FIT.jl progress update.", "url": "https://jake-windle.gitlab.io/post/currently/", "published_at": "2023-04-28T00:00:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187b9eb6f5", "title": "Hacky way to get bit at index: Julia", "url": "https://jake-windle.gitlab.io/post/fit-jl-update/", "published_at": "2023-04-24T00:00:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187baedfb2", "title": "What's Next: FIT.jl and Running Data Analysis", "url": "https://jake-windle.gitlab.io/post/whats-next/", "published_at": "2023-04-20T00:00:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187c11c9bc", "title": "DAO + Riverpod, Flutter Repository Pattern", "url": "https://jake-windle.gitlab.io/post/dart-dao/", "published_at": "2023-03-20T00:00:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187ce855df", "title": "On Balance in Life", "url": "https://jake-windle.gitlab.io/post/on-balance/", "published_at": "2023-03-18T00:00:00+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187d92f1fb", "title": "Chain of Responsibility - C++", "url": "https://jake-windle.gitlab.io/post/chain-of-responsibility-cpp/", "published_at": "2022-12-13T10:26:50+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187e592140", "title": "Firebase: Infinite Scroll Widget in Flutter", "url": "https://jake-windle.gitlab.io/post/infinite-pagination-widget-flutter/", "published_at": "2022-12-06T19:39:31+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187eb53dd8", "title": "Advent of Code Day 1", "url": "https://jake-windle.gitlab.io/post/advent-of-code-day-1/", "published_at": "2022-12-01T16:20:28+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187ed64501", "title": "Software Complexity", "url": "https://jake-windle.gitlab.io/post/software-complexity/", "published_at": "2022-12-01T11:51:42+00:00" }, { "id": "01a0878a-0bcc-7323-aae9-85187fcc13c9", "title": "std::lock_guard in C++", "url": "https://jake-windle.gitlab.io/post/std-lock-guard/", "published_at": "2022-11-28T19:16:26+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b26eb67175", "title": "Re-Frame + Reagent CLJS Router Pattern", "url": "https://jake-windle.gitlab.io/post/router-pattern-cljs-re-frame/", "published_at": "2022-11-27T01:14:15+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b26ec121bb", "title": "Using Supabase Experience", "url": "https://jake-windle.gitlab.io/post/using-supabase-experience/", "published_at": "2022-07-20T15:44:24+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b26f520340", "title": "Where I Vow to Improve", "url": "https://jake-windle.gitlab.io/post/strictly-emacs/", "published_at": "2022-07-18T15:46:53+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b26f5c2bc3", "title": "Long-Running Isolates in Flutter", "url": "https://jake-windle.gitlab.io/post/long-running-isolate/", "published_at": "2022-07-15T12:30:42+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b26ffca6e9", "title": "Cracking Coding Interview", "url": "https://jake-windle.gitlab.io/post/cracking-coding-interview/", "published_at": "2022-07-07T17:13:44+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b270604692", "title": "End of Coaching", "url": "https://jake-windle.gitlab.io/post/end-of-coaching/", "published_at": "2022-04-26T21:24:20+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27070f8cc", "title": "Fatherhood", "url": "https://jake-windle.gitlab.io/post/fatherhood/", "published_at": "2021-09-05T10:51:21+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b271179dbd", "title": "Self Hosting Gitea", "url": "https://jake-windle.gitlab.io/post/self-hosting-gitea/", "published_at": "2020-07-25T15:10:23+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27147cbae", "title": "Why Flutter: What I've Been Working On", "url": "https://jake-windle.gitlab.io/post/why-flutter/", "published_at": "2020-07-18T12:33:00+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b271ec0e8d", "title": "Quarantine Thoughts", "url": "https://jake-windle.gitlab.io/post/quaranine-thoughts/", "published_at": "2020-04-19T20:44:17+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2725081af", "title": "Ally Invest API Wrapper", "url": "https://jake-windle.gitlab.io/post/ally-invest-api-wrapper/", "published_at": "2020-01-22T00:17:14+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2727bfe78", "title": "HB Postmortem, and Next Steps", "url": "https://jake-windle.gitlab.io/post/hb-postmortem-next-steps/", "published_at": "2020-01-18T12:50:14+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2735242cf", "title": "Unix Signals and Periodic Behavior", "url": "https://jake-windle.gitlab.io/post/unix-signal-wakeup-loop/", "published_at": "2020-01-14T14:07:22+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b273e36693", "title": "HostBlocker: Current functionality and Daemonization", "url": "https://jake-windle.gitlab.io/post/hb-a-current-state/", "published_at": "2020-01-09T14:51:15+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2749b2e6b", "title": "My 2020 Roadmap", "url": "https://jake-windle.gitlab.io/post/2020-roadmap/", "published_at": "2020-01-09T12:02:39+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b275149278", "title": "Evolutionary Strategy Meal Planning", "url": "https://jake-windle.gitlab.io/post/evolutionary-strategy-meal-planning/", "published_at": "2019-09-24T19:23:59+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2751fda2e", "title": "App Release", "url": "https://jake-windle.gitlab.io/post/app-release/", "published_at": "2019-07-07T14:45:31+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b275a9108a", "title": "Adding probability to testing: Golang", "url": "https://jake-windle.gitlab.io/post/probability-in-testing/", "published_at": "2019-05-23T21:17:17+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b276881124", "title": "Shared Memory: The Basics with shmget", "url": "https://jake-windle.gitlab.io/post/shared-memory/", "published_at": "2019-05-18T11:44:24+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2773d3e1a", "title": "Books I've Read: 2019", "url": "https://jake-windle.gitlab.io/post/books-ive-read/", "published_at": "2019-03-01T14:42:56+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27740c638", "title": "HTTP Proxies: AKA School Firewall Evaders", "url": "https://jake-windle.gitlab.io/post/node-http-proxy/", "published_at": "2019-02-17T17:57:51+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b2780d2bbe", "title": "My First Open Source Contribution", "url": "https://jake-windle.gitlab.io/post/first-open-source-contribution/", "published_at": "2018-03-02T20:32:03+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b278b106a0", "title": "Learning Go: Pointer Receivers", "url": "https://jake-windle.gitlab.io/post/learning-go-pointer-receivers/", "published_at": "2017-12-29T15:46:08+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b278d28cb6", "title": "Lessons Learned: Managing a Team", "url": "https://jake-windle.gitlab.io/post/managing-a-team/", "published_at": "2017-12-26T20:42:56+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b279b65ceb", "title": "Getting Into Day Trading: Analyzing The Moving Average", "url": "https://jake-windle.gitlab.io/post/day-trading-generating-training-data/", "published_at": "2017-11-04T18:11:54+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27a0ffc7f", "title": "Portfolio", "url": "https://jake-windle.gitlab.io/portfolio/", "published_at": "2017-11-02T18:14:08+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27a2598aa", "title": "Getting Into Day Trading: Simple Moving Average", "url": "https://jake-windle.gitlab.io/post/day-trading-simple-moving-average/", "published_at": "2017-10-28T22:13:45+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27b07887f", "title": "Quick Tips: Javascript Password Verification", "url": "https://jake-windle.gitlab.io/post/quick-tips-javascript-password-verify/", "published_at": "2017-10-28T14:30:49+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27b3a0a5f", "title": "Contact", "url": "https://jake-windle.gitlab.io/contact/", "published_at": "2017-10-26T03:02:16+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27bf84fe1", "title": "About", "url": "https://jake-windle.gitlab.io/about/", "published_at": "2017-10-25T00:33:51+00:00" }, { "id": "01a0878a-0bcd-73e0-8b3e-52b27c3a86d4", "title": "Migrating to Hugo", "url": "https://jake-windle.gitlab.io/post/migrating-to-hugo/", "published_at": "2017-10-25T00:30:43+00:00" } ] posts Claim your blog
Back to jake-windle.gitlab.io
Blog · corpus.blog/blogs/jake-windle.gitlab.io/posts

jake-windle.gitlab.io

jake-windle.gitlab.io

2025

2024

2023

2022

2021

2020

2019

2018

2017