Archive

All posts

616 posts latest post 2026-10-06
Publishing rhythm
Jun 2026 | 3 posts
Autism ADHD and the Doshas

Autism ADHD and the Doshas

Introduction I was recently diagnosed with Autism Spectrum Disorder Level 1 and ADHD, the inattentive type. I suppose, AuDHD for short. There are many reasons why I now have this official label of AuDHD, not that I was hoping for it, but due to a childhood behavioral disorder diagnosis and a desire to understand myself better, I decided to start considering that something in my childhood issue was misunderstood. Note But what started as simply considering some new diagnosis turned into a larger worldview shift when it comes to medicine and how we treat people for things we label disorderly. Personal History # A brief history lesson for context is that I was diagnosed with bipolar disorder, but not specifically type 1 or type 2. This diagnosis came about two times, once in my late childhood and again when I was 19. The diagnosis never made a ton of sense to me, but it seemed to almost match some of the things that my mom specifically was concerned about. There is another point for later…

Backups interrupted by full disk usage

I just got a message from HCIO that my primary backup script is late… This happens every now and then but I decided to check on it… Quickly in and I notice it takes a long time to connect, but nothing errors out… I’ve been in the game long enough to think this kind of latency is often disk IO. After waiting a bit and haulting the zshrc sourcing, I hit a and bam… There’s a container logfile that’s about 80GB sitting in … Easy enough to remove, but I need to setup some alerts on disk usage, and identify the container to limit the log file size Useful Notifications I use healthchecks.io to monitor several scripts. You can self-host it but I use the hosted service since he has simple Signal integration

Windows Update Broke Wifi

Windows Update Behind My Back After an unapproved windows update on a machine I help administer for my church, the wifi became super finnicky. I had installed a pretty standard AX5400 WiFi 6 PCIe adapter and things were great for a while. ISP and Top-Tier Laziness # The ISP installed the modem and router/AP combo all in one room encased in CMU block in the basement… That is in the worst possible spot in the entire building and the Windows computer of note is as far away from it as possible - but we were cooking just fine with that PCIe card. Suddenly though, after the update and reboot the machine quit receiving an IPv4 address via that interface… Many applications broke in odd ways, and the browser connected to some websites but not others. State Matters # It took a lot of troubleshooting because of 2 things in the mix… Tailscale A second Wi-Fi adapter via USB dongle that was installed while I was out of town (due to the WiFi issues) So because of these 2 things, and mostly the USB ad…

Queso Notes

It occured to me that this is my blog… I can write about whatever the heck I want! May 2025 # Made 2 quesos very similar - they consisted of: 1.5 lbs ground beef 2 lbs Velveeta (queso blanco or original) ~ 0.75 lbs Pepper Jack ~ 0.75 lbs Chedder 16 oz diced tomatoes 8 oz diced chilis 6 oz. jar of sliced jalepenos (for the queso blanco) I basically browned the meat, and combined everything in a foil pan and smoked for an hour or 2, stirring regularly. The Queso Blanco one was a little runnier, no doubt due to the added jalepenos. Both queso’s turned out pretty good but could definitely use a lot more heat. I seasoned the meat with some salt, pepper, garlic, onion powder, cumin. We could add jalepenos to regular queso for the flavor since there was almost no heat, and then add serrano or something to the queso blanco to turn the heat up next time. Stay tuned to this post somehow for the next update! Q: How to start a series? Q: Does RSS update if a post is updated?

I keep running out of space with my swap getting maxxed out… I don’t know why but U-Blue uses Zram already and apparently I can easily override the defaults:

in usr/lib/systemd/zram-generator.conf


# This config file enables a /dev/zram0 device with the default settings:
# — size — same as available RAM or 8GB, whichever is less
# — compression — most likely lzo-rle
#
# To disable, uninstall zram-generator-defaults or create empty
# /etc/systemd/zram-generator.conf file.
[zram0]
zram-size = min(ram, 8192)

And so I just made my own file in /etc/systemd/zram-generator.conf:


[zram0]
zram-size = min(ram, 16384)

I Hate Corporate America

Rant The longer I’m in corporate America - and the longer I homelab and listen to podcasts - a cliché truth becomes more and more apparent to me, which is a lot of people are full of bullshit, and a lot of initiatives are built on nothing, and a lot of people feel the need to be/feel important. Danger That makes it hard to do things and find things that are actually valuable. So, for this rant to be healthy I suppose I’ll muse for a little while on finding things of value in these contexts that suck. I want to be thankful for finding things that matter when I’m forced to participate in contexts that I think are stupid. Redemption So what good has come? The first is financial blessing - I hate that money runs the worls, but God has given me a skill-set where the work does afford a moderately comfortable life. I’ve met some good friends of faith through the machine that is corporate America, and the friendships are a source of regular encouragement via The Boys Chat. I’ve also met a coup…

TIL

Today I learned that the .info() of a pandas.DataFrame will always give you an answer, but it is wildly difficult to know how accurate it is, because it depends on the underlying data types. If everything is a NumPy Dtype, then the result you get is the amount of memory NumPy is using under the hood, which is very accurate. But as soon as you have something like a Python string in the data frame, now pandas will tell you how much memory the NumPy data types are using, and it will give you some quick estimate of how much memory space the Python string types are using because numpy is just storing a pointer to that data in memory, but this is far less accurate because it doesn’t actually know what the strings are.

Memory Usage Deep or True #

To get an honest answer about a DataFrame’s memory usage, you need to pass memory_usage='deep' to the .info() method.

# This is the default
In [50]: df.info(memory_usage=True)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   s1      10 non-null     int64 
 1   s2      10 non-null     int64 
 2   s3      10 non-null     object
dtypes: int64(2), object(1)
memory usage: 372.0+ bytes

Notice that the memory usage has a + in it? You can force a deeper analysis by passing memory_usage='deep'

In [51]: df.info(memory_usage='deep')
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   s1      10 non-null     int64 
 1   s2      10 non-null     int64 
 2   s3      10 non-null     object
dtypes: int64(2), object(1)
memory usage: 792.0 bytes

💭 SearXNG | Open WebUI

I've been meaning to set searxng for a while - it comes out of the box with khoj but I want an instance for open-webui a

1 min

I heard about SearXNG on a couple podcasts and saw it trending on GitHub several times before I finally decided to stand it up. I used it transparently when trying out khoj, a self-hosted AI LLM agent playground kind of a thing, but I’ve also been messing around with Open-WebUI to have a self-hosted ChatGPT-like experience. I don’t know if SearchXNG used to be harder to set up, but it was pretty simple with a Docker Compose up and a couple configuration options given my personal homelab setup. Using it feels very nice.

services:
  redis:
    container_name: redis
    image: docker.io/valkey/valkey:8-alpine
    command: valkey-server --save 30 1 --loglevel warning
    restart: unless-stopped
    volumes:
      - ./data/redis:/data
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"

  searxng:
    container_name: searxng
    image: docker.io/searxng/searxng:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data/searxng:/etc/searxng:rw
    env_file: .env
    environment:
      # - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
      - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}
      - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"

I love the self-hosted aspect. I love not seeing any ads on my search results. I did a few searches where I know what results to expect and it did okay. It is good right now at filtering out garbage in my results.

SearXNG

So I look forward to tweaking it and using it as a search backend with open web UI. Next on my list is having enough resources to run Ollama and a stable diffusion generator at the same time and have image generation working through open web UI.