[{"title":"Reading My New LLMS.txt","url":"https://ryanfleck.ca/chat-gpt/2026/reading-my-new-llmstxt/","content":"I just implemented llms.txt for my personal and programming manual sites - what can the big LLMs learn about me from this page?\nPrompt:\nCould you read deeply through https://ryanfleck.ca/llms.txt and give me a summary of this guy - Ryan - and tell me as much as you can about him. Where he lives, what he does, and his habits.\nTable of Contents Claude Summary Gemini 1. Professional \u0026amp;amp; Technical Identity 2. Habits and Personal Philosophy 3. Personal Interests Summary of \u0026amp;ldquo;Ryan\u0026amp;rdquo; …","created":"Jul 04 2026","last-modified":"Jul 04 2026"},{"title":"Highlighting Shortcode Tests","url":"https://ryanfleck.ca/experiments/highlights/","content":"Shortcode like \u0026amp;lt; hl green \u0026amp;quot;some green.\u0026amp;quot; \u0026amp;gt;\nThis is a paragraph with some highlights in various colors . Here\u0026amp;rsquo;s some green. HTML \u0026amp;lt;mark\u0026amp;gt; type highlights:\nThis is a paragraph with some highlights in various colors. Here\u0026amp;rsquo;s some green.\nBlock highlight: This should all be yellow. Lol\n","created":"Jun 19 2026","last-modified":"Jun 19 2026"},{"title":"Your Data Fortress (A Debian Server)","url":"https://ryanfleck.ca/2026/your-data-fortress/","content":"Ask yourself this - where is your data? Who owns it? Who uses it? If you\u0026amp;rsquo;ve lived a typical digital life for the past few decades, your personal information is scattered everywhere. The majority is concentrated in the hands of a small set of megacorporations - Google, Amazon, Meta, Apple, Palantir, and Microsoft - all riddled with backdoors and spyware to ensure compliance and pro-social usage.\nThought crime charges are now an unfortunate reality, and can even be applied retroactively even …","created":"Apr 10 2026","last-modified":"Jul 04 2026"},{"title":"Et Tu, OpenClaw?","url":"https://ryanfleck.ca/2026/openclaw/","content":"The ClawdBot phenomenon is sweeping the internet. But why? I\u0026amp;rsquo;ve decided to install it myself, mess around, and see if the claws are real or just crypto-scammer hype.\nAt first glance, ClawdBot/MoltBot/OpenClaw is just a method to run LLMs on your local machine with many useful tools - everything from filesystem access to web crawling. It\u0026amp;rsquo;s a very fun idea with very real dangers. By now, we all have witnessed some claw-related security tragedies, and I wasn\u0026amp;rsquo;t going to make the …","created":"Feb 19 2026","last-modified":"Feb 25 2026"},{"title":"CalgaryHacks 2026: Great Beginnings","url":"https://ryanfleck.ca/2026/calgaryhacks-2026-great-beginnings/","content":"This past weekend, CSUS hosted their CalgaryHacks 2026 hackathon in the ICT building at the University of Calgary! I and several other IBMers attended to chat with students, run a workshop, and judge submissions. The atmosphere was vibrant, and I thoroughly enjoyed engaging with bright young talent at the booths, chatting on the event Discord, and asking challenging questions during the judging sessions.\nA special thank-you to Shad Sajid who ran half the workshop and helped to organize. I …","created":"Feb 17 2026","last-modified":"Feb 18 2026"},{"title":"Getting Started With watsonx","url":"https://ryanfleck.ca/2026/getting-started-with-watsonx/","content":"watsonx.ai is a part of the IBM watsonx suite of generative AI tools. This tutorial will cover the basic setup and calling of the watsonx LLM APIs to inference, call tools, and build agents! Join us live at CalgaryHacks 2026 apply this powerful suite of tools to power your hackathon submission.\n\u0026amp;ldquo;Ready to supercharge your hackathon build? Join our high-impact \u0026amp;ldquo;Getting Started With watsonx\u0026amp;rdquo; workshop at CalgaryHacks 2026 and learn how to harness IBM watsonx.ai, IBM’s …","created":"Feb 10 2026","last-modified":"Feb 17 2026"},{"title":"M4 Mac Mini LLM Server","url":"https://ryanfleck.ca/2025/m4-mac-mini-llm-server/","content":"This is a short guide to hosting your own language models on a Mac Mini. I\u0026amp;rsquo;ll cover the short set of configuration items required to spin things up so you can infrerence, completely privately, on local hardware.\nLet me clue you in on a little secret that it took me weeks of banging my head against my keyboard to discover: In order to run a LaunchDaemon at boot with no users logged in, FileVault must be disabled. I must have restarted my Mac Mini 20+ times, tweaking my configuration each …","created":"Dec 20 2025","last-modified":"Feb 17 2026"},{"title":"One Year of Observer","url":"https://ryanfleck.ca/2025/one-year-of-observer/","content":"I have been running Observer for over a year now. Given that it is the Christmas season - a time of relaxation, remembering our short time here and eternal things done for us, It is a good opportunity to look back and draw some lessons from a year of hacking on this thing.\nLet\u0026amp;rsquo;s answer a few questions:\nHow much data did I collect? Was I able successfully extract tags from headlines? What will I be moving forwards with? Table of Contents Data Volume Text Analysis Services CoreNLP SpaCY …","created":"Dec 20 2025","last-modified":"Dec 20 2025"},{"title":"Cloudflare Turnstile With Clojure","url":"https://ryanfleck.ca/2025/cloudflare-turnstile-with-clojure/","content":"A common way to counteract the infernal swarm of bots, crawlers, and other inhuman entities on the internet is to implement a captcha system to protect features on your website. Google\u0026amp;rsquo;s reCAPTCHA, ALTCHA, hCaptcha, and other systems all function similarly. Regardless of the choices you make, all follow a similar implementation pattern for securing forms:\nUsing JavaScript, add a challenge field to the form On submit, this data is included in the form as a \u0026amp;rsquo;token\u0026amp;rsquo; field On the …","created":"Jun 14 2025","last-modified":"Feb 17 2026"},{"title":"Investigating an Email With OSINT Tools","url":"https://ryanfleck.ca/chat-gpt/2025/investigating-an-email-with-osint-tools/","content":"In conversation with DeepSeek R1:\nIf I have an email of someone who is blackmailing me, how can I find out more about this person with open source intelligence?\nIf you\u0026amp;rsquo;re being blacklisted, your safety is the top priority. Do not engage with the blackmailer directly, as this could escalate the situation. Instead, consider the following open-source intelligence (OSINT) steps to gather information while protecting yourself:\n1. Preserve Evidence¶ Save all emails, messages, and any …","created":"Jun 11 2025","last-modified":"Jun 11 2025"},{"title":"Building a Ticketing Application","url":"https://ryanfleck.ca/chat-gpt/2025/building-a-ticketing-application/","content":"Today I posed a question to ChatGPT\u0026amp;rsquo;s 2025-05-25 model:\nCould you help me to understand how I can build an online ticketing platform like Brushfire?\nTable of Contents Core Features 🧱 Core Features of a Platform Like Brushfire 👥 For Event Organizers 🎟️ For Attendees 🧰 Key Components of the Platform 1. Frontend (User Interface) 2. Backend (Server Logic) 3. Authentication \u0026amp;amp; User Management 4. Payments 5. Tickets \u0026amp;amp; Seating 6. Communication 7. Event Scanning \u0026amp;amp; Check-in 8. Analytics …","created":"May 25 2025","last-modified":"May 25 2025"},{"title":"Replacing CoreNLP","url":"https://ryanfleck.ca/chat-gpt/2025/replacing-corenlp/","content":" Table of Contents Replacing AllenNLP and CoreNLP 💡 Modern and Better Alternatives (Docker-ready, well-maintained, with true OpenIE or IE capability): ✅ 1. OpenAI GPT-like LLM in a self-hosted container (via LM Studio or Ollama) ✅ 2. Haystack (deepset) + Transformers (BERT, T5, etc.) ✅ 3. SpaCy + Relation Extraction Models (Transformer-based) ✅ 4. Stanford CoreNLP in Docker (Still very valid if you want classical IE) ⚡ TL;DR ✔ My strong recommendation for 2025-style clean OpenIE-like outputs: …","created":"May 16 2025","last-modified":"May 25 2025"},{"title":"The CoreNLP Rabbit Hole","url":"https://ryanfleck.ca/2025/iterating-over-corenlp/","content":"OpenIE-style triple extraction seems to be on the rocks in 2025. After a short conversation with ChatGPT I have decided to stick with legacy methods of triple extraction from text until I can secure a Mac Mini and give up (like everyone else, including the NLP researchers,) and use an LLM as a one-shot triple extractor.\nIt is worrying that this branch of computer science has been completely surpassed by generative AI - but hey, the future is now, and I have goals that require knowledge graphs to …","created":"May 16 2025","last-modified":"Feb 17 2026"},{"title":"Observer Devlog 2: Brainstorming","url":"https://ryanfleck.ca/2025/observer-devlog-2/","content":" \u0026amp;ldquo;Make it work, make it right, make it fast.\u0026amp;rdquo;\n\u0026amp;ndash; Kent Beck\nAs I break into the next phase of my news anomaly-detection side project, I figure it would be useful to me to publicly summarize what I\u0026amp;rsquo;ve done so far, and what will be implemented next!\nThe Current Process:\nCollect RSS headlines from a variety of sources Every hour, send the last 6h of data to an LLM Store this summary in the database and show the result to visitors While this has been decently reliable, it …","created":"May 14 2025","last-modified":"Feb 17 2026"},{"title":"A Data Factory Nightmare","url":"https://ryanfleck.ca/2025/a-data-factory-nightmare/","content":" Hear ye, hear ye, a tale of woe! This is the long, complex, and messy story of how I became a Microsoft Azure Data Factory and Data Flow expert, discovered a handful of crucial shortcomings, fought with Microsoft\u0026amp;rsquo;s Support team, and lived through a cautionary tale on the strengths and weaknesses of this popular 4GL.1\nTable of Contents Project Goals Initial Solution \u0026amp;amp; Emergent Problems Microsoft Support Gaslighting The Root Cause: Storage Re-Binding Azure Functions to the Rescue …","created":"Apr 14 2025","last-modified":"Apr 17 2025"},{"title":"A Little Elisp for Hugo","url":"https://ryanfleck.ca/2025/a-little-elisp-for-hugo/","content":"My work on this website and manuals.ryanfleck.ca relies heavily on the hugo static site generator and the ox-hugo Emacs package. Here are a few short, fun automations to remove some of the (very limited) tedium from developing hugo websites!\nTable of Contents Easily Create New Posts Serving Your Drafts Transforming Org to Markdown ToC\u0026amp;nbsp; Easily Create New Posts¶ I wrote this today so I didn\u0026amp;rsquo;t have to go to the terminal to type hugo new posts/the-year/the-filename.md when I wanted to jot …","created":"Apr 14 2025","last-modified":"Apr 15 2025"},{"title":"Compiling Emacs 30","url":"https://ryanfleck.ca/2025/compiling-emacs-30/","content":"Emacs, my old friend, the cranky old wizard of editors! As previously discussed in The Magnificence of Org , the benefits of using the Emacs text editor are wildly numerous and forever interesting.1 Compiling it yourself is easy, and allows you to enjoy a maximally performant copy of this hacker\u0026amp;rsquo;s fever dream on your personal hardware.\nCheck the previous Compiling Emacs 29 article for a far more detailed overview of the process - I\u0026amp;rsquo;ll save you from the details here. This Mastering …","created":"Mar 30 2025","last-modified":"Jul 14 2025"},{"title":"Observer Devlog 1","url":"https://ryanfleck.ca/2025/observer-devlog-1/","content":"Observer is my current side project. The end-goal of the program is to continuously monitor global events and provide a platform for analysis, prediction, and reaction.\nYou can check out part of the frontend at observer.ryanfleck.ca If you stick on the page for a minute, you\u0026amp;rsquo;ll notice that many elements are pulled from the server automatically - notably the \u0026amp;rsquo;latest items\u0026amp;rsquo; feed below the graph of incoming news items.\nThe personal problem I am attempting to solve with Observer:\nI …","created":"Feb 08 2025","last-modified":"Feb 17 2026"},{"title":"Custom Workout (2025)","url":"https://ryanfleck.ca/chat-gpt/2025/workout-2025/","content":" Hey ChatGPT,\nPlease respond to my queries as an ex-military personal trainer with years of experience both in real combat but also a decade as a personal trainer for professional athletes and bodybuilders. The personal trainer you will be responding as will be humble, wise, and very intelligent. He will not boast or brag. He will simply provide the best answers. His name will be Mark. Mark considers all aspects of his client’s life and their goals when providing fitness recommendations and …","created":"Feb 02 2025","last-modified":"May 25 2025"},{"title":"Common Lisp Hyper Tutorial","url":"https://ryanfleck.ca/chat-gpt/2025/common-lisp-hyper-tutorial/","content":" Can you help me to rapidly learn common lisp, emacs, and SLY? Here\u0026amp;rsquo;s what I want to do and want a short manual for:\nA brief description of SBCL and what the binary does A brief description of quicklisp and how the system works A brief description of SLY (the EMACS repl) and where it fits in A hello-world example written with sly and emacs Showing how to compile this hello-world to an executable on Debian All content below is the response to this request.\nTable of Contents Common Lisp, …","created":"Feb 02 2025","last-modified":"May 25 2025"},{"title":"Keylogger a la Wolfram","url":"https://ryanfleck.ca/chat-gpt/2025/keylogger/","content":"For a while I\u0026amp;rsquo;ve been wanting to imitate Stephen Wolfram\u0026amp;rsquo;s keylogger system which provides a method for analyzing how much he is working and typing each day.\nPrompt:\nhttps://writings.stephenwolfram.com/2012/03/the-personal-analytics-of-my-life/ I would love to write a software to help me keep track of what I type, like Stephen Wolfram does in this article. I only need this software to work on Debian and Ubuntu linux. Can you help me write it in common lisp?\nTable of Contents The …","created":"Feb 02 2025","last-modified":"May 25 2025"},{"title":"Andrew Wommack, Heretic","url":"https://ryanfleck.ca/2025/andrew-wommack-heretic/","content":" This article is a huge departure from my normal, technical content. It marks the first time that I have written a formulaic exposé on any subject, let alone a popular and controversial religious personality. This article may look particularly strange to non-Christian readers who have long observed bickering amongst religious types and don\u0026amp;rsquo;t get what the fuss is about, thinking something along the lines of, \u0026amp;ldquo;why can\u0026amp;rsquo;t we all just live in peace and harmony?\u0026amp;rdquo;\nThe reason? …","created":"Jan 19 2025","last-modified":"May 19 2026"},{"title":"Rip \u0026 Tear: PostgreSQL Surgery","url":"https://ryanfleck.ca/2024/postgres-surgery/","content":"After taking a leap of faith and upgrading my past-EOL Alpine Linux server to the latest-stable release and packages, I was rewarded with an almost seamless upgrade. Thanks to my dockerized personal infrastructure, all my personal services came right back up without a hitch - apart from two that depended on a local PostgreSQL database.\nYes, I was stupid to try and save resources by having a few containers all depend on a local install of Postgres - but now I was in a real pickle. Alpine had …","created":"Dec 20 2024","last-modified":"Feb 08 2025"},{"title":"Little Elisp Workflow Enhancements","url":"https://ryanfleck.ca/2024/little-elisp-workflow-enhancements/","content":"Every week at work, I type a line in my org notes like so:\n*** 2024-W46 [2024-11-11 Mon]--[2024-11-15 Fri]: Clicking this date range opens the five-day agenda view for the week, and allows me to visualize all the meetings and date-stamped events I\u0026amp;rsquo;ve recorded for the week in question.\nEngineering and computer science types of people love to spend hours automating away minor inconveniences. Living in a LISP interpreter enables these automations to be written quickly, re-used, and improved …","created":"Nov 12 2024","last-modified":"Apr 14 2025"},{"title":"Three Years at IBM","url":"https://ryanfleck.ca/2024/three-years-at-ibm/","content":" Introduction¶ Working at IBM has been very good for me in the same way falling off a road bike and breaking my elbow was good - I\u0026amp;rsquo;ve learned many, many valuable lessons, had many of my presuppositions invalidated, and had my eyes peeled wide open to the realities of the industry. Some might call them wake up calls, others may call them reality checks, I choose to call them blessings.\nHow does one sell $50,000,000 of work? I still have no clue, but I\u0026amp;rsquo;ll be finding out shortly.\nSo …","created":"Aug 26 2024","last-modified":"Jan 16 2025"},{"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/","content":"Last night, over a glass of bourbon, I had the pleasure of introducing a friend to a new idea. In preparation for schooling, he ought to adopt a new methodology for storing and accessing his knowledge. Rather than spin his wheels trying to adopt a system for note-taking, time-tracking, flashcards, searching, etc., he ought to do the research ahead of time in order to make the transition smooth and easy.\nIn a previous article titled The Esoteric Magnificence of Org, I touched on a few of the …","created":"Aug 26 2024","last-modified":"Mar 29 2025"},{"title":"Compiling Emacs 29","url":"https://ryanfleck.ca/2024/compiling-emacs-29/","content":"Emacs 29 brings built-in SQLite support that is superior to the community developed packages I\u0026amp;rsquo;ve tried. Debian\u0026amp;rsquo;s latest Emacs binary is version 28, which does not have this feature. I\u0026amp;rsquo;d also like to turn on a few additional features like tree-sitter1. This article was adapted and expanded from this one - but I found it made a few mistakes and was missing a few details.\nTo start, take a deep breath and purge all Emacs packages from your system. autoremove will clean up any …","created":"Aug 26 2024","last-modified":"Mar 30 2025"},{"title":"The Magnificence of Org","url":"https://ryanfleck.ca/2024/the-magnificence-of-org/","content":"Of all the productivity and thinking tools I\u0026amp;rsquo;ve come across, all shake and tremble beneath the brilliant and towering presence of org-mode in all of my note-taking, organization, scheming, and tinkering. Over the past four months, my workflow has entirely surrendered to the insanely flexible power of the EMACS text editor and community-driven libraries.\n\u0026amp;hellip;that is exceedingly high praise for a text editor. I promise by the end of this article I\u0026amp;rsquo;ll at least have you curious about …","created":"May 20 2024","last-modified":"Apr 16 2025"},{"title":"You Can't Automate What You Don't Understand","url":"https://ryanfleck.ca/2023/you-cant-automate-what-you-dont-understand/","content":"Problems make the world go \u0026amp;lsquo;round. Problems are how engineers stay employed. Technologists love to prepare to solve problems, and what I have come to realize now is that it is rare that a problem worth solving will come to you if your head is buried strictly in the landscape of engineering, programming, and technology. Problems are out there in the real world.\nThe unsettling news here for programmer types is this: if you want to make the best of your skillset and apply it to problems that …","created":"Dec 23 2023","last-modified":"Aug 30 2024"},{"title":"Custom Workout (2023)","url":"https://ryanfleck.ca/chat-gpt/2023/workout/","content":"I asked ChatGPT to create a customized workout routine for me, formatted in a variety of ways, based on my height, weight, age, and available equipment. It delivered a very reasonable set of home exercises, and some good additional advice to boot.\nHey ChatGPT,\nPlease respond to my queries as an ex-military personal trainer with years of experience both in real combat but also a decade as a personal trainer for professional athletes and bodybuilders. The personal trainer you will be responding as …","created":"Jul 18 2023","last-modified":"May 25 2025"},{"title":"On Autozeitgeist 1","url":"https://ryanfleck.ca/chat-gpt/2023/on-autozeitgeist-1/","content":"With no professional data scientists in my friend group, I reached out to good old ChatGPT to ask some questions about my side project.\n\u0026amp;ndash; Me\nAnswer this question as an experienced data scientist.\nI\u0026amp;rsquo;m 1/4 of the way through a side project where I collect data from a variety of sources (CBC, \u0026amp;lt;censored\u0026amp;gt;, etc) every half hour or so and store all the text and the OCR text of the image in a database. (I\u0026amp;rsquo;m too poor to have server hardware at home to run ML models 24/7 on images …","created":"Jul 05 2023","last-modified":"May 25 2025"},{"title":"Think on These Things","url":"https://ryanfleck.ca/2023/think-on-these-things/","content":"Today we take a brief philosophical and religious look at the emergence of AI generated content and the silent corporate war for your attention.\nContent Warning: This essay uses a Christian frame to weigh the timeless problems of our modern age. I grew up an atheist, and grew to know God as I reckoned with the world. If Scriptural Christian views are not to your taste, I\u0026amp;rsquo;d skip this one or proceed knowing that Scripture stands against many of the hallmarks of the modern liberal worldview. …","created":"Feb 08 2023","last-modified":"Feb 24 2026"},{"title":"One Billion Readers for 23¢ a Month","url":"https://ryanfleck.ca/2023/one-billion-readers-for-23c-a-month/","content":"How is it possible to host a website that can support a billion pageviews per month for pennies? With the help of Cloudflare and Hugo, you too can place content on the internet where it will be hosted with unlimited requests and bandwidth for free. You just need to buy the domain!\nYou\u0026amp;rsquo;ll need four things to complete this project:\nA GitHub account (free) A Cloudflare account (free) A domain name (~$3-20/year) Your website code ( contact for quote ) The GitHub account is required to host a …","created":"Feb 03 2023","last-modified":"Apr 14 2025"},{"title":"Perfected Image Rendering in Hugo","url":"https://ryanfleck.ca/2023/perfected-image-rendering-in-hugo/","content":"Hugo provides everything a user needs to display images in an accessible, performant, and size-conscious manner. I\u0026amp;rsquo;ve slowly updated my image handling shortcodes for years, and I figured I should share my innovations for others getting started with my favorite static site generator.\nMy Requirements:\nDeliver the image at its smallest possible size while still presenting a resolution-appropriate and sharp image. Meet accessibility guidelines, provide a comprehensible plaintext alt-tag, …","created":"Feb 02 2023","last-modified":"Aug 30 2024"},{"title":"Phoenix 1.2.5 on Windows","url":"https://ryanfleck.ca/2022/phoenix-125-on-windows/","content":"The current version of Phoenix is 1.5.X - given that I\u0026amp;rsquo;m following a course that teaches Phoenix 1.2, I had to figure out how to reassemble a suitable environment for working on a project out of time. This article summarizes my journey in finding and installing all the requirements.\nThis article is a recycled forum question I posted.\nHello everyone,\nI need help setting up a development environment to work on a Phoenix 1.2 project. No, I don’t care if it’s out of date and insecure.\nI’m …","created":"Dec 12 2022","last-modified":"Aug 30 2024"},{"title":"Biblical Studies I: Test III Notes","url":"https://ryanfleck.ca/reference/biblical-studies-i-test-iii-notes/","content":"Biblical Studies I is a course offered at Springs Church via Springs Bible College in Winnipeg, NB. The session I attended ran through 2022. This document contains the scripture verses and study notes specified as notable in the study guide given for test 3. Notes are placed in the order indicated on the study guide.\nTable of Contents Unit 6: Healing Scriptures Unit 7: Spirit Contemporary Scriptures Unit 8: Finance Scriptures ToC\u0026amp;nbsp; Unit 6: Healing¶ Jesus never denied healing to those who …","created":"Dec 08 2022","last-modified":"Jul 04 2026"},{"title":"Phoenix First Look","url":"https://ryanfleck.ca/2022/phoenix-first-look/","content":"Below is a set of personal notes written while taking a first look at the Elixir language and Phoenix 1.6.14 framework.\nTable of Contents First Impressions Elixir Basics Installation and Bootstrapping Phoenix Phoenix Project Structure Tearing Apart a First Tutorial Generating a Liveview Syntax Coffee Break Rendering with Live Components Making it Realtime To Continue? ToC\u0026amp;nbsp; First Impressions¶ I\u0026amp;rsquo;m placing this section first since the rest is mostly reference material to look back on. My …","created":"Oct 24 2022","last-modified":"Feb 08 2025"},{"title":"Crippled by Heroku No More!","url":"https://ryanfleck.ca/2022/crippled-by-heroku-no-more/","content":"This is a short story about how I attempted to deploy my own simple Django API with Traefik as a reverse proxy and proxied through Cloudflare, plus the frontend deployed on Cloudflare Pages. While a fairly straightforward process on paper, I gave up once or twice only to come back a week or two later.\nYou can check out this deployed web app at democracy.ryanfleck.ca PaaS systems like Heroku spoil young developers by abstracting all of the networking, installation, and general pain associated …","created":"Oct 11 2022","last-modified":"Feb 08 2025"},{"title":"Homemade Apple Pie","url":"https://ryanfleck.ca/2022/homemade-apple-pie/","content":"Apple Pie is easy and a classic people pleaser. With a $7 pound of butter and ~$2.50 per pound of apples, ~$2 of sugars and flour, the total cost of the pie should come to ~$15 in materials and 2-3h of partially used time. Money can be saved by getting your ingredients on sale or from your aunt\u0026amp;rsquo;s apple tree.\nThis is a living recipe and it will be continually adjusted as I get feedback and make mistakes. Here\u0026amp;rsquo;s what you\u0026amp;rsquo;ll need:\nTools and Equipment:\nRolling Pin Food Processor …","created":"Oct 07 2022","last-modified":"Oct 07 2022"},{"title":"Raspberry Pi Pico W - Getting Started","url":"https://ryanfleck.ca/2022/raspberry-pi-pico-w-getting-started/","content":"This article covers getting set up with a pi pico w and running a blink program, pwm generation, and connecting to wifi to POST a microservice.\nFirst, setup your development environment. Install Thonny and under tools, in the options, in the Interpreter section, set the interpreter to MicroPython (Raspberry Pi Pico), and after holding BOOTSEL on your board, click the Install or Update MicroPython link in the bottom right of the window. Select the latest MicroPython for the Pi Pico W/WH and hit …","created":"Sep 15 2022","last-modified":"Jan 16 2025"},{"title":"Handling Profound Sadness","url":"https://ryanfleck.ca/2022/handling-profound-sadness/","content":"Engineers are a class of people who can easily find themselves profoundly socially isolated. Often, technologists young and old will forego many normal social behaviours in pursuit of complex problems and their respective solutions. While this technically justified escapism is powerful enough to completely occupy the engineering mind, the lack of time and attention given to self care, relationships, and progress in other life areas can strand an engineer on a tiny island with his project and …","created":"Aug 23 2022","last-modified":"Feb 17 2026"},{"title":"Gasoline Reference Tables","url":"https://ryanfleck.ca/reference/gasoline-reference-tables/","content":"Costs are in Canadian Dollars unless specified.\nVariables:\nTank size 58.67 L Efficiency 11.0537 km/L 9.7 km/L city 13.2 km/L highway Max range 648.52 km Fill Cost¶ Gas Cost c/L Cost to 1/4 Cost to 1/2 Cost to Full 100 $14.67 $29.34 $58.67 110 $16.13 $32.27 $64.54 120 $17.60 $35.20 $70.40 130 $19.07 $38.14 $76.27 140 $20.53 $41.07 $82.14 150 $22.00 $44.00 $88.01 160 $23.47 $46.94 $93.87 170 $24.93 $49.87 $99.74 180 $26.40 $52.80 $105.61 190 $27.87 $55.74 $111.47 200 $29.34 $58.67 $117.34 210 …","created":"Jul 05 2022","last-modified":"Jul 05 2022"},{"title":"Biblical Studies I: Test II Notes","url":"https://ryanfleck.ca/reference/biblical-studies-i-test-ii/","content":"Biblical Studies I is a course offered at Springs Church via Springs Bible College in Winnipeg, NB. The session I attended ran through 2022. This document contains the scripture verses and study notes specified as notable in the study guide given for test 2. Notes are placed in the order indicated on the study guide.\nTable of Contents Unit 4: Prayer The Nine Kinds of Prayer Scriptures Unit 5: Holy Spirit and Gifts Personality Attributes of the Holy Spirit Seven Symbols of the Holy Spirit Fruits …","created":"Jun 25 2022","last-modified":"Jun 25 2022"},{"title":"Tiny Telegram Bot in Racket","url":"https://ryanfleck.ca/2022/racket-telegram-echo-bot/","content":"I\u0026amp;rsquo;ve decided to go all-in on functional programming on personal projects for a while, reading HTDP and learning Racket as a foundation. I\u0026amp;rsquo;m only on chapter 5 of HTDP, but decided to jump the gun a bit and attempt to write a Telegram bot with Racket and raw HTTP requests. Look ma, no library!\nPlease excuse my inelegance in Racket. It\u0026amp;rsquo;ll come with time.\nThe program below simply echoes back comments to trusted users, and tells untrusted users to talk to the admin.\nTelegram bots …","created":"Apr 21 2022","last-modified":"Aug 29 2022"},{"title":"Only I Will Remain","url":"https://ryanfleck.ca/2022/only-i-will-remain/","content":" \u0026amp;ldquo;I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past, I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.\u0026amp;rdquo;\nThe Litany Against Fear, Frank Hebert\nThe last few months have been very taxing on my mental and physical health. As gyms closed, and mandates reared their heads, friends took …","created":"Mar 31 2022","last-modified":"Feb 17 2026"},{"title":"Democracy Needs a V2: Send Feedback!","url":"https://ryanfleck.ca/2022/democracy-needs-a-v2/","content":"To my delight, the Democracy platform continues to be used by ESS and the IEEE Student Branch at uOttawa.\nThough, I\u0026amp;rsquo;d like to challenge myself and take what I\u0026amp;rsquo;ve learned from writing the application and create a monetized V2 product using only functional languages for both the backend and frontend.\nI\u0026amp;rsquo;ll likely post about that in the months to come, just as soon as my work situation stabilizes.\nIf you\u0026amp;rsquo;ve enjoyed Democracy (or have serious gripes with the user experience) …","created":"Mar 25 2022","last-modified":"Aug 30 2024"},{"title":"A Quarter Century","url":"https://ryanfleck.ca/2022/a-quarter-century/","content":"I\u0026amp;rsquo;m now 25 years old.\nNow that I\u0026amp;rsquo;ve spent a quarter century roaming the earth, making friends and mistakes, I\u0026amp;rsquo;d like to take a moment to reflect on the past, present, and future with these three questions:\nWhat are the best lessons I\u0026amp;rsquo;ve learned so far? Who am I now? Where to go from here? It\u0026amp;rsquo;s doubtless that, even reading my posts from 2018 and 2019, I have slowly learned to communicate better, cherishing brevity, honesty, and accuracy. If I could time travel back …","created":"Jan 27 2022","last-modified":"Jan 27 2022"},{"title":"Interview Hell: Leetcode","url":"https://ryanfleck.ca/reference/interview-hell-leetcode/","content":"The sad truth about the software engineering industry is that the challenges presented in programming interviews and actual day-to-day work couldn\u0026amp;rsquo;t be more different.\nThis page is dedicated to different categories of programming puzzles that will be thrown out during interviews, including sample solutions.\nThese are personal solutions that are absolutely not the best, fastest, or most memory efficient, though I do try my best to target these metrics. It is solely for personal reference so …","created":"Jan 26 2022","last-modified":"Aug 29 2022"},{"title":"Business Card","url":"https://ryanfleck.ca/card/","content":"Hey, you scanned my card! My name is Ryan - it was great to meet you in person.\nKeep in touch:\nEmail me at ryan@fleck.dev Connect on LinkedIn Add me on Github CalgaryHacks 2026¶ If you\u0026amp;rsquo;re reading this, you are probably attending CalgaryHacks 2026!\nWorkshop Resources:\nFirst, read the watsonx workship guide Also check the workshop repository Create your IBM Cloud account for the watsonx free trial Check out this article with photos of the event I\u0026amp;rsquo;ll be around for a good chunk of the …","created":"Sep 17 2021","last-modified":"May 19 2026"},{"title":"A Black Knight","url":"https://ryanfleck.ca/chat-gpt/2021/a-black-knight/","content":"This is one of the very first conversations I had with the OpenAI davinci model, and without prompting, the darkest by far. Since this point in time, the OpenAI models have been sanitized and shaped according to their task, but old conversations like this remain to remind us what LLMs are.\nOnce upon a time\u0026amp;hellip; AI: I remember doing this. Human: Tell me a story. AI: Once upon a time\u0026amp;hellip; Human: Tell me a complete story. AI: Once upon a time a father and his daughter were walking through the …","created":"Aug 01 2021","last-modified":"Jul 04 2026"},{"title":"A Year at Wise Assistant","url":"https://ryanfleck.ca/2021/a-year-at-wise-assistant/","content":"Here I\u0026amp;rsquo;ll discuss a few notable things I learned (that you will probably find useful or relevant to your own career development,) during the year I spent working for Ryan Brandt and Michael Diego on Wise software projects.\nAs with any opportunity in life, you get out what you put in, and I was lucky to have such a singly-motivated team to work and grow with.\nTable of Contents How I Got the Job Get a Mentor Enjoy a Parallel Universe or Two Beware Knowledge Silos Working with Opinionated …","created":"Jun 18 2021","last-modified":"Aug 30 2024"},{"title":"Generating Article Thumbnails","url":"https://ryanfleck.ca/2021/generating-article-thumbnails/","content":"I\u0026amp;rsquo;ve always wanted to, rather than provide the same boring \u0026amp;lsquo;article\u0026amp;rsquo; or \u0026amp;rsquo;node\u0026amp;rsquo; thumbnails, write a script to crawl my content and generate unique thumbnails for each article. This morning, that\u0026amp;rsquo;s exactly what I did. The current script can be viewed at /generate_thumbnails.py generate_thumbnails, for every page with a markdown file, will generate and save a picture that looks like this:\nSample thumbnail This is fairly easy to integrate into the header of each …","created":"Jun 17 2021","last-modified":"Jun 19 2021"},{"title":"Building the Democracy Web App \u0026 Student Elections 2021","url":"https://ryanfleck.ca/2021/uottawa-student-elections-2021/","content":"When given the task of standing up an election system for the IEEE uOttawa student chapter, I was faced with a choice: improve the old solution, find another existing solution, or write a new solution from scratch.\nThough it came at the cost of dramatically more work, I chose the green-field project; who wouldn\u0026amp;rsquo;t leap at the chance to design a new and improved solution for a clear and defined use case with at least one guaranteed customer?\nWithin this article, I explain the decisions, …","created":"Mar 20 2021","last-modified":"Feb 08 2025"},{"title":"Replit View Counter","url":"https://ryanfleck.ca/2021/replit-view-counter/","content":"As a casual browser of this site, you may have noticed the section at the bottom of each page showing a word count, estimated reading time, and view counter.\nview counter The word count and reading time are generated by Hugo, but Hugo can\u0026amp;rsquo;t track view counts by nature; it\u0026amp;rsquo;s a static site generator, only able to smash bits of HTML together at lightspeed.\nI had to implement a backend to handle this dynamic page data.\nAt first, I had great ambitions for a set of services to connect all …","created":"Mar 20 2021","last-modified":"Mar 23 2021"},{"title":"Tone Analysis Workshop","url":"https://ryanfleck.ca/2021/tone-workshop/","content":"I had the privilege of running a workshop at uOttaHack 4 in February of 2021; the video will be edited and uploaded eventually, but for now, I\u0026amp;rsquo;m publishing this set of notes that I used to guide students through the creation of a small, emotionally sensitive online journal.\nTo inform attendees of my impending workshop, I posted this:\nHey, I\u0026amp;rsquo;m Ryan,\nTonight (9PM!) I\u0026amp;rsquo;ll be teaching y\u0026amp;rsquo;all how to read the thoughts of your [users] to detect emotion in the content that they …","created":"Feb 05 2021","last-modified":"Feb 11 2026"},{"title":"I Am Become Programmer","url":"https://ryanfleck.ca/transcripts/i-am-become-programmer/","content":"Video: https://www.youtube.com/watch?v=XtYW3IlJMUE Transcript¶ Hey, good morning, I\u0026amp;rsquo;m going to walk you through today how I am become programmer essentially I want to clue you in on why on Earth you would want to do what I have done that kind of day life and career path and the pros and cons and how you got here.\nA brief overview of what I have become so far.\nI have done a variety of internships throughout my academic career. I\u0026amp;rsquo;ve worked at M\u0026amp;amp;P IBM and currently I work at a …","created":"Dec 26 2020","last-modified":"Jul 04 2026"},{"title":"Java for Internships","url":"https://ryanfleck.ca/transcripts/java-for-internships/","content":"Video: https://www.youtube.com/watch?v=x0ojFHqLU4Q Transcript¶ If you are a first or second-year student looking to learn a few Technologies to land an internship you should be looking at web-dev and simple back ends.\nCheers, it\u0026amp;rsquo;s been a long day.\nI\u0026amp;rsquo;m recording this video because I wanted to share an anecdote with you guys.\nToday I was having a conversation with a young colleague and\u0026amp;hellip; This colleague was trying to recruit me to become a webmaster at a different School …","created":"Dec 26 2020","last-modified":"Mar 23 2021"},{"title":"T440s Screen Replacement","url":"https://ryanfleck.ca/transcripts/t440s-screen-replacement/","content":"Video: https://www.youtube.com/watch?v=JOB4Phzw7Jo Transcript¶ This is going to be a short tutorial on how to replace the display in your t440s I ordered this new panel from laptopscreen.com and it just came in the mail today so let\u0026amp;rsquo;s cracker open I know that the first thing we need to do and I\u0026amp;rsquo;m pretty sure we don\u0026amp;rsquo;t need to undo the whole chassis to replace the screen is take a knife. I\u0026amp;rsquo;m very very carefully because this entire bottle is actually a sticker so you into …","created":"Dec 26 2020","last-modified":"Mar 23 2021"},{"title":"Jakes Advice","url":"https://ryanfleck.ca/transcripts/jakes-advice/","content":"Video: https://www.youtube.com/watch?v=81hFEfVsC-k Transcript¶ For the past 4 months this is how I\u0026amp;rsquo;ve spent roughly 95% of my time.\nJust chilling, sitting here doing\u0026amp;hellip; God knows what, programming?\nRight now I\u0026amp;rsquo;m working on a C++ Program assignment and it\u0026amp;rsquo;s been fun\u0026amp;hellip; But let me tell you the story of the best advice I ever received, and it wasn\u0026amp;rsquo;t from a person it was surprisingly enough it was just from a TV show and not even an adult TV show, a cartoon.\nAny …","created":"Dec 26 2020","last-modified":"Mar 23 2021"},{"title":"Semantic Release","url":"https://ryanfleck.ca/2020/semantic-release/","content":"Tagged releases with attached builds are great; especially when you don\u0026amp;rsquo;t need to tag, build, upload, and release it yourself. Enter Semantic Release, an \u0026amp;lsquo;aromantic\u0026amp;rsquo; automated release system.\nWorking in the tech industry, you\u0026amp;rsquo;ve probably heard of semantic versioning: the practice of marking releases with three numbers, separated by periods, denoting the major, minor, and patch version. The \u0026amp;lsquo;official\u0026amp;rsquo; semver website has a detailed explanation, which relies on …","created":"Nov 07 2020","last-modified":"Jan 16 2025"},{"title":"Embedded WebVR Panoramas","url":"https://ryanfleck.ca/experiments/embedded-webvr-panoramas/","content":"This is a test to embed WebVR content on a webpage.\nWarning: huge image, (~10mb) so don\u0026amp;rsquo;t open while using mobile data. I\u0026amp;rsquo;ll probably be able to improve the performance of the page by compressing the image somehow.\nHere\u0026amp;rsquo;s the flat image:\nphoto sphere Here\u0026amp;rsquo;s the A-Frame rendering a portion of the image:\nUsing https://social.shorthand.com/hadders/j2uMHSOuUT/using-360degree-media-in-your-web-pages Potentially more performant solutions:\nSharing 360 photos Failures:\nUsing …","created":"Sep 14 2020","last-modified":"Mar 23 2021"},{"title":"Userscripts","url":"https://ryanfleck.ca/2020/pr-userscript/","content":"Had my first foray into the wonderful world of userscripts today.\nAfter pushing the Show More button on a Github pull request one too many times, knowing about userscripts, I decided to install TamperMonkey and get to work.\nHere\u0026amp;rsquo;s the script I wrote to click the Show More button until all comments were visible and could be properly audited:\n// ==UserScript== // @name PR ExpandR // @namespace http://ryanfleck.ca/ // @version 1.0 // @description Expand all GitHub PR conversations. // @author …","created":"Aug 05 2020","last-modified":"Mar 23 2021"},{"title":"Crushing Your Opponents with Thor","url":"https://ryanfleck.ca/reference/aom_thor/","content":"Ever wanted to match your experienced friends in Age of Mythology with little experience? You\u0026amp;rsquo;ve come to the right place. Read on and learn how to absolutely grind your opponents to paste with the deity Thor.\nAdapted from \u0026amp;ldquo;HellsRavage\u0026amp;rsquo;s Guide To Playing Thor\u0026amp;rdquo; at aomguides.com .\nWe must start off with a few key concepts to fully understanding the strengths and weaknesses. Thor is the most versatile god in AoT, and is most often considered one of, if not the strongest of …","created":"Apr 13 2020","last-modified":"Jun 25 2022"},{"title":"Paper over Keyboard","url":"https://ryanfleck.ca/2020/dumb-hackerrank-problem/","content":"So, I completed a HackerRank problem this morning to work my brain back into shape for upcoming interviews. The problem is titled The Minion Game, and the lesson I learned while completing this problem was measure twice, cut once, aka I didn\u0026amp;rsquo;t spend enough time thinking about the problem before programming.\nWorking out a programming problem on paper first will help you solve it most of the time.\nhackerrank.com/challenges/the-minion-game/problem Question¶ Kevin and Stuart want to play the …","created":"Jan 14 2020","last-modified":"Mar 23 2021"},{"title":"MSP430 Timer Module","url":"https://ryanfleck.ca/2020/msp430-timer/","content":" MSP430F5529LP?¶ Texas Instruments\u0026amp;rsquo; Launchpad Microcontrollers are used in UOE Racing\u0026amp;rsquo;s electric car projects. UOE\u0026amp;rsquo;s entry for the Shell Eco-Marathon competition relies on an MSP430 Launchpad board to control a DRV8323, which controls a brushless DC (BLDC) motor. As part of a small team, I am responsible for improving the code to control the DRV8323, and by extension, the BLDC.\nA timer, the CPU peripheral that ticks down to zero then interrupts the CPU, is a very practical tool …","created":"Jan 11 2020","last-modified":"May 20 2026"},{"title":"Notes on VHDL","url":"https://ryanfleck.ca/2019/vhdl/","content":" Preamble¶ VHDL stands for Very High Speed Integrated Circuit Hardware Design Language. No, I\u0026amp;rsquo;m not kidding. Despite being a mouthful, the language is used by engineers to prototype and describe industrial digital logic.\nThis document started as a copy of living notes for the CEG3155 course I was taking, Digital Systems II. It lives on as I implement MIPS processors in CEG3156, Computer System Design.\nThe two primary types of VHDL logic the course deals with (and I deal with within this …","created":"Oct 13 2019","last-modified":"Mar 23 2021"},{"title":"Passing Structs in C++","url":"https://ryanfleck.ca/2019/cpp-struct-passing/","content":"After a conversation with a friend revolving around passing structures to functions, I decided to write a short tutorial on passing structures to functions in three different ways! I am not a very experienced C++ programmer, but hopefully these examples will illustrate to a beginner the medley of ways that data can be passed into functions, and the pros \u0026amp;amp; cons of each method. Skip to the end if you learn better by reading code. We will pass the structure below by:\nValue Pointer Reference // …","created":"Oct 11 2019","last-modified":"Mar 23 2021"},{"title":"Notes on HC12 Assembly","url":"https://ryanfleck.ca/2019/hc12-asm/","content":" Introduction¶ The HC12 CPU is used to teach the CEG3136 class at the University of Ottawa. This document is a living personal reference to the CPU12 CISC instruction set. WIP!\nLet\u0026amp;rsquo;s get started with a practical example. Calculate:\nz = a + b - c A function written in C:\nvoid addstuff() { int z; int a=5, b=6, c=8; z = a + b - c; } Now in HC12 ASM, using sections for organization:\nconsts: SECTION var_a DC.W 5 var_b DC.W 6 var_c DC.W 8 data: SECTION z DS.W 1 code: SECTION addstuff: LDAA var_a …","created":"Oct 09 2019","last-modified":"Mar 23 2021"},{"title":"About","url":"https://ryanfleck.ca/about/","content":"Hey! My name is Ryan, and I am a passionate computer programmer.\nPresently, I work as a Senior Data Engineer at IBM Consulting, specializing in complex data ingestion and transformation within Snowflake, Azure, and on-premises environments. As a consultant, I lead and collaborate with many skilled developers, managers, and IT architects across clients in the manufacturing, healthcare, and oil \u0026amp;amp; gas industries. My expertise includes programming in multiple languages and paradigms, Snowflake, …","created":"Aug 17 2019","last-modified":"Feb 18 2026"},{"title":"Cow","url":"https://ryanfleck.ca/cartoons/one/","content":" ","created":"Aug 17 2019","last-modified":"Mar 23 2021"},{"title":"IBM Extreme Blue","url":"https://ryanfleck.ca/2019/ibm-extreme-blue/","content":"IBM shipped all of the North American Extreme Blue interns out to New York City for a few days to present our projects to a panel of executives, to which we had dedicated a summer and no small quantity of blood and sweat. I write this on my flight home from Newark, NJ to Billy Bishop in Toronto.\nTable of Contents Extreme Blue? What Did I Do? Oh, a Team of Four? Do I Recommend Extreme Blue? Do I Recommend a Regular Internship? The Best Parts Glamping New York City The Executive Presence Workshops …","created":"Aug 11 2019","last-modified":"Aug 30 2024"},{"title":"The 2018 MacBook Pro Keyboard","url":"https://ryanfleck.ca/2019/the-macbook-pro-2018-keyboard-sucks/","content":"As an intern at IBM, I was assigned an incredibly high-quality machine: A 2018, 15-inch MacBook Pro with 16 Gigs of DDR4 and the infamous touchbar. To buy this thing new, for personal use, it\u0026amp;rsquo;d cost me over $3500 of the near-worthless cash we Canadians call Dollars. Certainly a pricey machine, and it isn\u0026amp;rsquo;t for naught: The screen is excellent. I\u0026amp;rsquo;m sure that people have suffered for screens like this; surreal clarity, even lighting, vivid colors, a pixel density that\u0026amp;rsquo;ll let …","created":"Jul 10 2019","last-modified":"Feb 08 2025"},{"title":"The Zen of Vim","url":"https://ryanfleck.ca/2019/the-zen-of-vim/","content":"When is a tool more than a tool?\nWhen does a hammer transcend its ability simply to hammer nails, but becomes an extension of the workman\u0026amp;rsquo;s body, a physical manifestation of his will?\nWhen does the swordsman\u0026amp;rsquo;s sword feel, sense and touch as the swordsman\u0026amp;rsquo;s own hands would? To taste the slow drip of hot liquid and the texture of the fabric it cuts?\nFor the computer programmer, there is a point where he will become entwined with his tool of choice for manipulating the text of …","created":"Jul 10 2019","last-modified":"Mar 23 2021"},{"title":"Film Review: Equilibrium","url":"https://ryanfleck.ca/2019/equilibrium/","content":"As anybody who has ever spoken to me will know, I hold the writing of authors Aldous Huxley and George Orwell in very high regard. Equilibrium, while it didn\u0026amp;rsquo;t perform well in the Box Office, was thoroughly enjoyable and did a fantastic job of mixing together elements from two of the greatest dystopian novels ever written: Brave New World, and 1984. Additionally, a friend pointed out it also has firemen from Ray Bradbury\u0026amp;rsquo;s Fahrenheit 451, another great dystopian novel.\nThe film …","created":"Jul 08 2019","last-modified":"Mar 23 2021"},{"title":"The Case for Digital Minimalism","url":"https://ryanfleck.ca/2019/digital-minimalism/","content":"Exhausted. At the end of our workdays, Gen Zs all end up drained and numb, even if we don\u0026amp;rsquo;t seem to actually accomplish anything. Older adults puzzle over why, exactly, we all appear to be dead and passionless.\nCertainly, part of my personal issue was my attatchment to the new drug, digital media. I\u0026amp;rsquo;m certain my personal issues are also present in most members of my generation. Primar\nIt takes a fierce grip, tempting the mind with an open firehose of facts and events, keeping us …","created":"Jul 08 2019","last-modified":"Mar 23 2021"},{"title":"My Personal Journaling System","url":"https://ryanfleck.ca/2019/2019-05-20-journaling/","content":"Perhaps the most valuable thing I\u0026amp;rsquo;ve done for myself in recent months is beginning to write daily, about my life and my thoughts, in a critical and introspective way. This post is about the tools I have developed to make journaling quick and accessible from any machine.\nEditing a journal entry with Vim Above is the latest iteration of the je tool, which is now public and open source. . Since I\u0026amp;rsquo;m always near a command line, I decided to build tools that allowed me to quickly add …","created":"May 20 2019","last-modified":"May 20 2026"},{"title":"Accessing Git Repos with SSH","url":"https://ryanfleck.ca/2018/2018-12-27-git-ssh/","content":"SSH keys provide a convenient way to authenticate and interact securely with a git server. GitHub strongly recommends using SSH, and so do I.\nTo generate a key, you\u0026amp;rsquo;ll need to open a console window. If using Windows, you\u0026amp;rsquo;ll need to utilize the PuTTY tool to generate a key pair. If using a good operating system, enter the following, replacing the generic email with your own:\nssh-keygen -t rsa -b 4096 -C \u0026amp;#34;email@email.com\u0026amp;#34; Running this will prompt you to enter a password. Save …","created":"Dec 27 2018","last-modified":"Jul 04 2026"},{"title":"Last Week at MNP","url":"https://ryanfleck.ca/2018/2018-12-13-last-week-at-mnp/","content":"Twelve months. Twelve months I\u0026amp;rsquo;ve spent with two teams, four projects, heaps of technology, friends, mentors, deadlines, crunch time, rewards, comradery and clients. The kid who shakily agreed to a tech consulting internship a year ago might not recognize me today; the chip buffed out of my shoulder, gaze steady, speech thoughtful and clear. I\u0026amp;rsquo;ve been given direction and seen progress. I have my fantastic colleagues and managers to thank for this.\nSo, what exactly did I do this year? …","created":"Dec 23 2018","last-modified":"May 19 2026"},{"title":"Xalgorithms Development on GNU/Linux","url":"https://ryanfleck.ca/2018/2018-07-21-xalgorithm-development-on-fedora/","content":" Xalgorithms¶ The Xalgorthms platform has been designed to support the collaborative maintainance of a global body of rules for trade, commerce and taxes. A rule specification, compute method and authoring tools have been designed to enable organizations to use and manage this external body of shared algorithms.\nWhat follows s a short guide on how to set up the compiler and interpreter for prototype Xalgorithm Rules. Instructions for Fedora 28 are provided, but a similar process could be …","created":"Jul 21 2018","last-modified":"Jul 04 2026"},{"title":"Calligraphy with Inkscape","url":"https://ryanfleck.ca/2018/2018-07-07-calligraphy/","content":"With the goal of replacing my questionably-proprietary R, I decided to scrawl a fresh svg in InkScape. After an embarrassing number of revisions and rework, gravitating further away then back towards the original design, here is the final product.\nThe final \u0026amp;ldquo;R\u0026amp;rdquo; design I wanted the new image to meet the following criteria:\nMust look good in a circular or square format. Should be highly scalable and look good when tiny/huge. Mono/Dichromatic color scheme, for visual simplicity. Needs …","created":"Jul 07 2018","last-modified":"Jul 04 2026"},{"title":"Windows Mixed Reality","url":"https://ryanfleck.ca/2018/2018-06-24-wmr-june-2018/","content":" Preamble¶ As the Virtual Reality scene continues to improve, the aging first-gen conceptual headsets are becoming less expensive. The HTC Vive initially retailed at CAD $1200, and now sells for $700, whereas the Oculus Rift dropped from $800 for the standalone headset to $530 including motion controllers. Windows Mixed Reality headsets are the consumer offspring of all the R\u0026amp;amp;D that occurred for the HoloLens, namely inside-out tracking, and positioned themselves as the budget alternative to …","created":"Jun 24 2018","last-modified":"Jul 04 2026"},{"title":"Chinese Food with Richard Stallman","url":"https://ryanfleck.ca/2018/2018-05-15-lunchwithrms/","content":"\u0026amp;ldquo;Happy Hacking\u0026amp;rdquo;, he said with a smile. Written here is a short account of the meal I shared with the venerable Richard Stallman (rms ), father of the Free Software movement, a community whose ethos has evolved into the better half of the modern computing world (where people and quality come first!) I have no photos, autographs or records of the event (I wanted to respect rms\u0026amp;rsquo;s privacy,) but have come away with a medley of interesting contacts and experiences.\nA summary of the …","created":"May 15 2018","last-modified":"Jul 04 2026"},{"title":"Hard Knocks - My MNP Co-Op Experience","url":"https://ryanfleck.ca/2018/2018-04-28-worktermone/","content":"My last 4 months were spent with MNP LLP , a financial firm and technology consultancy. I\u0026amp;rsquo;ve learned a great deal from playing a small but essential role on the Digital Integration team. Becoming close with team members, coordinating development efforts, and discovering the strengths and weaknesses of my coworkers (along with my own,) has been a particularly rewarding experience. All this was not earned without hard work; I\u0026amp;rsquo;ve made a great deal of mistakes, stepped on a few toes, and …","created":"Apr 28 2018","last-modified":"Jul 04 2026"},{"title":"Build a Personal Website in an Afternoon","url":"https://ryanfleck.ca/2018/2018-03-30-jekylltutorial/","content":" Tutorial Overview¶ If you\u0026amp;rsquo;ve ever wanted a personal website; a place to showcase your experiments and opinions, away from pre-configured themes and terribly named domain postfixes, Jekyll , Kramdown , SASS , and Github Pages may be just the tools for you. The following post will present, in a thoughtful and concise manner, the material needed to get a website up and running at yourname.github.io.\nBy following this tutorial, you will learn how to use git and github to manage your code, …","created":"Mar 30 2018","last-modified":"Jul 04 2026"},{"title":"Attending UOttaHack 2018","url":"https://ryanfleck.ca/2018/2018-02-19-hackathon/","content":" Preamble¶ This past weekend, I attended uOttawa\u0026amp;rsquo;s first MLH1 Hackathon. After a long work week, I was prepared to show up and enjoy the event, but not to directly participate or join a team. Skipping the overnighter was, at the beginning of the event, a sad but necessary plan.\nAll thoughts of having a relaxing weekend were thrown out the window as I was unsuspectingly amalgamated into a very interesting group of people:\nD, a drifting developer with a colorful past involving surfing …","created":"Feb 19 2018","last-modified":"Jul 04 2026"},{"title":"VIM For The Just-In-Time Crowd","url":"https://ryanfleck.ca/2017/2017-12-29-vimforjits/","content":"VIM is the best programming tool, full stop. This short guide will take the average JIT1 student from \u0026amp;ldquo;why would I use this silly terminal thing\u0026amp;rdquo; to \u0026amp;ldquo;ohmygod where has this amazing tool been all my life?\u0026amp;rdquo; in 5 minutes, plus an hour or so of experimentation and adapting to the keybindings.\n1. What is VIM?¶ VIM is a text editor with infinite reprogrammability, time-traveling and full-line undo, and a seemingly endless list of very useful functionality. There is no end to …","created":"Dec 29 2017","last-modified":"Jan 12 2025"},{"title":"Mermaid Dynamic Page","url":"https://ryanfleck.ca/mermaid/","content":"This only exists to get the mermaid thing to render - don\u0026amp;rsquo;t move this.\nSee _default/mermaid.html\n","created":"Jan 01 0001","last-modified":"Feb 02 2025"}]