56,966 blogs · [ { "id": "01a087d9-8ca0-72ef-9e2e-ace97307ecf5", "title": "I Learned C++ Before ChatGPT", "url": "https://ryanfleck.ca/2026/i-learned-c-before-chatgpt/", "published_at": "2026-09-07T20:21:45+00:00" }, { "id": "01a087d9-8ca0-72ef-9e2e-ace973627108", "title": "Bible Study Plan by D.W. Whittle", "url": "https://ryanfleck.ca/reference/bible-study-plan/", "published_at": "2026-09-02T02:17:42+00:00" }, { "id": "01a087d9-8ca0-72ef-9e2e-ace973996daf", "title": "The Devouring of All Knowledge", "url": "https://ryanfleck.ca/2026/the-devouring-of-all-knowledge/", "published_at": "2026-07-27T22:55:25+00:00" }, { "id": "01a087d9-8ca0-72ef-9e2e-ace9746047b5", "title": "Reading My New LLMS.txt", "url": "https://ryanfleck.ca/chat-gpt/2026/reading-my-new-llmstxt/", "published_at": "2026-07-04T18:24:19+00:00" }, { "id": "01a087d9-8ca0-72ef-9e2e-ace9752518e7", "title": "Highlighting Shortcode Tests", "url": "https://ryanfleck.ca/experiments/highlights/", "published_at": "2026-06-19T08:34:37+00:00" }, { "id": "01a087d9-8ca0-72ef-9e2e-ace9760ef082", "title": "Your Data Fortress (A Debian Server)", "url": "https://ryanfleck.ca/2026/your-data-fortress/", "published_at": "2026-04-11T01:49:03+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56a6ba822", "title": "Et Tu, OpenClaw?", "url": "https://ryanfleck.ca/2026/openclaw/", "published_at": "2026-02-19T14:38:41+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56b372a4f", "title": "CalgaryHacks 2026: Great Beginnings", "url": "https://ryanfleck.ca/2026/calgaryhacks-2026-great-beginnings/", "published_at": "2026-02-17T19:06:11+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56be28f8e", "title": "Getting Started With watsonx", "url": "https://ryanfleck.ca/2026/getting-started-with-watsonx/", "published_at": "2026-02-11T02:34:15+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56cb3af09", "title": "M4 Mac Mini LLM Server", "url": "https://ryanfleck.ca/2025/m4-mac-mini-llm-server/", "published_at": "2025-12-20T17:43:07+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56d1699f8", "title": "One Year of Observer", "url": "https://ryanfleck.ca/2025/one-year-of-observer/", "published_at": "2025-12-20T15:23:05+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56d229fee", "title": "Cloudflare Turnstile With Clojure", "url": "https://ryanfleck.ca/2025/cloudflare-turnstile-with-clojure/", "published_at": "2025-06-14T16:50:07+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56dbdb961", "title": "Investigating an Email With OSINT Tools", "url": "https://ryanfleck.ca/chat-gpt/2025/investigating-an-email-with-osint-tools/", "published_at": "2025-06-12T02:16:37+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56e8b23e3", "title": "Building a Ticketing Application", "url": "https://ryanfleck.ca/chat-gpt/2025/building-a-ticketing-application/", "published_at": "2025-05-25T15:10:58+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56e9b8626", "title": "Replacing CoreNLP", "url": "https://ryanfleck.ca/chat-gpt/2025/replacing-corenlp/", "published_at": "2025-05-17T03:41:41+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56eed111c", "title": "The CoreNLP Rabbit Hole", "url": "https://ryanfleck.ca/2025/iterating-over-corenlp/", "published_at": "2025-05-16T22:50:00+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56f85cc87", "title": "Observer Devlog 2: Brainstorming", "url": "https://ryanfleck.ca/2025/observer-devlog-2/", "published_at": "2025-05-15T00:22:47+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f56ff47e34", "title": "A Data Factory Nightmare", "url": "https://ryanfleck.ca/2025/a-data-factory-nightmare/", "published_at": "2025-04-15T03:22:06+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f570f1265f", "title": "A Little Elisp for Hugo", "url": "https://ryanfleck.ca/2025/a-little-elisp-for-hugo/", "published_at": "2025-04-15T00:53:47+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f571eacd8a", "title": "Compiling Emacs 30", "url": "https://ryanfleck.ca/2025/compiling-emacs-30/", "published_at": "2025-03-31T00:38:39+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5724184c3", "title": "Observer Devlog 1", "url": "https://ryanfleck.ca/2025/observer-devlog-1/", "published_at": "2025-02-08T19:05:22+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f572dbcd6e", "title": "Custom Workout (2025)", "url": "https://ryanfleck.ca/chat-gpt/2025/workout-2025/", "published_at": "2025-02-02T19:28:55+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f573a6d681", "title": "Common Lisp Hyper Tutorial", "url": "https://ryanfleck.ca/chat-gpt/2025/common-lisp-hyper-tutorial/", "published_at": "2025-02-02T19:11:53+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5741e03ac", "title": "Keylogger a la Wolfram", "url": "https://ryanfleck.ca/chat-gpt/2025/keylogger/", "published_at": "2025-02-02T18:00:24+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f574deb585", "title": "Andrew Wommack, Heretic", "url": "https://ryanfleck.ca/2025/andrew-wommack-heretic/", "published_at": "2025-01-19T23:17:00+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f575a7f087", "title": "Rip & Tear: PostgreSQL Surgery", "url": "https://ryanfleck.ca/2024/postgres-surgery/", "published_at": "2024-12-20T20:23:01+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5765f9213", "title": "Little Elisp Workflow Enhancements", "url": "https://ryanfleck.ca/2024/little-elisp-workflow-enhancements/", "published_at": "2024-11-13T05:43:52+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57739ddef", "title": "Three Years at IBM", "url": "https://ryanfleck.ca/2024/three-years-at-ibm/", "published_at": "2024-08-27T01:00:33+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f577914323", "title": "Vim Is an Editor, Emacs Is a Way of Life", "url": "https://ryanfleck.ca/2024/vim-is-an-editor-emacs-is-a-way-of-life/", "published_at": "2024-08-26T23:47:11+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f578717b0d", "title": "Compiling Emacs 29", "url": "https://ryanfleck.ca/2024/compiling-emacs-29/", "published_at": "2024-08-26T17:46:52+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f579162edf", "title": "The Magnificence of Org", "url": "https://ryanfleck.ca/2024/the-magnificence-of-org/", "published_at": "2024-05-20T18:00:00+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f579a54053", "title": "You Can't Automate What You Don't Understand", "url": "https://ryanfleck.ca/2023/you-cant-automate-what-you-dont-understand/", "published_at": "2023-12-23T19:09:05+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57a655fc3", "title": "Custom Workout (2023)", "url": "https://ryanfleck.ca/chat-gpt/2023/workout/", "published_at": "2023-07-19T01:36:34+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57b19806d", "title": "On Autozeitgeist 1", "url": "https://ryanfleck.ca/chat-gpt/2023/on-autozeitgeist-1/", "published_at": "2023-07-06T01:00:45+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57bb8270a", "title": "Think on These Things", "url": "https://ryanfleck.ca/2023/think-on-these-things/", "published_at": "2023-02-08T22:31:54+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57bf956ef", "title": "One Billion Readers for 23¢ a Month", "url": "https://ryanfleck.ca/2023/one-billion-readers-for-23c-a-month/", "published_at": "2023-02-03T15:53:04+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57cd46f6d", "title": "Perfected Image Rendering in Hugo", "url": "https://ryanfleck.ca/2023/perfected-image-rendering-in-hugo/", "published_at": "2023-02-02T14:49:30+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57dcc2ab6", "title": "Phoenix 1.2.5 on Windows", "url": "https://ryanfleck.ca/2022/phoenix-125-on-windows/", "published_at": "2022-12-12T12:12:12+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57eb1dca1", "title": "Biblical Studies I: Test III Notes", "url": "https://ryanfleck.ca/reference/biblical-studies-i-test-iii-notes/", "published_at": "2022-12-08T03:00:10+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f57f7eac93", "title": "Phoenix First Look", "url": "https://ryanfleck.ca/2022/phoenix-first-look/", "published_at": "2022-10-24T15:34:23+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5802569eb", "title": "Crippled by Heroku No More!", "url": "https://ryanfleck.ca/2022/crippled-by-heroku-no-more/", "published_at": "2022-10-11T21:58:48+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f580589cdf", "title": "Delicious Homemade Pies", "url": "https://ryanfleck.ca/2022/delicious-homemade-pies/", "published_at": "2022-10-07T20:07:40+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f580f281c2", "title": "Raspberry Pi Pico W - Getting Started", "url": "https://ryanfleck.ca/2022/raspberry-pi-pico-w-getting-started/", "published_at": "2022-09-15T15:13:02+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f581784ede", "title": "Handling Profound Sadness", "url": "https://ryanfleck.ca/2022/handling-profound-sadness/", "published_at": "2022-08-23T18:17:50+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f581f26ef4", "title": "Gasoline Reference Tables", "url": "https://ryanfleck.ca/reference/gasoline-reference-tables/", "published_at": "2022-07-05T18:10:53+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5825c5955", "title": "Biblical Studies I: Test II Notes", "url": "https://ryanfleck.ca/reference/biblical-studies-i-test-ii/", "published_at": "2022-06-26T00:33:46+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f582da49d3", "title": "Tiny Telegram Bot in Racket", "url": "https://ryanfleck.ca/2022/racket-telegram-echo-bot/", "published_at": "2022-04-21T21:41:46+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f583770576", "title": "Only I Will Remain", "url": "https://ryanfleck.ca/2022/only-i-will-remain/", "published_at": "2022-03-31T20:56:11+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5838ec123", "title": "Democracy Needs a V2: Send Feedback!", "url": "https://ryanfleck.ca/2022/democracy-needs-a-v2/", "published_at": "2022-03-25T15:02:54+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f583c0f47f", "title": "A Quarter Century", "url": "https://ryanfleck.ca/2022/a-quarter-century/", "published_at": "2022-01-27T16:02:20+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5841d12b0", "title": "Interview Hell: Leetcode", "url": "https://ryanfleck.ca/reference/interview-hell-leetcode/", "published_at": "2022-01-26T07:00:00+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f584351501", "title": "Business Card", "url": "https://ryanfleck.ca/card/", "published_at": "2021-09-17T15:15:48+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f584a0c682", "title": "A Black Knight", "url": "https://ryanfleck.ca/chat-gpt/2021/a-black-knight/", "published_at": "2021-08-01T16:35:47+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f584f3ccd6", "title": "A Year at Wise Assistant", "url": "https://ryanfleck.ca/2021/a-year-at-wise-assistant/", "published_at": "2021-06-18T20:02:39+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5850959bd", "title": "Generating Article Thumbnails", "url": "https://ryanfleck.ca/2021/generating-article-thumbnails/", "published_at": "2021-06-17T23:24:02+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f5857fdb00", "title": "Building the Democracy Web App & Student Elections 2021", "url": "https://ryanfleck.ca/2021/uottawa-student-elections-2021/", "published_at": "2021-03-20T20:02:05+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f585c7f176", "title": "Replit View Counter", "url": "https://ryanfleck.ca/2021/replit-view-counter/", "published_at": "2021-03-20T19:40:45+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58689718c", "title": "Tone Analysis Workshop", "url": "https://ryanfleck.ca/2021/tone-workshop/", "published_at": "2021-02-06T00:24:50+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f586d4ab9e", "title": "I Am Become Programmer", "url": "https://ryanfleck.ca/transcripts/i-am-become-programmer/", "published_at": "2020-12-26T23:27:48+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f587d45f66", "title": "Java for Internships", "url": "https://ryanfleck.ca/transcripts/java-for-internships/", "published_at": "2020-12-26T23:27:32+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f588be0c9e", "title": "T440s Screen Replacement", "url": "https://ryanfleck.ca/transcripts/t440s-screen-replacement/", "published_at": "2020-12-26T23:27:23+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58998b49a", "title": "Jakes Advice", "url": "https://ryanfleck.ca/transcripts/jakes-advice/", "published_at": "2020-12-26T23:27:11+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58a3454f7", "title": "Semantic Release", "url": "https://ryanfleck.ca/2020/semantic-release/", "published_at": "2020-11-08T00:26:35+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58b163736", "title": "Embedded WebVR Panoramas", "url": "https://ryanfleck.ca/experiments/embedded-webvr-panoramas/", "published_at": "2020-09-14T08:34:37+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58c08902a", "title": "Userscripts", "url": "https://ryanfleck.ca/2020/pr-userscript/", "published_at": "2020-08-05T13:23:51+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58c6a962c", "title": "Crushing Your Opponents with Thor", "url": "https://ryanfleck.ca/reference/aom_thor/", "published_at": "2020-04-13T10:43:11+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58d30c817", "title": "Paper over Keyboard", "url": "https://ryanfleck.ca/2020/dumb-hackerrank-problem/", "published_at": "2020-01-14T16:32:02+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58df33595", "title": "MSP430 Timer Module", "url": "https://ryanfleck.ca/2020/msp430-timer/", "published_at": "2020-01-11T23:27:35+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58e6db14a", "title": "Notes on VHDL", "url": "https://ryanfleck.ca/2019/vhdl/", "published_at": "2019-10-13T14:30:49+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58ed92a6a", "title": "Passing Structs in C++", "url": "https://ryanfleck.ca/2019/cpp-struct-passing/", "published_at": "2019-10-11T21:54:00+00:00" }, { "id": "01a087d9-8ca1-7148-966f-c8f58f61b6bf", "title": "Notes on HC12 Assembly", "url": "https://ryanfleck.ca/2019/hc12-asm/", "published_at": "2019-10-09T17:24:10+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b458bb17", "title": "About", "url": "https://ryanfleck.ca/about/", "published_at": "2019-08-17T15:15:48+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b491adf1", "title": "Cow", "url": "https://ryanfleck.ca/cartoons/one/", "published_at": "2019-08-17T15:15:43+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b4cd607f", "title": "IBM Extreme Blue", "url": "https://ryanfleck.ca/2019/ibm-extreme-blue/", "published_at": "2019-08-11T16:58:51+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b4d0cdb2", "title": "The 2018 MacBook Pro Keyboard", "url": "https://ryanfleck.ca/2019/the-macbook-pro-2018-keyboard-sucks/", "published_at": "2019-07-10T23:11:00+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b5410a8f", "title": "The Zen of Vim", "url": "https://ryanfleck.ca/2019/the-zen-of-vim/", "published_at": "2019-07-10T18:21:00+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b56297c2", "title": "Film Review: Equilibrium", "url": "https://ryanfleck.ca/2019/equilibrium/", "published_at": "2019-07-09T02:11:40+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b607950d", "title": "The Case for Digital Minimalism", "url": "https://ryanfleck.ca/2019/digital-minimalism/", "published_at": "2019-07-09T01:22:30+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b6fe4f6d", "title": "My Personal Journaling System", "url": "https://ryanfleck.ca/2019/2019-05-20-journaling/", "published_at": "2019-05-20T06:19:13+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b7e411d7", "title": "Accessing Git Repos with SSH", "url": "https://ryanfleck.ca/2018/2018-12-27-git-ssh/", "published_at": "2018-12-27T09:12:13+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b87e80cb", "title": "Last Week at MNP", "url": "https://ryanfleck.ca/2018/2018-12-13-last-week-at-mnp/", "published_at": "2018-12-24T01:22:30+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b8c63c8f", "title": "Xalgorithms Development on GNU/Linux", "url": "https://ryanfleck.ca/2018/2018-07-21-xalgorithm-development-on-fedora/", "published_at": "2018-07-21T03:12:13+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6b941a9b6", "title": "Calligraphy with Inkscape", "url": "https://ryanfleck.ca/2018/2018-07-07-calligraphy/", "published_at": "2018-07-07T13:20:19+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6ba31b946", "title": "Windows Mixed Reality", "url": "https://ryanfleck.ca/2018/2018-06-24-wmr-june-2018/", "published_at": "2018-06-24T00:18:13+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6ba59bc50", "title": "Chinese Food with Richard Stallman", "url": "https://ryanfleck.ca/2018/2018-05-15-lunchwithrms/", "published_at": "2018-05-15T15:47:00+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6baaedf55", "title": "Hard Knocks - My MNP Co-Op Experience", "url": "https://ryanfleck.ca/2018/2018-04-28-worktermone/", "published_at": "2018-04-28T01:13:28+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6bb8a94cf", "title": "Build a Personal Website in an Afternoon", "url": "https://ryanfleck.ca/2018/2018-03-30-jekylltutorial/", "published_at": "2018-03-30T09:16:02+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6bbb9d9cc", "title": "Attending UOttaHack 2018", "url": "https://ryanfleck.ca/2018/2018-02-19-hackathon/", "published_at": "2018-02-19T12:13:14+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6bc9c0110", "title": "VIM For The Just-In-Time Crowd", "url": "https://ryanfleck.ca/2017/2017-12-29-vimforjits/", "published_at": "2017-12-29T12:11:37+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6bd733703", "title": "Midterms and Dorm Life", "url": "https://ryanfleck.ca/2015/2015-10-23-midterms-and-dorm-life/", "published_at": "2015-10-23T19:06:11+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6be297b14", "title": "Engineering 101 Week", "url": "https://ryanfleck.ca/2015/2015-09-19-engineering-101-week/", "published_at": "2015-09-19T19:06:11+00:00" }, { "id": "01a087d9-8ca2-7100-a870-51f6bef9529b", "title": "Mermaid Dynamic Page", "url": "https://ryanfleck.ca/mermaid/", "published_at": null } ] posts Claim your blog
Back to ryanfleck.ca
Blog · corpus.blog/blogs/ryanfleck.ca/posts

ryanfleck.ca

ryanfleck.ca

2026

2025

2024

2023

2022

2021

2020

2019

17 Aug 2019

2018

2017

2015

Undated