13 november 2022

My son, Wyatt Anthony, was born on September 8th, 2022 at 9:50AM.

He is now two months old. He's quite a handful. He has grown a lot in the last two months. He was 6lbs 8oz when he was born and at his two month checkup he weighed in at 11lbs 10oz. It's crazy to think that in just two months, sixty days, he has almost doubled his weight. I thought it was wild when, at his first checkup, he had put on 20% of his total body weight in just two weeks. But having doubled one's weight is just crazy to think about. That would be equivalent to my 200lb frame becoming 400lbs by January 2023. It's no wonder he was able to roll over and now he can't; that's a lot of extra chunk to move around.

I've enjoyed having time off work. It's, for better or worse, caused me to re-evaluate what I want to do with my life. I think in an ideal world I'd quit my job and start building furniture full time. At least, that's what I say now... Trouble with that is two fold. First off, I prefer working with hand tools and practicing the craft using the "old" ways. I feel more connected to my work when I do things this way. Unfortunately, that means I'm spending more time on every piece that I make and, in a world where time is money, I'm spending a lot more money making a piece than I could ever hope to get back from it in dollars. The second problem is that people no longer value well made, though expensive, pieces of furniture. Fast fashion has taken over society in more places than just clothing. I hope that one day we'll see a return to sanity but until then, I think I'm stuck with it as a hobby.

04 july 2022

Entry 1 // 2022-07-04T16:58:44,780859151+00:00

Thought I'd document this somewhere. There's a weird issue with rtv and oauth. You have to manually create an api token and then configure it to use the same url. Once you do that, put the secret and token in the rtv.cfg manually. You can then login.

Entry 0 // 2022-07-04T00:59:06,750059042-04:00

OK, so two things to jot down real quick.

  1. I've set up a gemini server. Check it out: gemini://techmachine.net

  2. I had this wild brain dump on Signal earlier with a friend of mine.

    I had set up my gemini server and I got thinking "how cool would it be if there was some service that could host arbitrary markdown, hosted on IPFS, on gemini, gopher and http all at the same time.

    I think this spawns from an itch I've wanted to scratch for a long long time; how do I make my content as accessible as possible regardless of the medium?

    A rough sketch of this would look something like HAProxy, or nginx proxy. I've seen some projects which can render markdown both in to hugo and gemini, but these are all pre-render type programs. My idea would render pages in real time from the source markdown. There would be a caching layer to improve performance. The part I've yet to figure out is how to stream page contents directly in to a service that would then service it to the client. All of the clients I've seen expect the files to be read from disk. I'm sure that there's a way to stream html to nginx but I think I'll have to write something for gopher and gemini. Thankfully, it looks like there are pretty good python and go libraries for each of these protocols so I've got plenty of support for writing the handlers.

Anyway... that was a longer ramble than I intended for it to be.

TL;DR: I have some crazy ideas on how to provide content across multiple protocols

29 june 2022

Entry 0 // 2022-06-29T10:07:58,048760151-04:00

Been playing around with options to make my old laptop feel more responsive and came across AntiX. Maybe I've written about it already, I honestly don't remember... but, in any case, I'm now using it almost exclusively.

As mentioned in an earlier post, my wife and I have decided to disappear in to "the woods" for a while in our camper. This doesn't mean I've left all technology behind, but it means that my use is more intentional and I'm not spending all day behind a screen, per usual. Part of how I do this is I choose to bring older tech with me. No fancy laptops, no fancy phones. Just something that can access a terminal and, maybe, the web for occasionally looking something up (this has come in handy, helping us look up new card games to play... Kings Corner has been our new favorite).

In any case, I noticed the install of Ubuntu that I had on this laptop was starting to struggle... I'm guessing it was some new feature in an update I did that really just tipped it over the edge of usability for me. Someone over on the sdf.org bboard recommended AntiX, so, seeing that it was "only" about 1GB, I set off to find a coffee shop and download the ISO.

