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.

Big Data: What to learn

02 Apr 2021 🔖 architecture databases sql tips 💬 EN

Migrating an oldie but a goodie to the new blog. Back in 2016, I gave a friend who wants to career-change into data science some advice for starting to learn about big data, and I think a lot of the advice has stood the test of time, even if we don’t hear that catchphrase as much as we used to.

Continue Reading

Checking a password against Troy Hunt's list

28 Mar 2021 🔖 tips 💬 EN

Troy Hunt, of, a site that helps you learn what data breaches your email address was involved in, also keeps a database of hacked passwords at so you can check if your password’s as bad as password123 without actually typing your password anywhere on the internet. I can’t remember where I found my instructions for using it anymore, so I’m writing it down myself for future reference, and I apologize to whoever I’m not crediting. I dusted these off recently to make a case to a family member for changing certain passwords I don’t approve of (tip: just get your passwords from Gibson Research Corporation’s random high-entropy password generator).

Continue Reading

Anonymous PLSQL subquery from a file

23 Mar 2021 🔖 databases sql integration 💬 EN

In PL/SQL Nested Queries, we learned how to leverage compiled-into-the-database Oracle SQL record & table-of-record types in anonymous PL/SQL to save the results of one SELECT into a variable, then use them as a filter in another SELECT. But what if we’d rather populate our variable from a file?

Continue Reading

Tailwind JIT starter for 11ty (play fast!)

19 Mar 2021 🔖 jamstack web development 💬 EN

Check out my 11ty starter for Tailwind Just-In-Time (JIT). It’s a FAST editing experience. See it here.

Darrik’s architecture for 11ty Tailwind still works, but the JIT details here are outdated. I’ll update the repo when I get a chance to actually test my edits, but note that now you just install the normal Tailwind Node package, point your custom 11ty JS at normal Tailwind, point postcss.config.js to normal Tailwind, & enable JIT mode through tailwind.config.js.

Continue Reading

Off-by-one errors in Python API pagination

16 Mar 2021 🔖 python tips 💬 EN

If you have json.loads(response.text) in a Python script using requests to perform a loop over API calls structured something like response = requests.get('') inside the loop, and you sporadically see an error stack ending in raw_decode mentioning ValueError from None like this, you might have an off-by-one error in your loop condition:

Continue Reading

A Lyris to Marketing Cloud imaginary architecture

15 Mar 2021 🔖 architecture integration salesforce marketing cloud 💬 EN

A lot of small organizations seem to have legacy use of Lyris (now Aurea) ListManager, even as they adopt newer mass e-mailing software like MailChimp or Salesforce Marketing Cloud.

One reason it’s been so hard to migrate away from is that Lyris offers you the ability to attach “magic e-mail addresses” to mailing lists (whose membership lists can be dynamically populated from an enterprise database), meaning, for example, that the chair of the Math department at a university can simply email from Microsoft Outlook, and it will be sent along as if they’d BCCed everyone.

For some internal groups, Microsoft Active Directory-based Office365 mailing groups can replace Lyris for this use case, but anyone in the organization can see their membership, so Lyris might still be preferred when list membership is a secret (e.g. to avoid harrassment of its members).

Today, I had a crazy idea that just might work to get Salesforce Marketing Cloud to behave more like Lyris for this use case.

Continue Reading

Can 11ty host my podcast for free?

10 Mar 2021 🔖 jamstack web development 💬 EN

Check out a GitHub repository where I’m building a podcast in 11ty. I’m feeling too cheap to mess with a proper CDN, since I haven’t fully committed to the idea.

Continue Reading

Stackbit can teach you web development

09 Mar 2021 🔖 jamstack web development 💬 EN

Have you seen Stackbit’s new “Code” & “Content” editors? I’m not sure what more a person needs in life to learn or teach static site generator HTML templating & front-matter data modeling practices.

I wish this had been around a year ago when I started my Jamstack journey.

Continue Reading

Data Development and Integrations (official Salesforce Developers podcast appearance)

08 Mar 2021 🔖 salesforce tips apex api architecture intermediate databases flow integration 💬 EN

Official Salesforce Developers podcast host Josh Birk is so much fun to geek out with!

Following up from Cactusforce, our working title was “APIs are for everybody,” but we threw in the whole kitchen sink of admineloper-ey goodness about Flow, data modeling, testing, Apex for beginners, user-oriented automation design, Python – and yes, APIs! – that the final show, hot off the presses, is called Data Development and Integrations.

Continue Reading

What's a docking station?

06 Mar 2021 🔖 videography 💬 EN

A docking station is a piece of hardware meant to be permanently-ish installed at 1 location, to facilitate plugging a laptop into accessories that are also permanently-ish installed at that location.

Continue Reading