Obligatory Migration Post from Wordpress to Hugo

This is the obligatory moved blog from one framework to a different framework article. Wordpress.com asked me for $78 for a two year subscription. However, I dislike the mobile app and the text editing experience online. I also had difficulties editing any part of the website with the in-browser tools. Originally, I signed up because I wanted my focus to be on writing, rather than on coding, a blog. Simply purchasing the Wordpress plan let me test whether or not I wanted to keep up with writing posts at all. It did that, but I didn’t find that WordPress provided much additional value. ...

January 26, 2025

2 years of notes from building an app I didn't release

Close to 2 years ago, I had an idea for a mobile application that allowed users to store, submit, and manage tax reimbursements in foreign countries. For 2 years ago, I on and off worked on this idea and had a functioning version on my phone - and for nearly all that time, I never felt like the application was ready to release to potential users - and it doesn’t look like I’ll ever get it there. ...

November 25, 2024

Play 8 Red Squares

I re-deployed 8 Red Squares, a site that allows you to play through the 8 Queens Puzzle on different sized boards. Future enhancements I’d like to add are Timer (for each segment), and total running time until the users solves n=8. Better mobile support (board size 9 and 10 don’t handle small screens well). Foundational solutions checklist, e.g., if a user wants to find all possible arrangements (excluding symmetries and rotations). ...

September 15, 2024

Daily SNAP News Aggregator launched

Site is accessible here, and the accompanying GitHub repository can be accessed through that site as well. It is based on a Google Alerts RSS feed, built every ~6 hours with Jekyll and GitHub Actions. Monthly commentary will be included on that site in the future. Immediate next steps are to add in more news aggregators as sources, to try and get articles that are missed. I would like to integrate Google Scholar as well, but it does not appear they offer an RSS feed or any simple method. Article display filtering is currently done on a keyword basis, which has been working fine, but would like to move to a classifier model. ...

June 11, 2024

Joint & conditional probabilities with pd.crosstab

pd.crosstab is one of those built-in functions in the Pandas API that I forget about routinely. I instinctively reached for df.groupby('x')['y'].count().unstack(), but when I wanted to normalize the values, it takes more and more steps to get where I wanted. This was a nice straightforward overview of the pd.crosstab function. To document for myself, below, create a sample correlated DataFrame with integer columns ActiveUsers and CompletedProfile. import pandas as pd import numpy as np # following code from Github Copilot np.random.seed(0) n = 1000 # Number of samples p = 0.7 # Probability of True in the first column rho = 0.8 # Correlation col1 = np.random.choice([True, False], size=n, p=[p, 1-p]) col2 = np.where(col1, np.random.choice([True, False], size=n, p=[rho, 1-rho]), np.random.choice([True, False], size=n, p=[1-rho, rho])) df = pd.DataFrame({'ActiveUsers': col1, 'CompletedProfile': col2}) ActiveUsersCompletedProfile0TrueTrue1FalseFalse2TrueFalse3...... Sample of the constructed DataFrame ...

May 2, 2024

Identifying outbound IP addresses of a Azure Function

Here is Microsoft’s documentation page on the topic. The only reason I am documenting this is because the Azure Resource Explorer failed to load consistently across devices for me. Some tutorials I found, like this one, seem to be outdated and the outbound IP addresses weren’t listed in any Properties menu in the Function App in the Azure Portal. The Azure CLI method was what worked for me: az functionapp show --resource-group <GROUP_NAME> --name <APP_NAME> --query outboundIpAddresses --output tsv az functionapp show --resource-group <GROUP_NAME> --name <APP_NAME> --query possibleOutboundIpAddresses --output tsv I wanted this as I was hoping to whitelist the IP addresses in the database firewall to allow for scheduling some SQL scripts to run daily. The issue with this is the following, copied from the above linked Microsoft documentation: “because of autoscaling behaviors, the outbound IP can change at any time when running on a Consumption plan or in a Premium plan.” While at least a few people say whitelist these IPs anyway, the recommended course of action is to set up a virtual network within Azure. ...

May 1, 2024

Using Observable Framework on Windows WSL and quickly deploying to GitHub Pages

If you’ve got the framework installed, and just want to deploy the static pages, skip to below. Note - my first time doing this, but it works. You can always deploy directly to Observable. Observable Framework is not supported on Windows, according to an issue in their GitHub. (Update Mar 2024: Observable Framework is now supported on Windows). To use it, you need to use WSL. If you want to use it through WSL, then the following still applies. Fortunately, it is very easy to do. Steps I had to take to do this: ...

February 16, 2024

Monday links

- Whenever I do analyses I am nervous about being wrong, but using Excel’s autofill function to impute data would have definitely been on my “this is not correct to do,” at the very least. - Nice example of a personal project. Contained, clear output, and interesting to the person doing it + delightful to play with and generate maps as a person who has no use for it. It’s fun! - Helpful and clear description of how XSS (cross site scripting) vulnerabilities work and can be identified. ...

February 12, 2024

I'll be back babe no baby

In the past six months I’ve started to have finger, wrist, and forearm pain. I previously was using the Logitech Mx Mouse and keyboard for business. But due to the pronation of my wrists I wasn’t able to type at all without experience severe pain that would continue through the evening. so recently I’ve been using the Windows voice axis. To try and perform as much typing and as many actions on the computer as I can. This post Is entirely written using my voice. And as you can I sit I’m still having trouble making this a usable tool. ...

February 8, 2024