• Home
  • Blog
    • Programming
    • Art
    • Recipes
    • Home Automation
    • Life
    • Friday Faves
    • Books
    • Writing
    • Games
    • Web Accessibility
    • Advent of Code
  • Projects
  • GLSL Shader Art
  • Glitch Art

  • Github
  • Bluesky
  • Mastodon
  • Duolingo
  • LinkedIn
  • RSS
  • Bridgy Fed

mary.codes

Web development, art, and tinkering with fun projects. JavaScript, Python, WebGL, GLSL, Rust, Lua, and whatever else I find interesting at the moment.

Blog

  • I started painting again
    Art
    Apr 1st, 2024

    Why I turn to painting when I need to unwind.

  • 100 days of Japanese on Duolingo
    Life
    Mar 22nd, 2024

    The bad, the good, and the alternatives to learning Japanese on Duolingo.

  • How I'm organizing my work in 2024
    Programming
    Mar 20th, 2024

    I'm always looking for good ways to organize my work notes. Here's a few new tactics I've been using for work and personal projects.

  • Watch the documentary 'Good Night Oppy' if you're feeling science-y
    Life
    Mar 18th, 2024

    I watched this film on a whim, and it re-ignited my love for space exploration.

  • Sculpted robo-goldfish, a rainbow office building, and a look inside click farms
    Friday Faves
    Mar 15th, 2024

    Also, digital gardens, rewinding detergent cassettes, and a special 6th thing.

  • I made... carnitas tacos with fresh corn tortillas
    Recipes
    Mar 13th, 2024

    When pork roast is half off at the grocery store, make carnitas.

  • Finding the Design Engineer within the Full-Stack Developer
    Programming
    Mar 11th, 2024

    I just learned about design engineering, and it sounds like a small part of what I already do.

  • Daily practice, spinning guitars, and Eloquent Javascript
    Friday Faves
    Mar 8th, 2024

    Also, what happens when AI is trained on your art and I found some neat public RSS aggregators.

  • Displaying the current Git branch in my Linux terminal prompt
    Programming
    Mar 6th, 2024

    A feature I didn't realize I was missing.

  • Generating a 3D map with OpenStreetMap and A-Frame
    Programming
    Mar 4th, 2024

    Part 2 of my experiment with OSM data. This time, instead of a canvas, I'm going to render the data in A-Frame to visualize it in 3D.

  • Baby elephants, world radio, and abandoned projects
    Friday Faves
    Mar 1st, 2024

    Also, a powerful isolated vocal track and Disney's newest park.

  • Are animated GIFs accessible?
    Web Accessibility
    Feb 28th, 2024

    Usually no, but I will make them accessible. No meme is going to tell me "no" and get away with it. Not even the Bugs Bunny one.

  • I went to my first developer conference, and I think I did it wrong
    Life
    Feb 26th, 2024

    Preparedness is key, and I was not ready.

  • One of my blog posts hit the top of Hacker News
    Life
    Feb 21st, 2024

    Yesterday, someone posted one of my articles to Hacker News and it ended up in the top spot. Here's what happened.

  • Translating OpenStreetMap data to HTML5 Canvas with Rust and WebAssembly
    Programming
    Feb 19th, 2024

    Using the Overpass API to read OSM data, parsing the data with Rust, and then drawing the map onto HTML5 canvas.

  • JavaScript sets and sorting Git branches
    Friday Faves
    Feb 16th, 2024

    Of course, I also found a couple of art posts.

  • The secret to the creamiest grits
    Recipes
    Feb 14th, 2024

    It's baking soda. Saved you a click. But please still click.

  • Why can't I make a pull request in GitHub mobile?
    Programming
    Feb 12th, 2024

    The GitHub mobile app lacks a basic functionality that many people need. Why hasn't it been implemented?

  • Johnny Costa, puzzle boxes, and AI glasses
    Friday Faves
    Feb 9th, 2024

    Please stop me from preordering $350 AI glasses.

  • Fix misbehaving grid children with display: contents CSS
    Programming
    Feb 7th, 2024

    A programmatically added child element can blow up your grids. Fix them with this CSS.

  • Kitbashing and 3D printing George Washingtits (NSFW)
    Art
    Feb 5th, 2024

    Putting George Washington's head on a woman's torso for the LOLs. Contains pictures of silly 3D printed NSFW content.

  • A month of posting, karakuri, and space exploration
    Friday Faves
    Feb 2nd, 2024

    Some more cool art, too.

  • Pendulums and sine waves in P5.js
    Art
    Jan 31st, 2024

    Creating algorithmic art with pendulum simulations and sine waves using P5.js.

  • Making a static word of the day site with Google AI Studio and GitHub Actions
    Programming
    Jan 29th, 2024

    An experiment using Google's Gemini Pro AI to generate new Japanese vocabulary words on a daily basis, with an automatic build step using GitHub Actions.

  • Disney Imagineer Lanny Smoot, a plea to blog, and tea battles
    Friday Faves
    Jan 26th, 2024

    Also, a roller coaster that jumps the tracks on purpose.

  • A capacitive stylus changed how I write
    Writing
    Jan 24th, 2024

    I got a capacitive stylus for drawing but I've been using it to write and take notes instead.

  • Enabling Japanese keyboards for Duolingo practice
    Life
    Jan 22nd, 2024

    How I enabled Japanese keyboards on my Android phone, Chromebook, and Pop!_OS computer.

  • The week of beautiful art
    Friday Faves
    Jan 19th, 2024

    The universe is funneling amazing art directly to me, and I'm not mad about it.

  • Daily protein smoothie recipe
    Recipes
    Jan 17th, 2024

    This is how I'm boosting my protein intake.

  • Streaking into the new year
    Life
    Jan 15th, 2024

    As in, tracking a habit in order to improve.

  • Pokémon art and website aggregators
    Friday Faves
    Jan 12th, 2024

    Finding cool indie sites and finishing The Curse.

  • In defense of "rabbit holes"
    Life
    Jan 10th, 2024

    Connecting totally unrelated threads, or, the Red Hot Chili Peppers and the frequency illusion.

  • Menu and sun/moon animated icons with CSS
    Programming
    Jan 8th, 2024

    Replacing static icon fonts with CSS animations.

  • Constellations, cubes, and 3D printed toilets
    Friday Faves
    Jan 5th, 2024

    The universe is big and I am ignorant.

  • Movies I watched in 2023
    Life
    Jan 3rd, 2024

    I made an effort to track all the new and new-to-me movies I watched in 2023.

  • New Year's CSS Cleanup
    Programming
    Jan 1st, 2024

    Overhauling my site with cleaner, more performant CSS for the new year.

  • Updating blog deployments with Github Actions
    Programming
    Nov 19th, 2023

    Moving from Gatsby Cloud back to GitHub pages, with automatic deployments.

  • I made... chocolate croissants
    Recipes
    Mar 21st, 2023

    Chocolate croissants.

  • I read three books in two weeks
    Books
    Jan 16th, 2023

    Working on exceeding my book goal for 2023

  • Kielbasa and sauerkraut
    Recipes
    Jan 1st, 2023

    Ringing in the new year with kielbasa and sauerkraut.

  • Avoid doomscrolling with app pinning on Android
    Life
    Dec 30th, 2022

    Desperately trying to break the social media habit.

  • I made... fresh pasta from scratch
    Recipes
    Dec 28th, 2022

    I'm now the owner of a pasta roller.

  • Learning how to control an LED light strip with an ESP8266 microcontroller and WLED
    Home Automation
    Dec 20th, 2022

    Making Wi-Fi LED light strips happen without a Raspberry Pi.

  • Advent of Code 2022, Day 8 -- Treetop Tree House
    Advent Of Code
    Dec 8th, 2022

    Rust solutions to Advent of Code 2022, day 8.

  • Advent of Code 2022, Day 7 -- No Space Left On Device
    Advent Of Code
    Dec 7th, 2022

    Rust solutions to Advent of Code 2022, day 7.

  • Advent of Code 2022, Day 6 -- Tuning Trouble
    Advent Of Code
    Dec 6th, 2022

    Rust solutions to Advent of Code 2022, day 6.

  • Advent of Code 2022, Day 5 -- Supply Stacks
    Advent Of Code
    Dec 5th, 2022

    Rust solutions to Advent of Code 2022, day 5.

  • Advent of Code 2022, Day 4 -- Camp Cleanup
    Advent Of Code
    Dec 4th, 2022

    Rust solutions to Advent of Code 2022, day 4.

  • Advent of Code 2022, Day 3 -- Rucksack Reorganization
    Advent Of Code
    Dec 3rd, 2022

    Rust solutions to Advent of Code 2022, day 3.

  • Advent of Code 2022, Day 2 -- Rock Paper Scissors
    Advent Of Code
    Dec 2nd, 2022

    Rust solutions to Advent of Code 2022, day 2.

  • Advent of Code 2022, Day 1 -- Calorie Counting
    Advent Of Code
    Dec 1st, 2022

    Rust solutions to Advent of Code 2022, day 1.

  • How I blog from my phone using Termux
    Programming
    Nov 8th, 2022

    I now have everything set up so I can remote into my blogging machine.

  • Daily conversations with Ursula
    Games
    Nov 5th, 2022

    Ursula needs to stop sleeping in the early evenings in Disney Dreamlight Valley.

  • Twitter
    Life
    Nov 4th, 2022

    I wonder how long it will take me to receive my Twitter data.

  • Easy naan
    Recipes
    Nov 3rd, 2022

    Tasty naan bread perfect as a side for tikka masala or butter chicken.

  • Halloween flower tower 2022
    Life
    Oct 30th, 2022

    Building a Halloween flower tower with marigolds and black sweet potato vine.

  • Moving my blog from Netlify to Gatsby Cloud
    Programming
    Aug 20th, 2022

    Employing Reactive Site Generation on my site by moving from Netlify to Gatsby Cloud

  • Thai Coconut Ramen
    Recipes
    Aug 13th, 2022

    Quick and easy coconut curry ramen noodles.

  • Creating a Wordle command line clone in Rust
    Programming
    Apr 15th, 2022

    Hopping on the Wordle craze a little too late, I decided to create a command-line Wordle clone in Rust called NOT THAT WORD GAME.

  • Updating drivers again for Ubuntu 21.10
    Programming
    Apr 10th, 2022

    How updating to Ubuntu 21.10 and the Linux 5.13 kernal broke the Realtek 8812au driver for my Wi-Fi dongle and how I fixed it.

  • Shape packing with P5.js
    Art
    Jan 12th, 2022

    Generating non-overlapping shapes that fill an area with P5.js.

  • 3D printing generative art with P5.js and Blender
    Art
    Jan 7th, 2022

    How I use P5.js, Inkscape, Blender, and Cura to create simple 3D prints of computer-generated art.

  • Things I did in 2021
    Life
    Dec 31st, 2021

    Accomplishments, achievements, and random things I did in the past year.

  • Book Review: 'The Immortalists' by Chloe Benjamin
    Books
    Dec 29th, 2021

    My review of the novel 'The Immortalists'.

  • My first mobile game, six years later
    Programming
    Dec 22nd, 2021

    I resurrected a mobile game that I made in 2015 that helped me get my first programming job.

  • JavaScript error handling with try/catch
    Programming
    Dec 2nd, 2021

    How I like to describe a try/catch block.

  • Developing on a Chromebook via SSH
    Programming
    Nov 29th, 2021

    How I'm setting up my old ASUS Chromebook to do some development outside in nice weather.

  • Quick and dirty React.js and CSS dark mode
    Programming
    Nov 26th, 2021

    The only thing in my life that doesn't have a dark mode is my own website.

  • My five-day TV fast
    Life
    Nov 24th, 2021

    I tried to live without TV for five days, and what I learned from it.

  • Rust, WebAssembly, and FCKed Editor, a cursed markdown editor
    Programming
    Nov 21st, 2021

    Another intentionally useless website! This time, I'm using Rust to create a markdown parser that returns emojified text.

  • Lines of code and word counts with xargs and wc
    Programming
    Nov 14th, 2021

    An easy way to count lines and words within a directory using xargs and wc on Ubuntu.

  • Programming in portrait with a monitor stand
    Life
    Nov 9th, 2021

    How buying a monitor stand has made programming fun and efficient again.

  • Grogu's Half-Batch Macarons
    Recipes
    Nov 4th, 2021

    A smaller recipe that makes enough macarons for two or three people.

  • Updating a Raspberry Pi to Python 3.9
    Programming
    Nov 2nd, 2021

    Steps for updating and compiling newer versions of Python on the Raspbian operating system.

  • WCAG Guideline 1.3 - Adaptable
    Web Accessibility
    Jun 13th, 2021

    My notes on WCAG guideline 1.3 - Adaptable.

  • WCAG Guideline 1.1 - Text Alternatives
    Web Accessibility
    Jun 12th, 2021

    My notes on WCAG guideline 1.1 - Text Alternatives.

  • Optional chaining and nullish coalescing in JavaScript
    Programming
    Jun 8th, 2021

    Using optional chaining and the nullish coalescing operator to clean up JavaScript object references.

  • Fishless Tacos with Mango Salsa
    Recipes
    Jun 7th, 2021

    Delicious vegetarian fishless tacos with a homemade mango salsa.

  • Useful git commands
    Programming
    Jun 6th, 2021

    Git commands that I use daily, and git commands that I've squirreled away in notes that occasionally come in useful.

  • Air conditioning float switches for dumb homeowners
    Life
    Jun 5th, 2021

    How I managed to flood my house because I didn't know what an air conditioning float switch was.

  • Domain redirects with Netlify and Gatsby
    Programming
    May 19th, 2021

    Using Netlify's DNS to forward to a new domain name for my Gatsby blog.

  • Running Home Assistant on a Raspberry Pi 3 from an external hard drive
    Home Automation
    Jan 16th, 2021

    A setup guide for booting Raspberry Pi OS from an external hard drive and installing Home Assistant in a Python virtual environment.

  • Advent of Code 2020, Day 9 -- Encoding Error
    Advent Of Code
    Dec 9th, 2020

    Python solutions to Advent of Code 2020, day 9.

  • Advent of Code 2020, Day 8 -- Handheld Halting
    Advent Of Code
    Dec 8th, 2020

    Python solutions to Advent of Code 2020, day 8.

  • Advent of Code 2020, Day 7 -- Handy Haversacks
    Advent Of Code
    Dec 7th, 2020

    Python solutions to Advent of Code 2020, day 7.

  • Advent of Code 2020, Day 6 -- Custom Customs
    Advent Of Code
    Dec 6th, 2020

    Python solutions to Advent of Code 2020, day 6.

  • Advent of Code 2020, Day 5 -- Binary Boarding
    Advent Of Code
    Dec 5th, 2020

    Python solutions to Advent of Code 2020, day 5.

  • Advent of Code 2020, Day 4 -- Passport Processing
    Advent Of Code
    Dec 4th, 2020

    Python solutions to Advent of Code 2020, day 4.

  • Advent of Code 2020, Day 3 -- Toboggan Trajectory
    Advent Of Code
    Dec 3rd, 2020

    Python solutions to Advent of Code 2020, day 3.

  • Advent of Code 2020, Day 2 -- Password Philosophy
    Advent Of Code
    Dec 2nd, 2020

    Python solutions to Advent of Code 2020, day 2.

  • Advent of Code 2020, Day 1 -- Report Repair
    Advent Of Code
    Dec 1st, 2020

    Python solutions to Advent of Code 2020, day 1.

  • Quick and dirty fan hacking with a Raspberry Pi and a 433MHz transmitter
    Home Automation
    Nov 19th, 2020

    How I made a quick prototype to control my remote-controlled fan with my phone in less than two hours.

  • Mary's Famous Vegetarian Biscuits and Gravy
    Recipes
    Nov 15th, 2020

    I've been making these vegetarian biscuits and gravy for over a year. The recipe is constantly evolving, but always delicious.

  • Upcoming project - Hacking fans and beds
    Programming
    Nov 14th, 2020

    Links to support an upcoming Raspberry Pi project.

  • Server-side Rendering and API Calls in Rust
    Programming
    Nov 10th, 2020

    Making one of my useless websites in Rust, with server-side rendering and parsing JSON from external APIs.

  • Intentionally Useless Websites
    Programming
    Nov 9th, 2020

    Making websites that are intentionally useless for fun and learning.

  • Creating a ROT13 Encoder/Decoder in Rust
    Programming
    Nov 1st, 2020

    Dipping my toes into Rust by making a CLI that will encode and decode ROT13 cyphers.

  • Easy One-Pot French-Style Scrambled Eggs
    Recipes
    Oct 30th, 2020

    Easy and delicious creamy and buttery scrambled eggs.

  • Transitioning From a Blog to a Digital Garden
    Writing
    Oct 29th, 2020

    Reducing writing anxiety by removing dates from posts, curating by category, and allowing unfinished thoughts.

  • Spreadsheets for everything
    Life
    Dec 28th, 2019

    How I'm trying to organize everything with spreadsheets.

  • Creating a Fitbit watch face
    Programming
    Dec 26th, 2019

    Creating my first Fitbit Versa 2 watch face.

  • Lazy Sweet Potato, Squash, and Black Bean Enchiladas
    Recipes
    Dec 24th, 2019

    My lazy version of sweet potato, squash, and black bean enchiladas adapted from the Thug Kitchen cookbook.

  • So Much to Update
    Life
    Oct 6th, 2019

    The last few months have been a whirlwind of vacations, Disney, and work.

  • Lentil and Mushroom Coconut Curry Risotto
    Recipes
    Jul 23rd, 2019

    A coconut curry rice and veggie dish.

  • New Project - Thinkery, a Laravel Self-Hosted Markdown Microblog
    Programming
    May 26th, 2019

    I created my own personal microblogging platform for maryknize.com and learned Laravel along the way.

  • Ubuntu 19.04 Disco Dingo Driver Drama
    Programming
    Apr 19th, 2019

    How updating to Ubuntu 19.04 Disco Dingo borked the Realtek 8812au driver for my Wi-Fi dongle and how I fixed it.

  • Book Review: 'The Good Neighbor - The Life and Work of Fred Rogers' by Maxwell King
    Books
    Mar 30th, 2019

    I review Fred Roger's biography and compare it to other documentary works.

  • Creating a Duolingo Widget in React and PHP
    Programming
    Mar 23rd, 2019

    Attempting to create a widget to display my Duolingo progress with the Duolingo API, React, and some back-end PHP.

  • Creating an Animated GIF on the Command Line
    Art
    Mar 5th, 2019

    How to use ImageMagick and FFmpeg to turn a video into an animated GIF.

  • Using Exif Data to Annotate Images in GatsbyJS
    Programming
    Mar 3rd, 2019

    Creating image gallery pages using exif data for titles and descriptions after migrating to Gatsby and GraphQL.

  • Learning Languages for Fun
    Life
    Oct 14th, 2018

    Continuing with language learning after a multi-year absence.

  • Glitch Art with SoX, ImageMagick, and Vim
    Art
    Jul 31st, 2018

    Databending images to create interesting effects using audio, image, and text editing software.

  • Custom Domains with GitHub Pages and Namecheap
    Programming
    Jul 22nd, 2018

    Instructions for easily setting up a custom domain on GitHub pages with a Namecheap domain.

  • The Allure of the Alternate Reality Game
    Art
    Mar 25th, 2018

    I've suddenly fallen down a rabbit hole of alternate reality games and I can't get out.

  • The Bullet Journal
    Writing
    Mar 12th, 2018

    Why daily journaling supercedes blogging.

  • Book Review: 'The Advantage: Why Organizational Health Trumps Everything Else in Business' by Patrick Lencioni
    Books
    Jan 11th, 2018

    My review of the organizational business book 'The Advantage' by Patrick Lencioni

  • Lessons Learned From Shipping a Large Project
    Programming
    Jan 9th, 2018

    These are the lessons I've learned from shipping a year-long software project.

  • Spotify Mini From The Command Line
    Programming
    Jan 3rd, 2018

    How I made a mini Spotify player happen from the MacOS command line.

  • A Static Blog Generator From Scratch
    Programming
    Jan 2nd, 2018

    How I couldn't find the static blog generator I wanted, so I quickly coded my own.