Welcome to my homepage

Best Viewed Without Eyes

Daily recap - 2022/06/16

I decided to investigate why the hell News.app on my desktop can't seem to remember the window size. It's a brand new computer that I've not had a chance to fuck up that bad, right?

Turns out it's not me, it's just Apple making shitty software (I said to no ones surprise). I found this post on the Apple forums and the "solution" is to uncheck a setting in the system prefs, but that only works if you quit the app. If you close the window without quitting it, no good - it resets back to a small, perfectly centered window. Apple, seriously, what the fuck?

This reminds me of a post by Benjamin Mayo about how shitty Apple (News, Music, etc) services are.

They are built to a passing grade, but nothing more.

That pretty much sums it up. Apple makes wonderful hardware, but more and more, their software and services are less impressive. News is a fucking catalyst app, which probably doesn't help anything, but isn't Messages also a catalyst app? It can remember where I place, and how I size, the window, so why can't News? Music is such garbage, that I try not to use it, and I fucking pay for it! Podcasts, while not a service, is still some in-house Apple software, is so shitty that I spent money on an app.

But like I said, their hardware is top notch, and while they can't seem to figure out how to make a decent RSS reader (which is all News.app really needs to be, right?), they do a pretty good job on the OS, too. Certainly the most attractive and easy-to-use *nixish desktop I've ever used.

Daily recap - 2022/06/15

Nothing doing today. Work in the day, work in the night, dinner in between. Last night was fun... Kinda. I spent some time upgrading a CakePHP 3.8 app to 4.3 and what a fucking nightmare that was. But now it's done and I just need to make a new server and deploy it. Yeah, make a new server because that's probably easier than upgrading the current one. I've had enough upgrading bullshit for a while.

Daily recap - 2022/06/13

Boring day. Exhausting day. I was up until three in the fucking morning yesterday (today) for some dumb reason. We had people over for some drinks and grilling out, and it was fun. So much fun that I didn't realize it was almost 3AM when I cracked my last beer. I was wide awake! Not so much this morning when the alarm went off, though. Jesus, it was awful. I think I'm gonna turn in early tonight, try to catch up on some sleep.

Daily Recap - 2022/06/06

Monday. Nothing fun. Work was uneventful, day and night. Finally got a side client project off my plate, and that made me happy.

It was kinda rainy today, kinda sunny, too. It was weird. We thought it was gonna hail, it didn’t

I missed the WWDC keynote because I didn’t configure some shit right. It’s on my “watch later” list on YouTube.

I put a bid on a smart sensor for the EcoBee on the electronic bay because EcoBee won’t sell you just one. I hope I win. It’ll be nice to have more accurate temperature readings for the HVAC.

I had an idea for a social network (I know) and jotted it down in my notes. Probably gonna forget about it immediately.

Posted this from my phone!

Goodbye, Hackintosh

In November 2021 I built my first (and last) Hackintosh. It was a fun process, and having MacOS running on my own hardware was very fun, but I've had my fill. Problems with updates, fucking with plist files, keeping up to date with OpenCore changes, losing whole weekends to OS upgrades, having to fight to get features back after OS upgrades, the fact that I never got the mic/headphone combo jack on the front panel to work... It's worse than running fucking Linux!

Anyway, today I wiped the old bastard and I'm installing Windows 11 on it at this very moment. The plan is to put it in the living room and turn it into a media center/gaming PC. It's nice to have it off my desk -- the Mac Studio is about 1/5 the size of the Hackintosh, so I've got loads of free space now :-)

As part of the decommissioning process, I wanted to put the original WiFi card back into the machine, which required taking it completely apart, which was as shitty as I remembered. Somehow I managed to make it so the fan light doesn't come on anymore, which is more annoying than anything, especially since I took the video card out and unplugged a few cables at least 3 times trying to get the fucking thing working. I did make one fun discovery, that explains why the machine had problems converting a gigantic video file -- turns out, I'm not great at applying thermal paste. I should've been a bit more liberal with it, it would seem.

Daily recap - 2022/06/02

Nothing happening today other than the fucking problem at the day job... I thought we had it figured out, and then today, after a lot of testing, QA managed to break it again. Glad they did, because I don't want it to get out to customers all fucked up, but jesus fucking christ, I wish we would've chosen a better/easier way to do this.

Daily recap - 2022/06/01

I took a little time and setup my new machine today. Then I realized that the usb-c -> displayport cable I bought was useless because my KVM has the displayport cables built in, so I need another usb-c -> displayport adapter plug (like I have for my work laptop). Something else cool is that the usb 3 ports don't put out enough power - even on a powered usb hub - to run my keyboard. Webcam works fine, mouse works fine, keyboard, not so much. Now I get to take my changes buying some no-name cables and a usb hub from that bald bastard, and hope they don't burn down my house. Yay.

I think I finally got that fucking thing with my day job figured out. Weeks on this fucking thing. WEEKS! We'll see what QA says tomorrow. I do not have high hopes.

Nothing else worth reporting. Regular stuff, really.

Daily recap - 2022/05/31

