Years ago, I created a sort of home dashboard to offer up relevant information–mostly when getting ready to head to work in the morning. I gave it the perhaps poor title of Good Morning Display, which has stuck all these years. This isn’t an original idea, by far. However, it has proven not only to be a useful information tool, but also a great platform for learning about new (to me) technologies.

Now, all the these years later, I’m thinking about another rewrite to better serve my current needs. What follows is a bit of a brain dump before I embark on this project. Keep reading for some history and my thoughts for what might be next…

Continue reading

Jon Udell’s 7 Guiding Principles for Working with LLMs has some really solid advice on using Large Language Models. His usage is mostly around software development and writing. Two areas where these LLMs can really shine.

By the way, Jon’s Seven ways to think like the web is still as relevant today as it was in 2011.

I’ve only dipped my toe into the LLM pool thus far. As I embark on a personal project, I’ll follow these principals while I lean on LLMs to make up for my lack of recent knowledge and experience in developing tech. I find them to be especially helpful with the syntax and best practices type questions I would have been scouring in Stackoverflow for in the past.

Regular expressions seem like a dark art to me. I use very simple ones frequently enough to remember a few things. Anything slightly more advanced probably involves web searching and copy/paste.

Regexer is a tool for learning and experimenting with regular expressions. It does a great job of breaking down the expressions and showing how each element works. There’s also an extensive library of community patterns to choose from.

via Flowingdata

TL;DR Intuit uses their customers’ customers to drive adoption of their payments solution.

The screenshot below is where one is led after clicking the “view invoice” button. If the customer clicks the giant green button, an email is sent back to business (Intuit’s customer) indicating that “[customer name] wants to pay you and needs your help”. The email sent back to the business is really just a marketing piece prompting the business to sign up for Quickbooks payments.

What about the user trying to view their invoice? What benefit to they get for clicking that giant green button and unknowingly firing a marketing email to their vendor? They get some more copy to read, copy that doesn’t get them any closer to seeing that invoice. They still need to click on the small “view invoice…” link, which they missed on account of the giant green button.

It’s a terrible experience all around.

For those who might not know, Quickbooks is a popular bookkeeping system for small businesses. In my opinion, it makes bookkeeping quite straightforward. There is no freemium tier for Quickbooks (as far as I know), so everyone is paying for the service. Intuit includes a fair amount of marketing in the application for their additional services like payments and banking products. However, that marketing information rarely seems to get in the way of the core functionality.

This invoice email, on the other hand, really gets in the way. It is confusing for customers, and difficult for those using Quickbooks to turn off. A busy bookkeeper or business owner is unlikely to know this is happening until they start seeing those “…wants to pay you and needs your help.” emails. Businesses and especially their customers shouldn’t be punished because Quickbooks payments hasn’t been enabled. The invoice emails sent by Quickbooks to their customers’ customers should not be used to push additional services.

By the way, I called out Inuit almost ten years ago for some other nonsense: Dark Pattern: Turbotax Marketing Email Smells Phishy. Obviously, I caved and started using their projects since then. But this one really grinds my gears. Please stop doing this, Intuit.

The One a Day project I mentioned before was my second attempt at using ChatGPT to do something useful. I can’t talk about the first attempt, please don’t ask, very hush hush.

I’m happy to report it cranked out code not unlike what I would have if left to my own search + copy + paste devices. So, I understand why software professionals are skeptical. In its defense, it actually suggested using flask in the first iteration, but I asked dumb it down a bit. It gave me something simple, and I modified it a bit. In the end, I’d say ChatGPT cut the time in half on this tiny project. It’s on github if you care to judge.