Upon returning to the camp sight, I set to work figuring it out. It's Debian based, so, not a huge learning curve. The biggest "hurlde" was "remembering" how to work in a sysv init world. I've adapted so judiciously to working inside of systemd because of my day job that sometimes I forget SysV stuff... Or even x11 stuff for that matter...

So, anyway, I got it set up and boy howdy, this thing screams now. I'm glad to see that there is still a community focused on keeping these old dinosours kicking. Now, if only websites would stop getting bigger, maybe I could keep it around even longer.

27 june 2022

Entry 0 // 2022-06-27T15:07:29,082363662-04:00

Writing today from the road. Current near Spartanburg, SC, USA. We've taken the camper and the dogs and gotten out of the city for a bit. It's times like these when I'm thankful for services such as tilde.town and sdf.org. Their dedication to keeping the web simple and useable, even to those who are connectivity challenged has allowed me to keep up my usual means of communication despite existing on the fringes of the cellular coverage area.

Going to try to stay mostly disconnected this week. The extent of my digital presence will, hopefully, remain contained within a few blog entries here as well as checking my email and messages once or twice a day (or maybe less if I'm feeling particularly content with offline existence.

25 june 2022

Entry 0 // 2022-06-25T10:04:08,982270545-04:00

I've recently had the itch to explore alternative operating systems again. It's been a while, but the new employer has much tighter controls over our work computers than previous. Trying to breath new life in to this old girl. Ubuntu runs fine but I want options. Personally, I hate dual booting, it just feels dirty. I've acquired a small USB flash drive which barely extends past the outside of the USB port. I'm going to try to find a "live" distro with persistent storage that I like for it. The advantage being that I can choose to boot straight to the USB stick or provide it as a target disk for a vm and use it without rebooting.

Entry 1 // 2022-06-25T10:32:59,937515565-04:00

This quote amused me:

The footprint is very big as MX Linux needs 5GB of hard disk space

The idea that an operating system is considered "small" at "only" 5GB is absurd to me. I remember using DSL (Damn Small Linux) and it only needd a few MBs of space. I understand that storage is cheap now but I'm looking for something that can go on a small flash drive, ever byte counts!

Entry 2 // 2022-06-25T12:17:35,644713276-04:00

I've installed Antix on the little 32GB USB drive and set it up with persistence and told it to load itself to ram. This thing is really quite slick. Booting it up takes a few seconds longer than Ubuntu but once the system is up, everything feels so much faster.

26 february 2020

Starting with my new team next week. I'm really looking forward to the change. My current team focuses on the systems; mainly keeping them running. The team tried to pivot in the last year in to a provider of "service APIs" which is an admirable goal but one which has not really come to fruition, mainly because there's so much technical debt with the existing systems that we can't get our heads above water long enough to make any meaningful progress.

The new team focuses mainly on internal tools. I'll be focusing more of my time on writing code; creating tools to improve productivity of our internal engineering teams. My hope is to bring my experience with my current team over with me and provide insights in to how we can make a meaningful impact on the toil work that these other frontline teams have to deal with. Until recently, the new team's focus has mainly been on supporting developers but I'll be working primarily on supporting our operations teams. Hopefully I'll be able to make a dent in the main time sinks for these other teams, allowing them to spend more time with their heads above water.

This whole things started when I introduced Terraform to the company about 8 months ago. The company started using a cloud provider and our internal provisioning system, being designed only for deploying and managing systems in our datacenter, was not up to the task. I took the opportunity to "ask forgiveness" and make a thing. Well, they liked the thing and I've been pretty much focused 100% on writing terraform modules and other sorts of meta automation around cloud provisioning and infrastruction management.

That's today's update. Thanks for reading

19 february 2020

I really hate Slack. As an accessible chat application, it's fine. It works 99.9% of the time for 99.9% of the use cases in the world. The problem is that for those of us in the 0.1%, the power users, the actual tech people, the people it claims to really market to, it's terrible, and it's getting worse.

Recent updates to the applicatino have added this notifcation that pops up every time I declare bankrupcy and mark all messages read informing me that I've done this and providing a button to undo this if it was in error. OK, great... for the first time, that's fine. Provide me with the option to undo the action and inform me of the appropriate keyboard shortcut to do so again in the future if it happens again. At least, this is how it should be done. Instead, this notificatin pops up EVERY DAMN TIME I mark messages as read. As if to say, "hey, stupid, you probably didn't mean to do the thing you just did, click here to undo that little oopsie doopsie mistakie-poo". No, fuck you. I know EXACTLY what I just fucking did. I'm not a child, get off my lawn. At the very least, they should provide an option to disable this annoying "reminder".

The worst part of all this is I had a perfectly working solution for avoiding the Slack desktop application all together. Wee-Slack is a Python plugin for Weechat, my IRC client of choice, which provided Weechat access to the Slack messaging API.

It. Works. Perfectly.

Or it did until Slack, in their clear infinite wisdom, deprecated their V1 API; the API that supported accessing the API with a user generated token. Now, you have to register any application wishing to use the API as a Slack integration. To do this, you have to be an admin of the Slack "server" for your organization... which I am, thankfully, not. Unfortunately, the administrators of our server are a bit overbearing and consider this a non-essential application providing "little to no benefit" to the organization while creating "unecessary security holes" in our Slack instance. In other words "We're too lazy to really understand what this plugin does for us because you're the 0.1% use case and we don't care about you".

So, now, I'm forced to live with this horrid excuse for a "desktop" (yes, airquotes, I see you Electron... you're just a webpage) application and be treated like a child.

