All of My Content
By Adam Tuttle on Invalid DateTime
Aug 29, 2024
vscode productivity VSCode is an incredibly productive IDE, but ⌘P can only take you so far. Nobody was sharing keyboard shortcuts/tips for navigating the Explorer panel, so I figured it out for myself, and I'm sharing it here.
Jul 8, 2024
product business My analogy for the importance of trying and the defense of failing.
Apr 24, 2024
javascript esm testing mocking ESM is supposed to be the future of JavaScript, but writing tests for ESM code can still be a huge pain because of one problem: Mocking. I've found an easy way to make ESM mocking just work .
Jan 5, 2024
osx A collection of tools I use to customize my Mac, and be productive as a web developer on a day to day basis.
Nov 17, 2023
cfml The CFML language doesn't have first class support for object decorators. I think it would be pretty useful if they did. Here's one way I would use them.
Oct 12, 2023
life choose your hard Every now and then the choose your hard meme spikes on social media. Some are quick to denounce it as a false choice because not everything hard is a choice. They're missing the point.
Mar 3, 2023
technical debt software craftsmanship An explanation of how to frame the discussion so that the business sees value in reducing and preventing technical debt.
Feb 28, 2023
aws rds ebs encryption You accidentally deployed EC2 instances or RDS instances with un-encrypted storage. Now what?!
Feb 13, 2023
svelte tailwind Tailwind's JIT compiler is awesome, but by default it won't inspect installed component libraries.
Dec 9, 2022
svelte It's obvious once you see it. Not so obvious before that.
Nov 14, 2022
mysql Some lessons have to be learned the hard way.
Nov 7, 2022
svelte typescript A quick reference on the current state of how to configure your Svelte project for TypeScript usage.
Aug 3, 2022
best practices 22 years after the original Joel Test was published, Ben and I dissect it and give it a glow-up.
Jul 26, 2022
aws architecture javascript There's a non-obvious benefit to the way that AWS implements lambda concurrency and it's worth considering.
Jun 29, 2022
docker A quick reference on how to browse the contents of a production docker image
Jun 13, 2022
aws sqs cloudwatch My method doesn't use SNS or Lambda.
May 10, 2022
semaphore open source Semaphore is about to get its first major version bump, which means there's a breaking change. I wonder what it could be!
Mar 2, 2022
work-anniversary I've been with AlumnIQ since March 2nd 2012. It seems like most people these days would tell you that's a terrible idea.
Feb 10, 2022
architecture best practices What exactly does it mean to avoid premature optimization?
Jan 28, 2022
meta google Google is shutting down free custom-domain accounts, even for grandfathered users, so it's time to do the thing we've all be putting off for too long.
Jan 25, 2022
javascript testing Even if you were already aware of the spread operator, you may not have thought about this opportunity.
Jan 14, 2022
javascript typescript The first major stumble I had while learning TS was how to create useful anonymous types for massaged data. The answer turns out to be really simple and once you know the technique the error message is a useful reminder.
Jan 10, 2022
javascript npm In a move that will shock exactly nobody, news outlets are sensationalizing the latest npm module drama.
Dec 1, 2021
open source taffy productivity automation First make the change easy, then make the easy change.
Nov 28, 2021
books devops agile A (spoiler alert) fun novelisation of DevOps/Agile principles.
Nov 28, 2021
sveltekit svelte This was one of the first few problems I faced when learning SvelteKit, and the solution is surprisingly easy!
Nov 19, 2021
meta A bunch of stuff on my website has changed, and nobody will care, so I'll talk to myself about it.
Nov 18, 2021
docker
Nov 17, 2021
clean code best practices It's popular to vehemently hate the proliferation of tiny npm utility modules. But is that a good thing?
Nov 16, 2021
svelte sveltekit javascript It's not a common use case, but if you ever need it then this is a really handy trick.
Oct 27, 2021
testing tdd On my journey to get better at testing I've been learning about TDD. But I'm starting to wonder if TDD is universally the 'best' design process.
Sep 20, 2021
postgresql Everything I had to research on my first day using Postgres, coming from MySQL
Sep 9, 2021
testing tdd Most TDD tutorials assume it's your first day behind the keyboard
Sep 6, 2021
testing tdd books My thoughts, review, and notes on the Bible of TDD
Aug 24, 2021
taffy open source After almost 4 years stable at version 3.2, there's a new version of Taffy available!
Aug 6, 2021
cfml forgebox I no longer publish my open source software on ForgeBox.
Aug 2, 2021
semaphore open source How to get started with my custom feature flags engine for CFML
Jul 27, 2021
rest assured Want my book but not into eBooks? It's your lucky day! REST Assured is now available in paperback!
Jul 6, 2021
docker npm javascript Using npm scripts to make an env-aware startup command
Jun 30, 2021
learning in public testing tdd Moving slow and methodically can be really hard if you've been training for years to move fast and break stuff.
Jun 11, 2021
testing Sharing some of the articles I've been reading, and videos I've been watching, specific to testing.
Jun 4, 2021
learning in public testing Learning how to test well takes a lot of time and mental energy up front, but once you build up momentum it starts to pay off.
Jun 3, 2021
learning in public testing jest async Let me save you some time. I spent hours debugging this and another 20 minutes writing up a draft Stack Overflow question before the answer came to me.
May 27, 2021
learning in public javascript testing tdd I was stuck on TDD because I wouldn't let myself do the obvious thing.
May 27, 2021
learning in public javascript testing tdd I'm stuck on a TDD JS issue, so here are the details.
May 25, 2021
testing cfml Adam Tuttle shares what he has learned about how DAO's improve code testability
May 24, 2021
best practices Tabs cost you nothing and give your team more options. They're the more accessible choice.
May 21, 2021
semaphore open source How can something be both deterministic and random?
May 20, 2021
semaphore open source DIY webhooks make hard things easy
May 19, 2021
semaphore open source I've created an open source, minimalistic, feature-flags rules engine for CFML.
May 14, 2021
semaphore adam cameron cfml json Some solutions are too brilliant for their own good
May 12, 2021
clean code best practices Don't suppress your attention to detail. It's a symptom of professionalism.
May 11, 2021
my next tech stack What is the ideal tech stack in 2021? Thoughts on goals and options.
Apr 21, 2021
clean code best practices My thoughts on breaking rules
Mar 19, 2021
automation Hacking Makefiles to do things they were never meant to do...
Jan 29, 2021
automation lucee A code snippet to enable jumping directly from error reports to the offending lines of code
Nov 5, 2020
git security It's not that hard to setup, and it matters.
Oct 23, 2020
react.js Notes summarizing what I've learned about the core React hooks.
Sep 21, 2020
automation This is probably crazy and inadvisable. Which is part of what makes it fun!
Sep 18, 2020
node express What we did differently when the attacker came back after deploying our initial protections.
Sep 10, 2020
taffy It amazes even me how much the framework has grown since it was created; and yet it's still surprisingly easy to go from zero-knowledge to competent in just a couple of hours.
Aug 24, 2020
taffy open source I'm frankly astonished that a framework I wrote 10 years ago has survived the test of time. My heartfelt thanks go out to everyone who continues to use it!
Aug 19, 2020
rest assured It's time to release an update to my book, and that's given me some thoughts on other ways it can enrich your learning.
Aug 18, 2020
node express How we handled a bad actor attempting to use our application to verify stolen credit card information.
Apr 10, 2020
pandemic misc Instructions and automations to make it easier to help out with your spare CPU cycles.
Mar 20, 2020
node architecture
Mar 3, 2020
goals The best way to meet your goals is to check your progress often. How have I been doing so far this year?
Feb 27, 2020
lucee orm Today's adventure in the ways in which ORM in Lucee is a little off got started when I tried to use ORM to create a new record.
Feb 25, 2020
apple productivity hackintosh I built a Hackintosh over a year ago. How well has it been working for me? What's the good, the bad, and the ugly?
Feb 19, 2020
lucee orm Documenting the struggles of replatforming.
Feb 18, 2020
life Reflections on prioritization
Jan 24, 2020
cloud aws docker AWS Fargate is amazing and easy to use, once you get to know it.
Jan 14, 2020
soft skills work-anniversary I used to change jobs every couple of years... until I found one that continually challenges me.
Jan 7, 2020
node
Dec 30, 2019
goals My SMART goals for 2020
Dec 18, 2019
config What's a good way to share configuration between microservices and monoliths?
Dec 10, 2019
productivity Taking time to move deliberately can save you from rash mistakes made when moving frantically.
Nov 26, 2019
productivity In search of some decent note taking software
Oct 15, 2019
imposter syndrome personal growth A different perspective on impostor syndrome.
Sep 30, 2019
productivity automation Being able to work is just as important as working.
Sep 18, 2019
cfml coldfusion lucee retrospective A collection of problems I ran into, and their solutions.
Jun 17, 2019
apple google firefox To be fair, Firefox has gotten a lot better since I wrote this article.
May 24, 2019
til node windows The answer is to use pm2-windows-service.
May 17, 2019
apple productivity hackintosh Feature Complete may not mean what you think it means...
May 11, 2019
philly funny An honor I didn't earn but I'm all too happy to display.
Apr 30, 2019
apple productivity hackintosh Building a Hackintosh isn't as hard as it used to be... I hope.
Apr 16, 2019
inspiration writing Death by 1,000 papercuts is an all too real phenomenon.
Nov 6, 2017
graphql All of the things that were going on in my head after I finished the getting started tutorials.
May 12, 2017
cfml Adam discovers an inadvisable approach to running one-off background tasks in CFML
Dec 19, 2016
osx In which Adam adds to his public system configuration notebook regarding SSH key passphrases and short term memory thereof.
Nov 15, 2016
charity extra life gaming Adam is raising money for the Children's Hospital of Pennsylvania again, and could really use your help!
Oct 7, 2016
coding learning Adam responds to a blog post about the half-life of career-knowledge
Sep 30, 2016
coding kids Adam shares a tale of playing programming games with his kids
Sep 6, 2016
docker aws Field notes from Adam's dive into the deep end, deploying containerized web applications in the cloud!
Jul 7, 2016
philosophy politics The West Wing teaches Adam a lesson about humanity in the face of divisive issues.
Jun 27, 2016
docker Adam's been playing with Docker and had some trouble figuring out a cert issue, so he's blogging the solution for future googlers.
May 5, 2016
meta Or, why my old website was offline for 230 hours
Mar 14, 2016
email best practices Adam Tuttle attempts to convince you to send yourself less email.
Jan 8, 2016
osx A collection of tools I use to customize my Mac, and be productive as a web developer on a day to day basis.
Dec 18, 2015
windows iis node When you have a Windows + IIS server and you want to add Node.js support without disrupting the existing IIS websites
Dec 10, 2015
skydiving
Nov 25, 2015
grunt css
Nov 17, 2015
solar
Nov 12, 2015
charity extra life gaming
Nov 4, 2015
charity extra life gaming
Nov 1, 2015
meta
Oct 31, 2015
cfml react.js static jekyll github
Sep 28, 2015
open source taffy coldfusion
Dec 4, 2014
taffy rest
Nov 19, 2014
taffy
Nov 13, 2014
taffy
Sep 19, 2014
taffy
Sep 10, 2014
git github open source Step by step instructions and advice for a successful first pull request.
Aug 15, 2014
taffy
Jan 21, 2014
taffy
Dec 5, 2013
taffy
Nov 25, 2013
taffy
Aug 30, 2013
taffy
Jul 30, 2013
taffy
Jul 10, 2013
taffy
May 17, 2013
taffy
May 17, 2013
talks
Mar 8, 2013
meta sublime
Aug 23, 2012
taffy
Jun 6, 2012
coldfusion security
Apr 13, 2012
taffy git
Oct 27, 2011
taffy
Oct 1, 2011
taffy rest
May 31, 2011
taffy conferences cf.objective()
May 11, 2011
taffy conferences
Oct 18, 2010
taffy
Oct 14, 2010
taffy
Aug 23, 2010
taffy
Apr 27, 2007
best practices