Welcome to my homepage

Best Viewed Without Eyes

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%;
  }
</style>
<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>
  <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>
</div>

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
    fi
}

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) {
    item.previousSibling.click();
  }

  current++;

  if (current < checks.length) {
    setTimeout(() => { uncheckIt(); }, 2000);
  } else {
    console.info('Done!!!');
  }
}

uncheckIt();

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…

Retweeted @Carnage4Life

RT @Carnage4Life: I can’t believe there’s a technical term for choosing a solution that works great for problems that big companies have bu…

Retweeted @cocoalabs

RT @cocoalabs: Debating on making a custom mechanical keyboard build with key caps that feature graffiti art. It would have the color sche…