All Articles
View the 544 articles on this site in reverse chronological order.
Welcome to the Internet Home of John M. Wargo; I created this site back in 2009 so I could post articles about things that interested me. Herein you’ll find articles on a lot of different topic areas: Mobile development, Web development, Internet of Things (IoT), and a lot more. Every time I learn some new technology or complete some cool or interesting development or IoT project I publish an article here.
You’ll also find information about my books, source code projects on GitHub, and articles published in or on other sites or magazines, even videos of my many conference presentations or project demonstrations. I’m also especially fond of the series of Stupid Developer Tricks posts.
You can view all articles in reverse chronological order, or you can find articles by category. Of course, if you can’t find what you need in those views, use Search to find anything anywhere on the site.
Note: An AI Generated pill displayed in the list below indicates that the post description displayed on the page was generated from the post content using Generative AI (GenAI). The post content itself was written by a human (me).
I received an interesting phishing/scam text message this morning. It seemed to come from a Charlotte Parking company notifying me of an unpaid parking invoice in the amount of $4.35 but there were a lot of things about the message that made me realize it was a scam.
Many online stores today use Shopify and the Shop app to manage payments, shipping and so on. I like the convenience of this approach, but there are a couple of issues I uncovered with it over the years.
I received an interesting email today that seemed to be from American Express indicating that someone (most likely a hacker) updated the phone number associated with my account. The email subject said: "Request To Update Your Contact Details Was Successful." and I almost panicked and clicked the link before I gave this careful thought.
Google recently started asking for ID verification for Play Store developers. The time came for me to submit mine and I dutifully submitted both a scan of my passport as well as a scan of my driver's license (both sides). Google, of course, repeatedly failed the verification process without telling me anything about what was wrong with my submission.
In Postal Scam Urtye dot com, I pointed out a lot of different ways you can easily tell when a text message you receive is crap. I received a lot more of those types of text messages lately and it's fun to watch them evolve.
A few weeks before the 2024 election, I suspended my campaign for president. I didn't want to keep votes from the candidate I wanted to win. I'm getting ready to delete the web site for my campaign but I thought I'd share with you links to the campaign store in case you want to pick up any Wargo 2024 branded items as a form of protest against our political system.
After publishing my link checker utility, I realized I wanted the ability to write the utility's settings in a project folder so I could quickly scan links for that project.
When I migrated this site from Joomla! to Eleventy, one of the things I didn't spend much time on was validating the links in the site (both internal and external links). I recently decided to spend some time to check all of the links in the site and ended up spending time building a utility that automated the process for me.
Describes a node.js-based utility I created and published to validate web links in a web site or page.
Over the years, I published a variety of Node.js modules and CLIs; the CLIs because I wanted to automate some operation I needed to make easily repeatable. For my CLIs, I started building them using command-line arguments, but I quickly forgot the arguments and order. Next I used configuration files, but then that tied me into a specific file or set of files for different operations. Eventually I started using an npm module called prompts that allows me to prompt for all of the configuration options either as the only input into the program or for writing the settings to a default configuration file. Yesterday I spent some time figuring out how to do conditional prompts, so that's the topic of this post.
View the 544 articles on this site in reverse chronological order.
View a list of the 28 categories in this site; from there you can drill down into all articles by category in reverse chronological order.
View details regarding the books I authored.
View a list of all of the articles I published in other publications (besides here).
View some of my projects that span multiple posts on this site or multiple GitHub repositories.
You can find me on more places than this site; the Sightings page lists the other places where you can find stuff I created.
View the source code projects in my public GitHub account.
View a list of all of my upcoming events (conference presentations, product demos, etc.).
View a list of the Internet sites I maintain.
Nothing to see here, move along.