Thursday, June 19, 2025
Encrypting text in vim with the vim-gnupg plugin
Plug 'jamessan/vim-gnupg'
" GPG SETTINGS for just password
let g:GPGPreferSymmetric = 1
" gpg so temp is also encrypted
" Prevent backup files (avoid leaving decrypted content on disk)
set nobackup
set nowritebackup
" Encrypt temporary files too
let g:GPGUseAgent = 1
Add above to vimrc and below to bashrc
# vim gpg
GPG_TTY=`tty`
export GPG_TTY
This symmetrical encryption prompts for a password on save and for 10 mins lets you re-open without a password in vim. To clear the cache so you are prompted immediately run in the terminal:
gpgconf --kill gpg-agent
Wednesday, June 18, 2025
how to get app image icons
I downloaded FreeCad as an app image I want to create a desktop shortcut but I needed an Icon
./freecad.AppImage --appimage-extract
Tuesday, June 17, 2025
mixxx export playlist as csv run csvkit on it to find duration of set
csvtool col 4 vertagogo.csv | tail -n +2 | awk -F: '{
min=$1;
sec=$2;
total += min * 60 + sec;
} END {
h = int(total / 3600);
m = int((total % 3600) / 60);
s = total % 60;
if (h > 0) {
printf "Total Duration: %d hour%s %d minute%s %d second%s\n",
h, (h!=1?"s":""),
m, (m!=1?"s":""),
s, (s!=1?"s":"");
} else if (m > 0) {
printf "Total Duration: %d minute%s %d second%s\n",
m, (m!=1?"s":""),
s, (s!=1?"s":"");
} else {
printf "Total Duration: %d second%s\n", s, (s!=1?"s":"");
}
}'
Assuming duration is in the 4th col then this script works
I also jumped through some hoops trying to figure out a way to sort them in the CLI by bpm but you can just click on them in mix.
Monday, June 16, 2025
printing csv as html tables using basic shell tools like tail
this shell script makes an html table out of a simple 2 col csv
#!/bin/sh
echo ""
echo " item quantity "
echo " "
tail -n +2 "$1" | awk -F',' '{print " " $1 " " $2 " "}'
echo " "
echo "
"
I don't want to install numbers on my Ipad. A-shell mini/pythonista can run csvkit (csvtools is another good one) instead to do alot of basic data
- shortcuts - data fetching, logging, file management
- a-shell mini - csvtools, awk, sed, (maybe even a little grep)
- pythonista - data analysis/ visualizations
Friday, June 13, 2025
Making Shipping Labels In Calc
The way I would do it before was to use scribus but then I found pages can do linked text boxes.
Heres how you would do the formula to get the same result in libre office calc
=A2 & CHAR(10) & B2 & CHAR(10) & C2
Monday, June 9, 2025
10 fun math tricks for predicting the future with forecasts
| # | Math Trick | Description | Use Case Example |
|---|---|---|---|
| 1 | Moving Averages | Smooths data using a rolling average (SMA, WMA, EMA) | Forecasting trends in sales or traffic |
| 2 | Exponential Smoothing | Weights recent data more for responsive short-term forecasting | Predicting next day's value |
| 3 | Linear Regression | Fits a straight trend line to data | Predicting future sales or prices |
| 4 | Polynomial Regression | Fits a curve to account for nonlinear trends | Modeling growth with acceleration |
| 5 | Logarithmic/Exponential Trend | Fits curved models like exponential or logarithmic | Forecasting growth or decay |
| 6 | Percent Change / Growth Rate | Uses % increase/decrease to project future values | Estimating next month's revenue |
| 7 | Seasonal Averaging | Averages data by time periods (month, week, etc.) | Forecasting monthly sales |
| 8 | Rolling Regression | Applies linear regression over a sliding window | Short-term stock price prediction |
| 9 | Z-Score Anomaly Detection | Identifies and removes outliers using standard deviations | Cleaning noisy time series |
| 10 | Fourier Transform (FFT) | Finds cyclical patterns via frequency analysis | Detecting seasonality in demand patterns |
why not have another 10?
| # | Math Trick | Description | Use Case Example |
|---|---|---|---|
| 11 | CAGR (Compound Annual Growth Rate) | Measures average annual growth rate over time | Forecasting investment growth |
| 12 | Autoregressive (AR) Models | Uses past values to predict the next one | Time series forecasting like AR(1), AR(2) |
| 13 | Differencing (Δ) | Subtracts previous values to remove trend or seasonality | Stationarizing a time series |
| 14 | Cumulative Sum (CUSUM) | Tracks cumulative change from a reference point | Detecting slow shifts in process metrics |
| 15 | Holt-Winters (Triple Smoothing) | Adds seasonality and trend to exponential smoothing | Forecasting seasonally fluctuating data |
| 16 | Simple Lagged Features | Adds previous values as new columns | Enhancing model input with past behavior |
| 17 | Normalization/Standardization | Scales data to make it comparable or Gaussian | Preprocessing before regression or modeling |
| 18 | Clustering for Pattern Detection | Groups similar trends using K-means or DBSCAN | Discovering behavior groups in data |
| 19 | Savitzky–Golay Filter | Smooths data while preserving shape | Denoising noisy sensor or measurement data |
| 20 | Quantile Forecasting | Predicts a range (not just average) using percentiles | Risk modeling, demand estimation with bounds |
10 more
| # | Math Trick | Description | Use Case Example |
|---|---|---|---|
| 21 | Slope Calculation (Rate of Change) | Measures steepness between data points | Detecting acceleration in trends |
| 22 | Cross-Correlation | Measures similarity between two time series | Lag detection between related variables |
| 23 | Seasonality Index | Normalizes values by seasonal averages | Adjusting for repeating seasonal patterns |
| 24 | Principal Component Analysis (PCA) | Reduces dimensionality while preserving variance | Feature compression before modeling |
| 25 | Residual Analysis | Analyzes difference between actual and predicted values | Improving model accuracy by modeling errors |
| 26 | Bootstrapping | Resamples data with replacement to estimate confidence intervals | Estimating forecast uncertainty |
| 27 | Time Series Decomposition | Separates series into trend, seasonality, and residual | Understanding data components for forecasting |
| 28 | Interpolation | Fills in missing values between known data points | Reconstructing incomplete datasets |
| 29 | Weighted Least Squares (WLS) | Linear regression giving more weight to certain data points | Handling heteroscedasticity in data |
| 30 | Bayesian Updating | Updates forecast with new data based on prior beliefs | Dynamic forecasting as new data arrives |
| # | Math Trick | Description | Use Case Example |
|---|---|---|---|
| 31 | K-Nearest Neighbors (KNN) Forecasting | Predicts based on the average of similar past patterns | Forecasting similar behavior sequences |
| 32 | Dynamic Time Warping (DTW) | Measures similarity between time series with time shifts | Comparing sequences with misaligned timing |
| 33 | Prophet Model (by Facebook) | Decomposable time series model with trend, seasonality, holidays | Business forecasting with multiple components |
| 34 | Recurrent Patterns Detection | Identifies repeating patterns in time series | Analyzing periodic signals |
| 35 | Residual Smoothing | Smooths the error component of a forecast | Reducing noise in forecast residuals |
| 36 | Rolling Median | Like moving average, but uses median for robustness to outliers | Smoothing noisy data with outlier resistance |
| 37 | Data Binning | Groups continuous values into categories | Trend simplification or histogram generation |
| 38 | Signal Denoising (Wavelet Transform) | Removes high-frequency noise while preserving structure | Processing raw sensor or stock data |
| 39 | Granger Causality Test | Determines if one time series can predict another | Identifying causal predictors |
| 40 | Lead-Lag Analysis | Measures which variables lead or follow others in time | Input feature timing alignment |
| 41 | Change Point Detection | Detects shifts in trend or distribution | Finding when market behavior changes |
| 42 | Trend Strength Index | Quantifies how strong the trend is | Deciding if forecasting is appropriate |
| 43 | Signal-to-Noise Ratio (SNR) | Compares signal strength to background noise | Evaluating data quality for prediction |
| 44 | Elastic Net Regression | Combines Lasso and Ridge for robust regression | Forecasting with high-dimensional features |
| 45 | Lag Correlation Matrix | Compares correlation across time lags | Feature selection from past data |
| 46 | Time-Weighted Averages | Weighs recent data more heavily based on time decay | Real-time adaptive forecasting |
| 47 | Histogram-Based Forecasting | Predicts based on distribution of past values | Probabilistic forecasting from historical data |
| 48 | Rolling Standard Deviation | Tracks volatility over time | Measuring uncertainty or instability |
| 49 | Confidence Interval Forecasting | Predicts with upper and lower bounds | Risk-aware forecasting |
| 50 | Ensemble Averaging | Combines forecasts from multiple models | Improving accuracy through diversity |
Sunday, June 8, 2025
how to backup contacts
my mom lost her phone. got me asking myself "how could I prepare if I knew I was going to loose my phone?" I want to make a nice table of some important contacts to stick on the fridge without having to manually click through each one.shortcut to batch export contacts as a zip full of vcfs
sudo apt install python3-vobject
python tool to convert vcf to csv
heres my scribus templatethe SG_NEXT-RECORD needs to not be on the first record or it won't show. It needs to be in smaller also. This tripped me up at first
Friday, June 6, 2025
blend modes explained
| Blend Mode | What It Does | Effect Description |
|---|---|---|
| Normal | Displays the top layer as-is. | No blending occurs — pixels on top layer simply cover the bottom layer. |
| Multiply | Multiplies base and blend layer colors. | Darkens the image; white does nothing, black stays black. |
| Screen | Multiplies the inverse of the colors, then inverts the result. | Lightens the image; black does nothing, white stays white. |
| Overlay | Combines Multiply and Screen based on base brightness. | Increases contrast; darks get darker, lights get lighter. |
| Color Dodge | Brightens the base color to reflect the blend color. | Intense lightening; highlights are boosted dramatically, midtones stay. |
| Color Burn | Darkens the base color to reflect the blend color. | Increases contrast by darkening; shadows deepen. |
| Difference | Subtracts the darker color from the lighter one (absolute difference). | Inverts colors where layers differ; useful for creative or abstract effects. |
| Soft Light | Gently darkens or lightens based on blend color. | A subtle overlay; like shining a diffused spotlight. |
| Hard Light | A harsher version of Soft Light, combines Multiply and Screen. | High-contrast lighting effect; amplifies intensity. |
| Darken | Keeps the darker of the base and blend colors. | Replaces lighter areas with darker ones. |
| Lighten | Keeps the lighter of the base and blend colors. | Replaces darker areas with lighter ones. |
| Blend Mode | When to Use It | Example Use Case |
|---|---|---|
| Normal | When no blending is needed. | Adding a logo or icon to a design without any blending. |
| Multiply | To darken an image or add shadows and shading. | Adding realistic shadows under objects or deepening midtones in a photo. |
| Screen | To lighten an image or simulate light. | Creating a soft glow effect or simulating bright light over an object. |
| Overlay | To boost contrast and make textures pop. | Enhancing details in skin or fabrics in photo retouching. |
| Color Dodge | To create intense lighting or shine. | Adding sparkles, lens flares, or lighting highlights on metallic surfaces. |
| Color Burn | To deepen shadows or create high-contrast gritty effects. | Creating dramatic poster effects or adding depth to a stylized illustration. |
| Difference | For abstract, surreal, or comparison visuals. | Creating glitch art, testing pixel alignment, or designing inverted backgrounds. |
| Soft Light | For subtle lighting effects and texture enhancement. | Gently increasing contrast on portraits or applying a textured paper overlay. |
| Hard Light | To emphasize highlights and shadows more aggressively than Soft Light. | Adding strong rim lighting or punchy contrast to action scenes or comics. |
| Darken | To keep only the darkest parts of overlapping layers. | Merging grunge textures into a background while preserving shadowed details. |
| Lighten | To reveal only the brightest parts of a texture or image. | Overlaying bokeh or light leaks without affecting darker image areas. |
Thursday, June 5, 2025
Monday, June 2, 2025
fontself
app store link to fontself for ios
seems like the best app for making your own custom fonts
Sunday, June 1, 2025
Inkscape background remove extension
Rembg is a python tool to remove backgrounds
problem is i used pipx to install it so inkscape cant find it
It works fine in the cli though and its great
link to linuxlinks page on rembg
rembg i 'path to input' 'path to output'
inkscape mail merge - next generator
You can batch generate documents from csv like scribus or affinity publishers datamerge
Monday, May 26, 2025
Learned scribus last night
learned about DTP (desktop publishing software)
- affinity publisher 22$ ios
It has a cool feature called datamerge where you can use spreadsheets to populate designs. Scribus can do mailmerge from csv. being able to patch process multiple things into a cohesive publication is a big deal. the data entry format looks like this.
%VAR_placeholder%
Here is the link for the python script that adds this functionality
scribus generator
you can print your own shipping labels and make stickers!!
Sunday, May 25, 2025
my dim byz
The link is to a pdf I made of spread voiced chords in every key. alternating between a major 6 and a diminished chord to harmonize up the major scale using the b6 as a passing note to create an even octatonic scale. each diminished chord can resolve to 4 different keys. page 4 is on half whole diminished scales on ukulele and then I included a few other scales for fun
Saturday, May 17, 2025
every dim7 substitution
mapped it all out as mermaid then touched it up in autodesk sketchup
bc it was super short and wide.
previewed it with mermaid js
screenshot with flameshot
added mermaid js and markdown support to my blog to try
to do it all with mermaid but im not going to keep it
I like using html now and its not worth loading the
highlight js cdn twice.
ai upscaled it in ibispaint because it was pixelly.

printerfriendly version dropbox link
relating c# dim to 4 keys visually
the lowest diminished chord on uke is c#dim7.
- c#m f#7 bmaj7
- em a7 dmaj7
- gm c7 fmaj7
- Bbm eb7 abmaj7
the c#,e,g,Bb diminished chord is a half step below the d,f,ab,b diminished chord where the 1 chords live.

im saying m6 and m3 meaning b3 here

Thursday, May 15, 2025
Best Native Teleprompter on apple
ios and on mac you can use the pages app. It has a scroll function. I don't trust the free apps the data harvesting creeps me out. many of the paid ones you can't even own they are like a 60$ yearly subscription. Even after you buy them you still need to by a two way mirrored glass camera attachment. If its not going to be good even after spending 60$ Id rather just memorize it. If your eyes arent looking at the camera directly theres no point. Might be useful for some makeshift karaoke