Category Archives: general development
Setting React element values directly from Selenium
I love Selenium, but there are a few things that it still handles poorly. Interacting with non-standard web native inputs is one of those items, for example color pickers, date inputs. You can usually get around these by simply setting the value using the executeScript method. But this doesn’t work so easily if you are…
We don’t have a QA team here
Testing was a bottleneck. Bugs were being discovered by users in production. Obviously, the QA team wasn’t providing any value and changes needed to be made.
Test driven development when I have no idea how to test anything
It’s no secret that I’m a firm believer in the effectiveness of test-driven development. But I don’t practice TDD 100% of the time. One of those times is when I’m just getting started with a new technology or library. For me, one of the hardest aspects of TDD is writing a test when I have…
Machine Readable Logs in PHP
I’m a big believer that log files should be easy for machines to read and ingest. Structured logging opens up the door for using tools like the ELK stack or Splunk to aggregate, search, monitor, and alert on application activity. The most common format for structured logging seems to be JSON. There are, of course,…
Node – Get Named Command Line Arguments
I am writing a small command line utility using Node and needed to get named arguments from the command line. A quick Google search led me down crazy complicated rabbit holes and (of course) a bunch of recommendations to just install npm modules. There ain’t no way I’m installing an npm module to READ COMMAND…
Configuring Sonar with a Create React App in TypeScript
There are a ton of posts on StackOverflow and Medium and the rest of the internet on setting up SonarQube, but I couldn’t find a definitive guide on configuring it with a React web application (using react-scripts/create react app) written in TypeScript. Turns out that it’s not that hard once you know all the pieces…
Learning how to modern web dev
I’m neck deep in learning ES6, React, Typescript, Node and all the billions of pieces that are a part of this “ecosystem”. I think I’m going to post some of the things that I learn along the way here. Most of it will probably be obvious if you’ve been working with these technologies for a…
Packaging a Node Express App
I’m not sure how most of the JavaScript world is building, packaging, and deploying their applications. We’re using Yarn instead of npm, but neither tool provides a simple way to zip up and version your app (unless you’re publishing to npm, that is). Here’s what worked for me (based on Yarn 1.15.2). As with everything…
Oh no… GitFlow
It seems like every team I’ve worked with in the past few years follows some form of GitFlow. At the very least, they use feature branches and pull requests to perform code reviews. How we got here The creation of distributed source control systems made the pull request model possible. Distributed source control systems emerged…
Loss Aversion and Tech Debt
Humans are loss-adverse. We place an irrationally high value on losing something over gaining an identical item. So for example, I’d be more upset about losing $10 than the happiness I’d feel by gaining $10. If I buy a meal and hate it, I’ll likely finish it anyway. In general, people would rather gamble on…