I got through a super stupid thing at work today. A thing I'd been fucking with for like, 3 weeks, I finally figured it out... I think. We'll see tomorrow when QA gets their hands on it and tells me it's still wrong. Oh well. 🤞

In other news, my new computer arrived today! Very exciting stuff. And it was basically free (if you don't count the time I worked while on "vacation" to finish a project) since it was a bonus from my night gig. Not too shabby, eh? It's a Mac Studio with the M1 Max processor just a smidge better than the base model, 32GB of memory, and a 1TB drive. Pumped to get into it and start using it. Then I'll need to figure out a way to put my current machine downstairs so I can use it for video games, and things that aren't accessible from the Roku.

We went to Costco tonight to pick up some shit and, as usual, we left with way more than we planned on. We got a new trash can, which is fucking great. The old one was a terrible design, and it looked kinda shitty. It's weird being a grown up and getting excited about something as mundane as a new trashcan. Damn weird.

Daily recap - 2022/05/30

Today was a holiday, so no work, and that's fun. I had a nice sleep in - didn't get up until 10 - and that's nothing to complain about.

There was a couple things I wanted to do today that I didn't get to because we were out of the house, but it's nothing that can't wait another day.

We went to a friends house for a little Memorial Day cookout. Ribs, brisket, flan... It was good.

Daily recap - 2022/05/28

Doing it early today because there's not dick happening. Today was housework day, so we spent the first half of the day doing that -- dusting, vacuuming, washing bathrooms, mopping, washing windows, etc, etc -- and the second half of the day will be spent doing nothing. Well, almost nothing ;-)

I made some changes to my website -- added a bookmarklet so I can easily share stuff from other websites, tweaked some styles, and other little bits and pieces. Nothing super exciting for anybody but me, and even for me, I'd say it's only mildly exciting. Fun, though.

Ooh, one more actual fun thing for me is that my new computer (Mac Studio!!) is in the country. The less exciting part is that it'll be here Tuesday, which means it'll sit on my desk, in the box, until Saturday when I've got time to sit down and get it all setup.

Daily recap - 2022/05/23

Monday. Rainy and dreary, which I don't actually mind. Work was meh. More time spent staring at the screen and in calls trying to figure out this one dumb fucking problem, but I think it's finally sorted... I hope, anyway. Night work is more exciting because I'm getting to write code, but I really don't feel like doing anything tonight.

I've got jury duty tomorrow. I'm "on call" which means I don't have to show up at 8AM (thank christ) but I do have to call in at 11:30AM to see if they need me to come in at all. Fingers crossed they do not.

We went to Cost Plus World Market (awful name) and picked up a few things that Lauren ordered, and more than a few snacks that I spotted while we were in there., so that was fun. Afterwards we went out to a 50's diner-style joint for dinner called Gunther Toody's. The food is good enough, but we really went for the cherry soda -- they add the cherry flavor to the soda and it's just so fucking good, that I'm happy to put up with a kinda soggy burger and fries soaked in cheese that I did not order, just to get that stupid soda. They've also got some really great appetizer chips that are somehow crunchy and soft, and they're served fresh out of the fryer. Good shit, man.

Daily recap - 2022/05/19

I'm trying something new. I'm going to see how long I can sustain summarizing my day every day. Get ready to be bored.

Today was good. The day job was good - getting agency plan shit done, fighting stupid bugs - and night job was meh. Not meh because of the work really, but meh because it's something dumb that I fucked up when I wrote the code originally, so now I've gotta go back and fix my fuckups.

The single sunflower that was growing (from probably 15 seeds I collected from my dad's house in TN and planted here) in the raised garden in our back yard got all fucked up somehow, and it's probably dead, which was a bit of a letdown, and none of the other seeds I planted have sprouted yet, which is also a bit of a letdown. I hope at least the wildflower seeds Lauren threw down come up. I'm so sick of looking at that fucking pit in the back yard. I'm not sure if I'll try planting more sunflower seeds.

We had spaghetti for dinner and it was fucking delicious, as usual. I'm pretty sure putting Lauren's sauce on a bowl of dog shit would make it edible. I'm looking forward to throwing some of it in my chili. Oh yeah, I'm gonna make some chili because it's supposed to FUCKING SNOW TOMORROW. May 20, 2022, there is goddamn fucking SNOW on the forecast for Colorado Springs. Fucking lovely. I shouldn't complain because we definitely need the water, but why not rain?

I took Lauren to yoga after work, then came back home and watched a nerdy video about the first digital video camera to use mp4. Well, watched about 30 minutes of it, then I went back to retrieve Lauren from yoga. Then it was night-work time.

Nothing else really to talk about. We're gonna go see the Bob's Burgers movie in a week, so I'm excited about that.

Look at what I've done now

After switching from Spotify to Apple Music, I found one thing I actually missed from Spotify, and that was podcast playlists. The Apple Podcasts app is not great, so I use Downcast, which is much better, but has its own issues. For some reason when I search through old episodes of a podcast, Downcast will crash about half of the time. After I restart it, my playlists will have vanished, but the search feature works just fine. If I quit the app and restart it again everything is great... for a while. Then I search again, and the whole process starts over. It's frustrating enough that it prompted me to build Podmix.

Podmix is a service that lets you create playlists of podcast episodes and listen to them (a) in the browser with the integrated player (b) in an MP3 player with an M3U playlist or (c) in a podcatcher with an RSS feed. You can also "Favorite" playlists for easy access.

Truncate text in the middle with CSS

I had an idea tonight about being able to truncate text in the middle with CSS and a little bit of "extra" markup. This is what I came up with.

Wanna see a demo? Copy this code into HTML file, crack it open in a browser, and you'll see something like "Lorem ipsum dolor sit ...neque vitae turpis" and resize the browser to see it change :-)

Obviously the extra content isn't ideal, and there's probably a better/more efficient way to do this, but the idea struck me, so this happened.

<style type="text/css">
  .top {
    display: flex;
    flex-direction: row;
    max-width: 80%;
    margin: 30px auto;

  .trunc {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: '';

  .trunc:first-child {
    width: 70%;

  .trunc:last-child {
    text-overflow: ellipsis;
    direction: rtl;
    width: 30%;
<div class="top">
  <div class="trunc">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Ut vehicula lobortis euismod. Maecenas condimentum,
    sem sit amet consectetur convallis, quam tellus
    tincidunt nisl, ut posuere lectus neque vitae turpis.
  <div class="trunc">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Ut vehicula lobortis euismod. Maecenas condimentum,
    sem sit amet consectetur convallis, quam tellus
    tincidunt nisl, ut posuere lectus neque vitae turpis.

Always use the right node version

Do you switch between versions of nodejs for different projects, and sometimes (a lot of the times) you forget to actually switch the version? Well, I've got a solution for you!... If you use zsh and nvm, anyway.

Drop this snippet in your .zshrc and you're good to go! All it does right now is check for a .nvmrc file in the same directory, and if that exists, then it'll run nvm use, which will attempt to switch to the version specified by the .nvmrc file. If you don't have the right version installed, it'll whine and you'll need to install it manually, but I hope to automate that soon enough, and I figure that's better than nothing.

Now you just need to add .nvmrc files to all your repos. Fun, right?

function set_node_version() {
    if [ -f "$PWD/.nvmrc" ]; then
        nvm use

add-zsh-hook chpwd set_node_version

Another Twitter script

I have over 500 "interests" according to Twitter, and I'd rather not. So I made this script that will go through and uncheck all your interests. Go to your interests settings page, paste the script below into your console, run it, and wait. There's a 2 second delay between unchecking interests because if it goes any faster than that the API craps out after a while and it doesn't recover for about 10 minutes.

const checks = $0.querySelectorAll('input[type="checkbox"][checked]');
let current = 0;

console.info('Total: ' + checks.length);

const uncheckIt = () => {
  const item = checks.item(current)

  console.log('Item', item);

  if (item) {


  if (current < checks.length) {
    setTimeout(() => { uncheckIt(); }, 2000);
  } else {


A whole new blog thing

On a suggestion from my lovely and amazingly talented wife, and an idea I'd been kicking around for a while, I decided to build this monstrosity. We both thought it would be nice to have a place like Facebook or Twitter or whatever, but that's just for you. I realize I just described a blog, and I suppose I could've just installed Wordpress with bunch of plugins to do what we wanted, but where's the fun in that?

For fucks sake, really? Another blog?!

Yes, this is more blog software. Some very simple blog software. You can make posts, and you can attach files (think pictures and videos) to those posts. You write your posts in Markdown, and there's some basic privacy (public/private, allow comments or not) features, too. You can also import your data from Facebook, Twitter, and Instagram! The main difference between this and any other blog software, as far as I know anyway, is the feed.

The feed!

You can add your "friends" (websites) and, if they have an RSS feed, it'll be pulled in and displayed on your "feed" page, kinda like Facebook, but more like an RSS reader, because that's all it really is :-) Nothing really fancy, but a nice way to keep up to date with all your friends from one easy place, just like Facebook. There's no way to "like" things that show up on your feed, but you can share them very easily.

What else?

Hell, I don't know 🤷‍♂️ There's still a lot of features I want to add... Hashtags would be cool, email notifications could be helpful, a password reset UI, a setup process. I still haven't thought of a good name for it yet. And while currently it's locked up in a private repo, I'll be flipping that switch to public as soon as I'm comfortable I haven't committed anything too embarrassing.

Retweeted @kntoukakis

RT @kntoukakis: Very interesting article for websites that offer software downloads. Even established small software businesses would need…

Retweeted @Foone

RT @Foone: I had a terrible idea on the way home today: what if you could connect two computers together with thunderbolt?

It's basically…

Retweeted @redlightvoices

RT @redlightvoices: I see reviews of the decade about to end and different cultural milestones that defined us but I believe few moments re…

Retweeted @justhighlo

RT @justhighlo: Here's a little sneak peek at the next few episodes of #lunchwithlo: infused bacon, bread pudding with egg nog sauce, almon…