As a developer, trainer and screencaster, I rely heavily on my tools to help me accomplish my goals. Between hardware and software I use for development, the tools I use for screen casting and just keeping myself organized, the list of tools in my toolbox is fairly long. I will continue to add to, and update this list as I find the time, add a new tool or make a change to an existing item.
I have a github repo with the dot files that I use for configuration.
This repo includes my
I have some pretty handy aliases that I use on a daily basis to work with
git more effectively. Some highlights include:
git cm, which does an
add -Aand a
commit -m. I call it with a commit message and get all changed files added and committed:
git cm "Did stuff and things".
git pr- This takes my current branch name and pushes it to my remote. So instead of
git push -u origin <current-branch-name>, I just type
git prand my branch is pushed to my remote with a matching branch name.
git poop- just runs
git stash pop, but it’s mildly entertaining and that makes it worth using.
I recently converted from Atom to VS Code. It took me a while to make the switch, but I finally spent the time required to configure it to my liking and I have been really happy with that decision.
Full disclosure: I am currently working as a developer at Cypress.
Cypress is a tool for writing automated tests for the web. It can be installed as an
npm dependency (just
npm i -D cypress to save as a dev dependency) to a project, and tests are written leveraging APIs from well known testing tools like Mocha, Chai and Sinon. These bundled tools, combined with the Cypress GUI, CLI and API full of useful commands, creates an awesome platform for create integration tests as well as full end to end tests. Cypress has some amazing features that make its tests far more reliable than a test that you might write with something like Selenium. Even if I didn’t work for them, now that I’ve gotten to know the tool, I would absolutely still use it on any web project in the future. If you build things that run in a browser, you owe it to yourself to give it a shot!
Quokka & Wallaby
Quokka and Wallaby are both from the same developers. They are editor plugins, and I can’t say enough about how much they boost productivity. Quokka makes it easy to catch errors in your code and see the results of expressions right in your editor. No need to run the code, or step through a debugger. Wallaby does that for your tests. If you write test driven code, Wallaby will pay for itself in a matter of days, if not hours! It executes your tests in the background as you type, and shows you results right in the editor. Wallaby means I don’t have to run my tests directly or even look at another window to see if my tests are passing. Truly remarkable!
Camtasia 3 for Mac
I was a ScreenFlow user for a while, but after running into a lot of buggy behavior in the most recent version, I decided to give Camtasia a shot. So far, I’m loving it. I think for the kind of editing I have to do, Camtasia really simplifies things.
To get the best quality video, I need to record at the right resolution, which means switching my resolution back and forth when I go from development to recording. For this, I use SwitchResX. The app allows me to store “Display Sets” so I can quickly toggle between my recording resolution and my development and editing resolution.
Microphone and Boom Arm
Bullet Journal System
I’ve been using a bullet journal since the end of 2015 and it has been hugely beneficial to my organization. Just to be clear, this is a paper notebook that I write in with a pen. I manage most things in a digital format, but pen and paper works better for me in this context. The system is quite flexible, so my specific setup is constantly evolving, so it’s not quite perfect yet, but I’ll get there.
I use a Leuchtturm1917 notebook for my bullet journal.
I can’t say enough good things about Alfred. I use it with the powerpack and aside from my code editor, it is probably my most used application. I use it to launch applications, to search my file system, as a calculator, to display text and urls when presenting (it has a feature called Large Type that is pretty handy) and that’s before I get into the workflows! With workflows, I can add notes to Evernote, shorten a URL with bit.ly, add an entry to DayOne, even search the [Ramda]() docs!
I have been trying for a couple years to develop a daily journaling habit. I’m still not as consistent as I’d like to be, but on the days when I do remember to carve out some writing time, I reach for DayOne. It’s a beautiful application, and I can use Markdown.
I end up with a lot of applications running and like to have certain windows in view together, like my editor, a browser for testing my work and a terminal window to monitor builds, tests and the like. I use Moom to move windows around, save layout configurations and generally wrangle my windows, all without having to take my hands off the keyboard.
Some tools aren’t used anymore for one reason or another, but they’re still work noting, so they’ll find a home down here.
I’m a huge fan of the open source Atom editor. But, I recently switched over to VSCode as my primary editor.
Before making the switch to VS Code, I was using the Atom Material Themes for UI and syntax along with the file icons plugin for my file tree. I also used the minimap plugin with git integration with the minimap-git-diff. That covers the bulk of visble UI elements that people have asked about in my videos.