26 january 2020

I got piCore Linux (the Raspberry Pi fork of TinyCore Linux) running on my Raspberry pi 3B+ this past week. TinyCore is interesting. Everything is run from RAM. This makes it boot really fast and also reduces the writes that are done to the SD card (good because SD cards don't have as many write cycles as hard drives or SSDs). My goal in setting this up was to run a gopher hole from my house. I've succeeded in this goal. It's not accessible from the public net just yet but it's all working locally.

I'm running gophernicus as the gopher server. This is a very popular and powerful gopher server software. Turns out it's not available as a pre-built package for TinyCore Linux yet, though. I had to compile it from source and figure out all the config options necesary for TinyCore to start the thing up at boot. Well, I've figured all of that out and decided it would be really nice of me to provide the extension to other piCore users. I've packaged up what I've put together and will be submitting the package upstream. Guess I'm a piCore extension maintainer now...

This post is a promise to both get the server on the public net soon and also to actually get the gophernicus extension published. If I don't have a follow up post sometime in the next few weeks and you're reading this. You should email me and shame me for not following through on this promise ;)

10 august 2019

Things in Open Source that piss me off:

The attitude in this thread: https://github.com/tmux/tmux/issues/1689

20 july 2019

Mozilla is slowly corrupting Firefox with crap. Recent update broke my a small change I make to hide my tab bar using a userChrome.css file. They claimed that they retained support for the file by allowing folks still using it to enable set a flag in about:config but even after doing so, it was still busted. Turns out I had to change this line:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

to this line

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xhtml");

Would have been nice to document that somewhere along with this change, no?

01 july 2019

I finished off my 1000 mile bike challenge yesterday. I rode 1000 miles in 30 days. This started as me just checking my stats for the month and realizing I'd done almost 800 miles and there was still about a week left in the month. I decided that the extra 200 miles was something I wanted to push for. Since Thursday I have ridden those 200 miles. Thursday I rode a little over 60 miles, Friday I rode right around 50, Saturday I took off as I was traveling and then yesterday (Sunday) I rode 89 miles to finish off the challenge.

Yesterday was the hardest day of riding I've done in a while, and that includes the 450 mile week I had at the beginning of June. While a lot of the places I ride have hills, where I am now is completely flat and going South had a tremedous, nearly steady, headwind. To top that all off, we're currently experiencing a heat wave that's set to get worse as the week goes on. The temperature approached 95F and the humidity was over 80%, just terrible.

I'm going to take a day to rest at the beach and do as little as possible. I also brought my speed skates with me this week. I hope to log some miles there as well.

25 june 2019

