Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →
They're core GNU tools that you likely already have available. It's handy to make output more readable on high resolution displays.
We'll go over deleting 1 or more lines that match a regex as well as deleting specific lines by number reference.
We'll go over creating a script to read in JSON from a file or your clipboard complete with multi-line syntax highlighting.
I use it multiple times a day and it never fails me. If you're looking for a secure offline password manager, look no further.
Aliases and shell functions serve a similar purpose, but they don't need to be kept in the same file.
Provide a file along with a start / end time and ffmpeg will do the rest. We'll also make a tiny wrapper script to make it easier to use.
Here's how you can fix HTML templates not being updated in development after upgrading to Django 4.1+.
No longer get tricked by fake PNG files that have checker box patterns as their background when searching for a transparent image.
Starting with Bash 4+ you can assign arrays with keys and values. Here's how to declare, update and loop over them.
Most shell scripts I create start the same, this saves a bit of time from having to create, chmod the file and set a few options.
Work laptops are meant for work but what about internal work notes? Also what if IT has installed specific tools on the device?
It's really fast and only requires a few lines of shell scripting. You won't need to run systemd inside of WSL 2 either.
MailCatcher works with any tech stack and it has a Docker image. It starts an SMTP server to view emails in a browser or any mail client.
Search your git repos for any string / regex, even across branches. This is handy to recall something from days, weeks or years ago.
Docker deprecated their v1 API in September 2022, now we can get a lot more details about each tag using the v2 API.
This will work if you're using bash or zsh and it doesn't require installing any third party tools or plugins.
It compares uncommitted changes vs your latest commmit, --cached does the same thing, it's an alias to --staged.
Even if you're using a Bash shebang you can run ShellCheck with the --shell flag to supply a different shell to check against.
This could be useful to locally rewrite history before pushing your changes up or before making a pull request.
Simple things like using bookmarks can speed up daily rituals and save you a decent amount of time with minimal effort.
We'll go over how to do the above as well as auto-remove index gaps after closing a window. Your index counts will always be in order.
I made the switch from Bash to Zsh, and with that I made a dotfiles install script that works on most Linux distros and macOS.
This is a plugin for tmux that persists your sessions, windows, panes and more. It's controlled by hotkeys to save and restore everything.
We'll go over how to regain lots of disk space by compacting the VM file that Docker Desktop creates. I ended up getting 50gb back.
In this video we'll go over a few examples ranging from changing the last commit message to rebasing a commit sometime in the past.
This could be useful when adding a new file in between a list of files that were already ordered by number.
You could use these tips for remote interviews, code pairing, talks, podcasts, live streaming, YouTube videos and creating courses.
We'll go over a zero dependency Python 3 script to quickly change themes and toggle dark / light mode for various command line tools.
This video goes over running a ton of apps at once on Windows 10 with my 2014 workstation. Even while recording a video it doesn't hit 13GB.
It's available on Windows, macOS and Linux but it may require installing a 3rd party tool. It's useful for creating efficient workflows.
Topics were covered such as using the command line, terminals, shells, scripting, aliases, prompt, history, tmux, Vim, dotfiles and more.
In this video we'll add a few lines to our vimrc file so we can easily cycle between slides. We'll use Goyo too, but that's optional.
In this video we'll go over how you can use this tool to test your app's webhooks but you can use it for other things too.
In this video, we'll go over how to generate a password of custom length with at least 1 uppercase / special char and 1 number.
In this video we'll go over how I use Fern to view and manipulate files in Vim. It's extremely fast and supports marking multiple files.
In this video, we'll update the config files of a few tools using a combination of shell scripting, grep and perl.
In this video, we'll identify and go over how to fix 3 different WSL 2 issues that'll likely cause you trouble over time.
In this video, we'll go over all of the tools I use on Windows and WSL 2 to create a productive development environment.
In this video we'll go over how to diff text in a bunch of different ways using Vim and the command line.
In this video we'll go over how ShellCheck can help us find both subtle and obvious bugs / issues with in shell scripts.
In this video we'll use Vim's complete menu to get a natural autocomplete experience without having to set up a language server.
In this video we'll use the git add patch flag so we can stage a specific part of a file to commit, instead of the whole file.
In this video we'll go over using snippets with Vim, but the idea of snippets applies to other code editors too.
I'm 15+ years late to the game but I'm starting to enjoy using Kanban boards to help me organize my projects. Here's the tool I'm using.
Since I started with Vim pretty late, the first plugin manager I tried was vim-plug and it seems nearly perfect.
In this video we'll look at how to debug this error. I was getting this error a lot when saving files but finally figured it out.
In this video, we'll go over managing text based notes from the terminal using a zero dependency shell script.
I had a problem with accidentally deleting lines when using the mouse with Vim. It turns out it was due to misconfiguring things a bit.
In this video I go over how I use NERDTree in Vim. It's mainly to create, modify or delete files very quickly.
In this video we'll go over using built in Vim motions and mappings to select and manipulate text within or around HTML tags.
I use this tool quite often for sizing up screenshots and setting pre-defined window dimensions. It comes in handy!
In this short video we'll go over how to list all Docker tags for a specific image on the Docker Hub using the command line.
In this 25 minute video we'll cover both why I really enjoy using wsltty and how to install, configure and customize how it looks.
I've been typing for 20+ years and this is one of my favorite general purpose / programming keyboards when factoring in a few things.
In this video we'll cover a bunch of different find / replace use cases ranging from simple word searches to regular expressions.
It currently supports Phoenix, Rails, Django and Laravel, and this is a 30 minute video demoing how it works and how it was built.
Here's a short video going over how I switch between a dozen software projects in seconds using nothing but my terminal, tmux and Vim.
In this 5 minute video, we'll go over how to view entity relationship diagrams and modify your data with an open source database tool.
Getting your system clipboard to work with tmux and Vim can be tricky. Here's a short video showing how to set it all up.
Here's a short video going over my workflow for writing Markdown documents with Vim. The preview is styled using GitHub's CSS.
One of the best ways to learn anything is to immerse yourself in it and try to solve your problems as they come up. Vim is no different.
Remapping and overriding global hotkeys can be tricky, but here's an easy way to do it with a tool called AHK.
A common use case for this would be opening a specific file with terminal Vim by right clicking a file in Windows explorer.
When writing a book or course, you deal with hundreds of thousands of words and Vim helps you manage that in a sane way.
For years I've been running Linux in VMs or WSL but I wanted to give native Linux a shot. It didn't work out due to audio issues.
I've spent a full year using WSL and I am still convinced it is the ultimate development environment set up if you use Windows.
About 2 months ago I started using Hyper but after really getting a chance to use it, I found it to be unusable, at least on Windows.
Many years ago I used to optimize a lot of my programming decisions for 'what if' conditions or the 5%. That was a mistake.
VSCode has a ton of great extensions and useful settings. Here's a list of extensions that I have installed and how VSCode is configured.
About a month ago I was getting upset with a few ConEmu bugs and with no resolution in sight, I switched to Hyper.
If you spend a lot of time in a terminal then knowing how to search your history efficiently saves a ton of time. Here's how.
When making certain types of edits on a page, having an instant feedback loop directly in your browser is really beneficial.
I would still use 80 characters per line even if I had a 4k monitor. This is especially true for web development.
Learn how to figure out exactly where your disk space is going with WinDirStat because the built in Windows 10 tools do not do their job.
Who would have thought, after 22 years of using a keyboard I learned a new trick by multi-tapping the Home key.
Part of being a developer includes setting up your computer so that you can develop the applications you want to write.
Not backing up your files could lead to data loss in the future. Here's how to do offline backups with a few lines of Bash.
Being able to select and paste more than 1 clipboard item at a time is a huge time saver. Here's a few apps for each major OS.
You may have gotten cryptic errors when trying to use ENTRYPOINT scripts in your images while running Windows. Here's how to fix them.
Learn how to access documentation from popular web frameworks and libraries straight from your favorite code editor.
Sublime Text served me well for many years but I finally made the switch to VSCode because the pros out weighed the cons.
In this article you'll see how to run a PDP-11 simulator through Docker to interact with Unix as it was back in 1972.
The Windows Subsystem for Linux (WSL) is ready for prime time. You no longer need a VM to run graphical Linux apps on Windows.
With a couple of tweaks the WSL (Windows Subsystem for Linux, also known as Bash for Windows) can be used with Docker for Windows.
Learn how to accept webhooks on your local web server, work with subdomains on localhost and test Let's Encrypt without a domain name.
Buying a large whiteboard from a retailer will cost $200+ USD, but you can build your own for $15 and all you need are a few screws.
Learn how to get syntax highlighting and more with Docker related files for Sublime Text 3, VSCode, Atom, Emacs and Vim.
Docker for Windows uses Hyper-V. Having Hyper-V installed prevents you from running VirtualBox or VMWare VMs. Here's a workaround.
If you're running macOS or Windows you have a few options for installing Docker. There's even a third way too, and we'll compare them here.
Here's a list of software and hardware that I use on a regular basis as a developer and video creator. I will be keeping it updated.
Buying a new monitor is stressful because there's so many things to understand. After reading this article, you will know what to look for.
Ancient civilizations were using forms of IRC to communicate ideas and solve problems. Learn why IRC is great for programmers today.
tmux allows you to save your terminal sessions and split your terminal into multiple windows. It's one of my favorite tools.
Stop wasting time with complicated note taking applications and give Google Keep a shot. You will be pleasantly surprised.
I use Markdown for so many different things. Become an expert with Markdown after seeing how to configure your code editor to use it.
Learn how I blew an entire weekend formatting my computer, playing with the Windows Subsytem for Linux and a Hackintosh, then almost bought a MBP.
Learn how to upgrade and transform a Chromebook to run GalliumOS, which is a native Linux based OS designed for Chromebooks.
There are a number of free virtual desktop tools for all major platforms that you can be using right now to boost your productivity.
I am still using Sublime Text 3 in 2017 because it stands up to my high demands as a full time developer and content creator.
A recap and showcase of 25 Sublime Text 3 packages I use on a day to day basis as a developer who uses multiple technologies.
I built a standing desk a few months ago and here's what I've experienced since then.
Learn how to easily encrypt and organize all of your passwords on the command line using a great little program called 'pass'.
Set up a seamless Linux development environment in Windows using the free version of VMware.
Learn exactly how to build a custom standing desk without being a handyman. No saws required!
Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.