Posts about 'things-i-learned'
-
A Handy Shell Script to Publish Jekyll Drafts
xkcd The quest to remove friction from posting to this blog continues. In an earlier post, I shared how I used rake to automatically generate a b...
-
Six Things I Bet You Didn't Know You Could Do With Chrome's Devtools, Part 2
This is the second of two posts about devtools tricks; these are sourced from a conference talk I attended in early November as well as from other ...
-
Six Things I Bet You Didn't Know You Could Do With Chrome's Devtools, Part 1
I just got back from TechBash conference in Pennsylvania. It was a great couple of days of meeting new people, reconnecting with old friends, and...
-
The Surprising Power of Jekyll's site.data
I’ve been speaking a lot this past year. This is new and exciting to me, and I want to track all my accomplishments, because each one of them fee...
-
Accessibility the Easy Way With Deque's Linter
I have been interested in, though never an expert in, web accessibility, for years. I believe common-sense affordances like alt text and keyboard n...
-
Who's Touching My Files? Watch Out With Watchman
Is Mr. Game and Watch a watch-man? I don’t see why not. I have a weird setup at work with a lot of interlocking config files. (We sort of halfway...
-
An Intro to vavr's Either
Either an orange or an apple would be delicious. Either is an incredibly useful tool in a Java programmer’s handbook, one that brings functional ...
-
How to set up a backend FastAPI server on nginx (or: I am bad at devops)
I’m setting up a new backend server for a silly side project I’m working on, and every time I do this I forget all the steps I need to follow. The...
-
Some Basic Rake Tasks for Jekyll Users
I recently tweaked a few of the (very basic) rake tasks I’m using to keep this blog going. Ruby isn’t my thing, but writing these was interesting...
-
What I Learned From Reviewing Hundreds of Conference Session Proposals
I did not actually give anyone an A+. Nor did I get the chance to write “see me”. Since last fall, I’ve been pitching (and giving!) talks at tech...
-
Partially Mocking a Class in Java
This is an example of complete mocking, but not the kind of mocking this post discusses. I love writing unit tests. i know this is an unpopular o...
-
What I Learned This Week: AI and Alt Text (Don't Do It)
For those of us who are sighted, it is easy to forget that alt text is a necessity for navigating the Internet for the millions of blind individu...
-
Don't Sync State, Derive It! (With Apologies to Kent C. Dodds)
Syncing is for swimming, not for state. This is a pretty standard lesson (Kent C. Dodds talks about it a lot in his React courses and on his blog...
-
The Making of (and Redesigning of) BookGuessr
A couple of years ago, I got into my head the idea that I wanted to make a Wikitrivia style game with novels. I love to read, there’s a lot of publ...
-
Secrets of the Git Commit Hash
I attended an online presentation recently about very specific ways git can get messed up. To be clear, git can get messed up in many ways, but t...
-
Save Time With Postman's Pre-Request Scripts
Postman is an incredibly powerful tool for prototyping and testing APIs. If you ever find yourself making any kind of API request to any service ...
-
Some Tips for Working With the Google Sheets Java SDK
At work, I’ve been working on a project that involves reading and writing data to and from a Google sheet. One could argue about the wisdom of usin...
-
What I Learned at Work Today: Status Code Tricks
At work yesterday, I came across this snippet of code in a Java class meant to handle HTTP responses: boolean isSuccessful(int statusCode){ re...
-
Cool Discovery: Over the Wire's Wargames
I was nerd sniped this weekend by a coworker who told me about Over The Wire’s wargames, which are self-directed cybersecurity challenges. I am jus...
-
Customizing the Command Line for Lazy People
The shell is personal. Why not make it customized to your every whim? Actually, there are decent reasons not to go crazy customizing things – main...
-
Hidden Export Options in Google Slides
To publish my slides for Reinforcement Learning for the Math-Phobic I had to do a lot of manual work. I cropped screenshots of the slides (and repl...
-
Works In Progress: Generating a Maze in Python
Last year I was messing around with maze generation. I thought I was going to make another game (more on that later). I didn’t get very far, but ...
-
Advent of Code Day 14: That Won't Work
I guess finding the answer to part 2 manually is not going to work. Imagine this GIF goes up to iteration 4999….
-
Composing Functions in Python
Beethoven did not compose any functions, that I know of. I have not done a lot of functional programming, although someone I used to volunteer wi...
-
About The F*ck
Dunno how y’all are feeling lately, but I just have a lot of curse words on my mind. And by complete coincidence (actually no really), continuing...
-
Webpack, Explained by Someone Who Just Learned What It Is
Image by digital designer from Pixabay What is webpack? At a recent casual meeting of Women & Gender eXpansive Coders DC (a local group I’ve...
-
Teaching a Reinforcement Learning Algo to Play Queens
Once you have created infinite games of Queens, you need to play infinite games of Queens. I don’t have time for that, so the next logical step i...
-
In Which I Go Down a Complete Rabbithole About Bash Completion
Ever wonder what is actually going on in your shell when you type, for example, cd ~/myp, hit <TAB>, and the shell completes ~/myproject? ...
-
Leveling Up on the Command Line
I am lucky in that my first exposure to computers was through the command line. I wasn’t a wizard by any sense when I realized that I could type...
-
Learnin' Kubernetes
At work, all teams are being asked to adopt Karpenter, which, as you can tell from the name, is related to Kubernetes. The adoption is a relativ...
-
What Is A Snowflake Stage?
At work the past week, I’ve been working with large datasets, trying to figure out the most efficient way to process and transform the data witho...
-
More Fitbit Dev Resources
The developing-for-fitbit journey continues… Breaking changes between SDK 4.x and 5.x The older Fitbit I have, a Fitbit Versa 2, uses software ...
-
Common Errors When Developing for Fitbit
Or maybe just common to me? Problem: Install failed: RPC call to 'app.install.stream.begin' could not be completed as the RPC stream is closed ...
-
Developing for the Fitbit Versa
In my previous post I said something about learning Android app development so I could make a Fitbit app. However, silly me– just because Google ow...
-
Firebase Crashlytics and Feature Flagging, or What I Learned at WITS Spring 2024
The following info comes from the Women in Tech Summit which I attended in Philadelphia this weekend. I may type up a more fluffy post about how it...
-
Local Firebase, or, how I learned to stop trashing my prod db
Noodle has a lot of the hallmarks of a solo dev side project, which is fair, because it is. Stupid simple deploy pipeline (which is probably a good...
-
Typescript-ifying Noodle
Over the spring and summer, I built Noodle, a minimalist, privacy-focused event scheduling app. (more) My friends and I use it all the time, but ...