Working from home today. Finally had teh motivation to go to the pool this morning and get an hour of laps in. Been hard doing that recently. I think it's somewhat burnout but also my lack of discipline. I like to do what I want to do. One of the things I want to do is race and be competitive at what I do but what I like doing changes so it's hard to focus and get really good at any one thing.

On another note, the lack of swimming has lead to me biking more. I'm nearing 800 miles logged for the month of June. This will be a new record for me. I want to see if I can squeeze in 1000 before the end of the month. That'll be tough, though, with work this week. I'd have to have a couple of 50 mile days which I don't really have time for right now.

I also put my skates back on for the first time in a month last night. That was fun. It was raining so it wasn't great conditions but it was nice to get wheels back on my feet again. I miss that sport sometimes but it's very difficult to train for it where I live as the roads are just not that great and the drivers, while mostly friendly to cyclists, aren't so kind to skaters, even though I'm going roughly the same speed. IDK.

Enough rambling, time to get back to work

21 june 2019

So, I realized when I posted my feels entry for yesterday that I had previously posted about going on a week long bike trip across the state and that I would provide updates to the world during my trip. Well, as you can tell from the lack of updates, this did not go as planned. I originally had planned on making a short post every day, updating where I was, how the ride that day went and what I had been up to. Unfortunately, my plans changed on day one. My plan was to use my smart phone to make a brief post every day. On the first day, however, my phone leapt from my pocket while my body was in motion. This put a quick end to my plans as well as any hope of communicating with the outside world with more than 144 characters (now relegated to my dumb backup phone).

Unfortunately, I can't spend much time retelling all the stories of the week on the bike but I can summarize the week. It was AMAZING. I haven't really spoken about my passions outside of technology here much. Cycling is definitely one of them. I happened to look at my Strava stats the other day. I ride, on average 12 hours a week over an average of 5 days. My average weekly distance is right at about 200 miles per week. The week of my bike trip, I averaged 73 miles or 4 hours and 30 minutes each day. The total distance for the week came to right about 450 miles with my longest single day at 104 miles. It was an amazing experience.

Beyond just the bike riding itself, though, the experience of hanging out with people and being in the middle of nowhere with nothing to do but talk and read was just, wonderful. My friends and I described it like summer camp. Back before we all grew up and got jobs, when we still had summers off. We went to summer camps and got to do really cool stuff all day and just hang out; new experiences every day. This was very much how we felt about our bike trip.

I think it goes without saying at this point but I'll be doing this trip every year from now on. We'll go to different places, but a week long bike vacation is now a must do for my mental sanity.

20 june 2019

My boss told me the other day that my job title now has an adjective in front of it. I am now a Senior Engineer. Apparently this comes with more money and an expectation of something called "higher level" work. I think that means I'm supposed to do more fun stuff and less grunt work. We'll see if that is right or not in the coming months.

31 may 2019

So, I'm on this "low energy" kick. I've kind of been here before but this time it's more than just a nifty tech experiment. I want to start to be more intentnional with my uses of computer technology. One thing led to another and well, it's also kind of a neat tech experiment, so... more fun for me!

I'll be leaving tomorrow for a week long bike trip. During the treck we won't have a lot of access to the power grid. In preparation for this, I swapped my smart phone's SIM card over to a BLU Zoey II [0] feature phone. In addition to having an outrageously good battery life, it has a very small battery and a very small power input requirement for charging which means I can charge it using a small solar panel during the day if I want.I changed over a few days early because, well, my Google Pixel 2 has been giving me some trouble recently. The battery has been "dying" with 25% left and the phone starts to frequently crash when the battery drops below 70%. I've ordered a replacement LiPo for it and will be replacing it but it kind of got me thinking again about my reliance on the thing. Could I actually stop using it? This was two days ago. I've now been using the "dumb" phone almost exclusively. I've managed to find a workable system that allows me to keep my "smart" device usage to a minimum. The goal is not to totally remove it from my life but to help reduce the mindless use as a distraction from more important things (reading, family, hobbies, work, etc.).

