Slash or Not to Slash with rsync

TIL an easy way to remember if you want a slash or not when you run rsync. A trailing slash will copy the contents of the directory while just the directory name will copy the directory itself. For example

# copies everything in dir into new-dir
rsync -r dir/ new-dir

# copies dir into new-dir
rsync -r dir new-dir

Python List Comprehensions

TIL about Python List Comprehensions. I came across code that looked like this in a codebase.

baz = [foo.bar for foo in foos]

I could see what was happening (baz is now a list of bar for each object in foos). I didn’t know this was called list comprehension but now I understand the data structure.

List comprehensions are useful for lots of things when you want to create lists from other objects (docs source).

Hugo Debug Jsonify

TIL that you can output all the data in “the dot” from a Hugo template using jsonify

<pre>{{ . | jsonify (dict "indent" "  ") }}</pre>

Here is the output of the .Params value for this post

<pre>{{ .Params | jsonify (dict "indent" "  ") }}</pre>
{
	"date": "2022-11-13T16:54:29-05:00",
	"draft": false,
	"iscjklanguage": false,
	"lastmod": "2022-11-13T16:54:29-05:00",
	"publishdate": "2022-11-13T16:54:29-05:00",
	"tags": ["hugo", "ssg", "debug"],
	"title": "Hugo Debug Jsonify"
}

cal and ncal

TIL about ncal (most Linux distros) or CAL (on MacOS). I have used cal for quite a while which is a convenient calendar tool in the terminal. However, I hit CAPS LOCK on accident and ran CAL instead of cal, to my surprise it output

    November 2022
Mo     7 14 21 28
Tu  1  8 15 22 29
We  2  9 16 23 30
Th  3 10 17 24
Fr  4 11 18 25
Sa  5 12 19 26
Su  6 13 20 27

(the normal cal output)

Read More ...

How to Open Files with Vim

How exactly do you open a new file without closing and reopening vim? Read on to learn more about how to open files (or buffers) in vim using various included tools or external plugins. Vim uses the word “buffer” instead of “file”. When you :wq you write the current buffer to a file.

Read More ...

Getting started with vim-airline

The default vim status line can work well but vim-airline inhances it in many ways. Vim-airline is a simple lightweight plugin that integrates with many other popular plugins out of the box (but they are not required). In this post you will learn how to get vim-airline setup with some basic settings and a theme.

Read More ...

Vim Plugin Audit

Vim is my daily driver for text editing. I keep my plugin list curated to only what I use on a regular basis. In this post I’m going to go over each plugin currently in my plug file, write a sentence about it, and determine whether is stays or goes.

Read More ...

Roland FP-30 and Bluetooth

This may work on other Roland digital piano models but I only tested it on an FP-30 with my Motorola X4. After spending about an hour trying to figure out why my system Bluetooth could not find my piano I figured out how to actually connect. (Hint: it’s not through the system Bluetooth)

  1. Download the Roland Piano Partner 2 App
  2. Turn on your piano
  3. Enable Bluetooth on your phone
  4. Turn on the Piano Bluetooth feature (on the FP-30 you hold the function/Bluetooth button and press A0)
  5. Open the Piano Partner App
  6. Tap the Gearbox in the top right corner
  7. Tap “Bluetooth MIDI Device”
  8. Tap “SCAN” (Potentially not needed step)
  9. Select your piano from the list (FP-30 in my case)
  10. A Successful connection is when an * shows up next to the name
  11. Go “Back” on your phone (tap the triangle in Android 9.0)
  12. You will see a “Preparing Data” loading bar show up
  13. Success you are now connected to your piano
  14. Practice.

This is confusing and I could not find how to do it in the manual or online but an hour of trouble shooting got me to these steps. If it’s not helpful to anyone else out there at least now I have it written out for myself.

Vim Has Spell Check!?

Did you know vim has a build in spell check system? The built in spell system will ignore code variable names and functions by default but it does detect spelling mistakes in your comments and doc blocks (you do write helpful comments right?).

Read More ...

A Better Way to Organize Your .vimrc

Vim is a powerful customizable editor. Configuration is stored in custom text files often found in a Unix home directory (ie ~/.vimrc). This vimrc file can get to be rather large the longer one uses vim.

Break the file into parts

The number of files you use is infinite but it works best to keep things simple and organized. I use five files: plugin loader, general settings, leader key settings, custom functions, and plugin specific settings. Source each of these in your main vimrc $HOME/.vimrc. The $HOME/.vim/init directory is not used by vim so I keep my files there.

Read More ...