Salesforce, Python, SQL, & other ways to put your data where you need it

Need event music? 🎸

Live and recorded jazz, pop, and meditative music for your virtual conference / Zoom wedding / yoga class / private party with quality sound and a smooth technical experience

Bienvenue! Welcome!

My goal is to help you work faster.

I must speak and teach until I hear 10 people say, "That thing you taught me? I used it! And it saved me time!"

(Ahem ... although maybe blogging slower than I'd hoped. Ugh, coders' repetitive stress injury.)

So check out the tutorials. Play with code. Tell me about your triumphs.

Choosing a headless CMS without losing your head

24 Aug 2020 🔖 web development jamstack digital garden 💬 EN

Snap judgments about whether I’d ask my grandparents to use a variety of content management systems (CMSes) popular in the world of static website management:

Continue Reading

Why do bloggers love Markdown? Why use MDX? And other notes from MDXConf 2020

24 Aug 2020 🔖 jamstack web development 💬 EN

Live-notetaking from MDXConf below.

Continue Reading

Qu'est-ce qu'un générateur de site statique ?

18 Aug 2020 🔖 tutoriels développement web jamstack 💬 FR ( EN )

Dans les temps anciens, pour télécharger mon site web vers son serveur, j’ai composé à la main un dossier de fichiers du type .html pour servir comme des « pages » du site. Je ne veux jamais plus répéter un tel effort.

Lire plus

Qu'est-ce que l'hébergement web statique ?

18 Aug 2020 🔖 tutoriels développement web jamstack 💬 FR ( EN )

Avant de devenir développeuse, j’ai eu un site web personnel. Disons que c’était sur Je ne l’ai pas construit avec un constructeur de site web tel que Squarespace ou Wix.

Lire plus

What is a static site generator?

18 Aug 2020 🔖 tutorials web development jamstack 💬 EN ( FR )

In ancient times, I’d hand-write a folder full of .html-typed files and upload them to a directory katie on a web server, where they’d become my site’s “web pages.” I never want to do that again.

Continue Reading

What is static web hosting?

18 Aug 2020 🔖 tutorials web development jamstack 💬 EN ( FR )

Long before becoming a programmer, I had a personal web site. I was definitely already a nerd. Let’s say it was at I didn’t make it with a site builder like Squarespace or Wix.

Continue Reading

Heroku live previews for Gatsby + Sanity sites

17 Aug 2020 🔖 jamstack tutorials web development 💬 EN

I said previously that I wouldn’t use Gatsby Cloud’s free tier for hosting the “live preview” instance of a Gatsby site coupled with Sanity CMS because I didn’t find its usage quotas generous enough for handing over to a content author.

Today I’ll show you how to deploy a Gatsby site in “develop” mode to Heroku so that you can host a lovely site at

Update: at GatsbyConf 2021, Gatsby Cloud seems to have lifted the quotas sufficiently on their free tier to hand a small site over to a content author.

According to my friends, anyway. I haven’t been back to try it myself.

But in case that saves you time…

Continue Reading

Set plugin names and default visibility in Canvas course navigation menus

16 Aug 2020 🔖 api integration intermediate canvas instructure 💬 EN

David Tod taught the world to hide confusing plugins from faculty using Instructure Canvas’s API. Read on to find out how to rename plugins at the same time.

Continue Reading Notes

09 Aug 2020 🔖 graphql web development 💬 EN

I stumbled into the Party Corgi Discord, a community of front-end web developers who produce a lot of written, audio, and video content teaching and learning the tech they use.

I happened to be online when the opportunity arose to study as a group, which is great because at work my team just got access to a new product that uses GraphQL (an HTTP-based communications specification), and I had no idea in the slightest how to use it until I started playing with Gatsby a month ago. I thought it’d be fun to follow others’ lead and take notes in public.

Continue Reading

Rate-limiting API requests in Python with a decorator

28 Jul 2020 🔖 python tips api integration 💬 EN

The other day, I needed to make sure that a Python script I’m writing doesn’t call a REST API any faster than it’s allowed to.

I wanted “DRY,” readable code, so writing “if-else” code around every call to a function from the requests module was out of the question.

Continue Reading