So far I've been able to reduce my reliance on mobile smart devices by about 95%. Due to the nature of my work as a computer systems engineer, I almost always carry my laptop bag with me. In addition to my laptop I have taken to carrying an old Android tablet and my Google Pixel 2 in teh bag, all turned off. This allows the battery life to be greatly expanded and provides a bit of a barrier to usage (allowing time to power up the device before I use it). In time, I think I'll reduce the device count down from three to just two by either removing the tablet or the phone. It will probably be the phone that gets cut. I read ebooks almost exclusively and find reading on small phone screens more difficult than on e-ink or tablet devices. Almost all use of these smart devices is completely optional. There is, however, one exception. My employer requires multi-factor authentication for several online properties including the employee portal, VPN and ssh authentication. I was able to switch most of these over to using a physical token. Four of them, however, require the use of an app and do not support the physical token. This is the 1% use case where I need to power up my Pixel 2, open the app, get a code, and then shut it down again. Thankfully, this only has to happen once or twice a day in most cases.

This long winded story leads me to this final thought. My new side project; My "casual" project, if you will. A personal challenge. How can I be more intentional about my digital life in other areas. Not just with regards to my use of mobile devices but also at home, my use of my desktop computer, my use of the power grid, my use of television, media consumption in general. More generally, how can I LIVE more intentionally. Not in the philosophical, religious sense, but just in the living sense. My time is limited, I should do meaningful things with the time I'm given and the resources I hvae, don't waste time and energy on things that don't being me joy or meaning. I started looking around my life to identify the low hanging fruit I could tackle first.

The next most obvious place was my desktop computer. I have a big, hulking gaming PC. I used to play a lot of video games but in the last year I picked up some new hobbies that take up most of my time and I haven't played anything seriously in over a year. I decided to turn the desktop PC off to save some electricity and heat generation (it's really hot here in the summer). But I still want to have a desktop PC in my office to use for looking up information, listening to music, checking email or watching Youtube tutorials on while I build and paint my models. For this, I said "Ah, a Raspberry Pi is more than enough". I have a couple of Raspberry Pis (ok, a lot of Raspberry Pis) sitting around, once used for this project or that, and I decided to repurpose one for this endeavour. In about 30 minutes I had it up and running and connected to my desktop monitor. I'm still getting the software setup completley but it's already been a more than acceptable solution. My office is now cooler and quieter, but I can still do everything I need to 99% of the time. For that 1% when I do want to play a video game, I can turn the big hulking desktop PC on.

I think my first goal is going to be:

Run my home office off of 99% solar

