Adding ZWave devices to my Home Assistant smart home
There are some quirks related to running standalone Home Assistant (HA) from a Docker container. I found that the route to enable support and add a device using ZWave is not well documented for this HA configuration, especially for someone new to and unfamiliar with ZWave. Running ZWave JS server My biggest bugaboo was that… Without a ZWave hub on the network, a standalone ZWave server is needed to mediate the ZWave network and communicate with HA. I was able to run an official zwavejs/zwave-js-ui container image, and pass my ZWave USB dongle device through to “/dev/zwave”.
February 19, 2025
Installing the new Go-based Fabric LLM cli
Fabric’s installation instructions from its website make it appear that installing this new version rewritten in the Go language should be easier than it was with the original Python implementation. Although pipx made things relatively easy before, I ran into trouble when my installed version of Go did not meet the requirements of the newer Fabric package. # Old Python-based implementation # git clone https://github.com/danielmiessler/fabric.git && # Clone Fabric to your computer # pushd fabric && # pipx install . && # exec zsh && fabric --help # New go version # Install Fabric directly from the repo go install github.com/daniel/miessler/fabric@latest My solution was to try out PKGX which was something that I had been looking for an excuse to try.
September 19, 2024
"teethis" script is one of the most useful tools I've created
tee is a GNU tool to piggy back stout off of a pipe. The following example shows the basic pattern for using it, where the stout is printed to the terminal and written to a log file. mycommand | tee mycommand.log “teethis” script I frequently want to run shell scripts where I can see both the stdout and stderr immediately while preserving the output to refer to later. While the tee command to do this is relatively simple, it can be a pain to type over and over again, so I created the following teethis script.
September 5, 2024
`apropos` is an overlooked Linux command
Search for Linux command that does what you need Sometimes the challenge of using the Linux command line is knowing what commands you need to do certain things. The apropos command lets you search the available commands by matching key words. ❯ apropos csv # bench_wcsv (3tcl) - bench::out::csv - Formatting benchmark results as CSV # csv (3tcl) - Procedures to handle CSV data. # csv2rec (1) - csv to rec converter # rec2csv (1) - rec to csv converter ❯ apropos environment # 0desktop (1) - add programs to the desktop environment # 30-systemd-environment-d-generator (8) - Load variables specified by environment.d # byobu-janitor (1) - script for cleaning and upgrading environment after upgrades # byobu-reconnect-sockets (1) - Sourcable script that updates GPG_AGENT_INFO and DBUS_SESSION_BUS_ADDRESS in the environment # check-language-support (1) - returns the list of missing packages in order to provide a complete language environment # clearenv (3) - clear the environment # dbus-update-activation-environment (1) - update environment used for D-Bus session services # Dpkg::Build::Env (3perl) - track build environment # env (1) - run a program in a modified environment # environ (7) - user environment # pam_env.conf (5) - the environment variables config files # ... The command checks all of the installed man pages and package descriptions, however there are circumstances where this could leave out some relevant commands.
August 27, 2024
Sharing **vscode** extensions
Microsoft created a modular text editor (referred to as vscode or just code on the command line) that is easy to install and use across platforms including integration with Docker containers and WSL2. Install Use this link and follow the instructions to install vscode for your platform/OS: https://code.visualstudio.com/download Ubuntu For Ubuntu, choose either CLI/x64 or .deb/x64 options. Basic usage Icons along left-side: Open different editor environments or side-bars including extension browser, file explorer, and git information. Command palette: Most actions or options are available from either shortcut-key-combinations or the command palatte which is a fuzzy-matching command search accessible with CTL+SHIFT+p. Extensions vscode provides a mechanism to install official and community extensions to tailor the editor for specific code/development tasks and support for enhanced features when editing a multitude of plain text formats.
May 21, 2024
Local and private LLMs with Ollama
Run Large Language Models Locally With *ollama.ai's* Docker Image
January 30, 2024
Quick and dirty geographic longitude offset for GIS
Convert GIS data with Lat/Lon (EPSG:4326/WGS84) coordinates with longitude in the range 0-360 to -360-0 to cover -180-180 in a GIS envrionments map with this quick and dirty custom proj-style projection string. The custom projection definition is +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +pm=-360 +no_defs This can be used as follows, load a spatial dataset with Lons defined in the 0-360 range, duplicate or load another layer with the same dataset, set layer in 1. CRS to WGS84 or EPSG4326, and set layer in 2. to a custom CRS using the projection definition above. This process results in the dataset covering the -360 to 360 Longitude range (and implcitly -180 to 180 as well) between the two layers which can be used in a variety of different project coordinate reference systems or projections. Switching +pm=-360 to +pm=+360 will go the opposite way from (-180-180) Lons to (0-360) if necessary, because that parameter sets or modifies the default Prime Meridian Longitude in degrees-East.
January 24, 2024
NWS13: NetCDF Replacement for NWS12 Met Inputs and Application
2020 ADCIRC User's Group Meeting Slides
December 12, 2023
NWS13: NetCDF Wind/Pressure Inputs for ADCIRC
2018 ADCIRC User's Group Meeting Slides
December 12, 2023