"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
Save CT Images from *Scan of the Month*
I love seeing the monthly updates on Scan of the Month, a website that posts detailed CT scan renderings for selected themes. This website is a portfolio created by CT device company Lumafield. Lumafield is a company that was started by a team of engineers who had firsthand experience with trying to solve hard problems and being let down by the tools on hand. Lumafield is also a company, that while in stealth-mode, decided the technology they were building was just too dang cool to keep quiet about.
December 7, 2023
What is the NVIDIA Container Toolkit?
The NVIDIA Container Toolkit is a set of utilities and libraries provided by NVIDIA to enable containers to use and share NVIDIA GPU resources. The toolkit is container agnostic, supporting several common container runtimes including Docker and Podman. It appears to present GPU/CUDA features to software running within containers on the host with the NVIDIA GPU. The supported platforms seem to be specifically GNU/Linux distributions (Debian, Ubuntu, Centos, Fedora, Open Suse, and Amazon’s Amazon Linux AMIs) on typical amd64, arm64/aarch64 hardware.
November 30, 2023