This goal, in theory, seems achievable. The main energy consumers in that room are the window mounted A/C unit, my homebrew router and my desktop PC. With the desktop PC "solved" (it's "trivial" to run a Raspberry Pi exclusively off solar power with a battery backup system for nights and cloudy days). The router "problem" is solve-able. I will need to potentially buy something that consumes less energy (maybe a Raspberry Pi, who knows!?) but the software stack (PFSense) is fully capable of a "lift and shift" to some other device without much work. The A/C problem may proove to be the most difficult to overcome. The location of the office is not ideal for insulation from the elements. It's located above my garage and has very little insulatable space between the ceiling and the roof of the house. In addition, the windows are old and poorly insulated. The ideal situation would be to completely remove the need for the window mounted A/C unit but the costs involved in doing so may prove prohibitive. Running such a power hungry device off of solar seems impractical as well, likely increasing the power draw on the system by several orders of magnitude requiring larger panels and bigger batteries. This will probably require more thought, but I have confidence I can come up with something.

So, anyway, I've rambled enough for now. I'll try to post one more entry before I leave for my trip tomorrow and, if conditions permit, I'll try to post some trip updates during the week as well.

[0] https://www.pcmag.com/review/336309/blu-zoey-ii-unlocked

30 may 2019

Spent the day reading Kubernetes release notes. They sure did change a lot from 1.12 to 1.13. Maybe 1.14 won't be as long of a novel.

24 may 2019

I rode my bike to work today for the first time since my friend was killed on his bike almost two years ago. It's weird how those things can spook you. I've known people killed in car crashes and it didn't stop me from driving. Why then did this take me off my bike for so long? Things to think about...

13 may 2019

This is kind of cool: https://github.com/HFO4/gameboy.live

18 april 2019

Been a while since I wrote anything here. I'm doing a lot of writing on my blog these days over at https://platfrastructure.life.

A few updates for here:

I think that's it for now. Peace!

18 january 2019

Got a couple of project ideas running around in my head. I am going to try to start one of these this weekend:

I've always wanted the ability to play my classic video games on the go. Over the Holiday break I bought a Nintendo Switch and have absolutely fallen in love with it. The form facter is perfect. I see so much potential not only in the console itself but, more generally, the form facter. This has reinvigorated my portable game emulator idea. I've found some people online who have 3D printed "Nintendo Switch" clones. These all want you to build a custom controller interface that only looks like the Nintendo Joycons. I'm going to see if I can use my experience with getting other uncommon bluetooth devices working on Linux to get the actual Joycons working with the RaspberryPi.

We have a handful of 3D printers at the office which we use for prototyping. We're a small shop so we use consumer 3D printers, nothing fancy. Occasionally prints fail. To avoid wasting material and time, I set timers at my desk to remind me to get up and check the print every 30-60 minutes. Today I thought it would be really neat if I didn't have to get up. I'd heard of Octoprint but it does more than I need so I have never tried setting it up. Instead, at least at first, I'm going to try using a RaspberryPi Zero W connected to a RaspberryPi camera to buid a site containing a list of video streams for each camera. I can then keep a small window up in the corner of my screen for the duration of the print both improving my ability to quickly react to a failed print, further reducing material waste, and helping me be lazier.

Anyway, that's probably it for today. I'll post any updates over the weekend if I come up with anything worth sharing.

12 january 2019

Why does it always have to rain?

09 january 2019

Saw a vehicle on the road the other day with a bumper sticker "townie"

It was not related to ~town. I was sad

From IRC today:

17:56:24 nilaky Christian shitpost - Cool Camp Counsellor: ...and so kids, just as God yeeted the angel Lucifer out of heaven, so too must you yeet the devil from your hearts

05 january 2019

I setup a weechat relay today for tilde.town's irc server. I have a handful of shell accounts around The Internet for various use cases and one of them is for maintaining ssh tunnels for various other applications, sort of like a poor mans VPN. Anyway, I've got one of those tunnels now going to tilde.town and also running a weechat irc relay in a screen session connected to localhost. This combination allows for me to have a persistent connectoin to the tilde.town irc server. This is nice because my primary computer is a laptop that is regularly put to sleep during transport. This would typically cause my IRC session to come and go, potentially causing missed messages. The relay now allows my laptop to come and go while my connection to the IRC server stays persistent. When my laptop re-connects, I'm forwarded all missed messages.

04 january 2019

Frustrated. That's today's feeling. Spending the day trying to make crappy software less crappy. Instead of being given the resources to actually fix the problems, though, I'm told to make it work. Then I tell them it won't work and fix the problem through policy reform. I guess that's good enough for now but I wasted way too much time.


25 december 2018

Pocket Gopher on android is really nice. I've never used the F-droid app store before. The experience was great and the Pocket Gopher app has been fantastic.

19 december 2018

Today was crazy. Discovered we have a really interesting bug with one of our k8s clusters. Turns out the kernel version we are running has an old and not so great Ceph module. This module causes the block device to hang when (I think) terminating a pod using an RBD for storage. The consequences of this RBD getting stuck are many. For starters, the docker API begin to slow down and causes a significant increase in docker api timeout errors. The second observed problem is that some pods won't start back up if others in the deployment haven't yet finished terminating, causing deployments to fail and finally causing our monitoring system to lose it's mind because it's trying to scan disks and getting stuck trying to read block devices that are hung.

Today, I feel a combination of amused and exhausted.

18 december 2018

I've logged in to my tilde.town account for the first time today. It's been a while since I requested it. The main reason for the delay was that the ssh key I submitted was on a laptop I rarely use. All boring details. I finally got the ssh key for my "real" laptop published to tilde.town, though and I'm happy to be here. I guess that's my feels right now, happy.