In a single terminal window I’ve got Vim open with some simple Go code on the left pane. The right side has two panes; the top pane has Cowsay running while the bottom pane I just used to install Cowsay. While not exact useful in the scenario I set up for this screenshot, it can be really handy for doing something like writing a script in one pane and having a second, smaller pane to the side or top of running it periodically without ever needing to close the file.
The other super handy part of tmux is that you can keep a persistent session going on a remote system without staying connected to it. I can SSH to a server, open tmux, connect to an IRC server, and use it for however long I need. If I want to disconnect from SSH but keep my IRC session going, I can simply detach my current SSH session from tmux but leave tmux running. Then I can close my SSH session. When I later SSH into the system again, I can reattach to the existing tmux session and pick right back up where I left off.
Since I’ve mentioned code a few times in these examples after starting the post off by saying I don’t know what the hell I’m doing when it comes to writing code, PowerShell is the one exception. I basically live in a PowerShell window for work, using it for both my day-to-day management at the CLI and in scripts that I use to automate my work… because work smart, not hard, right? I feel decently proficient with PowerShell, and I’m excited that version 6 is now open source! It’s nice to be able to use the same scripting language and commands to manage Windows servers at work that I use to manage my Linux servers at home.
I haven’t posted anything new in a while (I’ve written tons of stuff but just haven’t thought to post it), but you can see some of my sample PowerShell scripts over on GitHub. I’ve also posted some /r/DailyProgrammer challenges as Gists.
Hugo is a static site generator. The concept is that instead of needing a CMS (content management system… think something like WordPress) to manage posts, pagination, design, etc. on a website that you can instead do it all via plaintext. Hugo allows you to have HTML templates, CSS, and then posts that are authored as Markdown. When you make a new post or change the site in any way, you can recompile your site which is then output as simple HTML and CSS that you can throw onto a web server. New post? Recompile the site and just move the files. Hugo worries about things like how many posts there should be on a page and will adjust it all for you. Need to change information in your header? Just change it one time in your template file and then recompile; there’s no need to use sed through every page and change each of them.
There are plenty of other static site generators out there (Jekyll is a popular one), but I’ve found that Hugo is by far the fastest. When your site starts to get large with a lot of pages to parse and generate, generators like Jekyll — which is written in Ruby, an interpreted language — can start to bog down. Hugo is written in Go; it’s literally one binary, and that allows it to be super speedy even when your site is large.
To end the post on a fun note, NetHack is an incredible video game. It’s easy to look at it and assume that it’s a simplistic, basic game. It runs in a terminal (though variants with tiles and graphics do exist), and everything in the game is represented as an ASCII symbol. Your character? The @ symbol. A kobold? The letter k. The game is also crazy old… it was released in 1987. Here’s what it looks like: