ScottW's Blog

One of the shortcuts I have missed from vim in VS Code: Alternate Files

Join the KickoffLabs affiliate program | KickoffLabs

We (@kickofflabs) now offer a 30% lifetime commission on all referrals.

Suggestions for consuming less social media:

  1. Delete the apps from your devices. They only exist to suck you in. Your browser works perfectly fine
  2. Use FeedBin - Those I follow and don’t want to miss a single tweet/toot are all waiting for me on my schedule.


Kredis (Keyed Redis) encapsulates higher-level types and data structures around a single key, so you can interact with them as coherent objects rather than isolated procedural commands. A declarative DSL can configure these higher-level structures as attributes within Active Models and Active Records.

A game of spotting the hidden cancel link.

semi-hidden cancel link

My other Remote Ruby listen on a way too cold morning March walk was with Ken Collins about using AWS Lambda with Rails.

See Lamby

How did I not know that typing a single “.” on GitHub would open the entire project in VSCode.

Great discussion on The Remote Ruby podcast about CodeSpaces to take this even further.

I used what does this code do on my ruby clsx implementation.

The result is impressive.

Never send a long email when brief bullet points will do.

Google says they will make your short emails longer for some dumb reason

Bookmarklet’s are an underutilized tool for data entry. This is the first tool I have seen try to make this easier: Bookmarklet Editor

Litestack looks like a handy library to get a project started.

I have been working on converting something from Next.js to Ruby. The Next.js version is still more visually appealing to me, but the benefits of working in Ruby far supior to me long term.


    <Card as="article">
      <Card.Title href={`/articles/${article.slug}`}>
      <Card.Eyebrow as="time" dateTime={} decorate>
      <Card.Cta>Read article</Card.Cta>


    {%@ Shared::Card::Card as: :article do %}
      {%@ Shared::Card::Title as: :h2, href: article.relative_url do %}
      {% end %}
      {%@ Shared::Card::Eyebrow as: :time, dateTime:, decorate: true do %}
      {% end %}
      {%@ Shared::Card::Description do %}
      {% end %}
      {%@ Shared::Card::Cta do %}Read article{% end %}
    {% end %}

I have been listening to the “Subtle Art of not Giving a Fuck” and this quote (likely paraphrased incorrectly) stood out to me:

What determines success is not what you want to enjoy, but what pain you are willing to sustain.

If you find yourself with a lot of open VSCode projects, the Peacock extension can add a great visual clue (color) when trying to quickly switch.

TailwindCSS IntelliSense with Serbea

I have been experimenting with Serbea templates with Bridgetown and was not able to get TailwindCSS IntelliSense to work.

Serbea files using the file extension .serb, so my first attempt to configure it looked like this:

"tailwindCSS.includeLanguages": {
  "serb": "html"

However, what I needed to do was specify the file content type:

"tailwindCSS.includeLanguages": {
  "serbea": "html"

Thorough overview of deploying a new Rails cluster with MRSK:

Day 6 of #mbmar - (pre-)engineering

Lego's built by my daughter

Custom Flash Messages in Rails

The more you know.

Ja Morant Has Everything. He Could Lose It All

Morant should be suspended for the rest of the season. Anything shorter is the wrong message.

Day 5 of #mbmar - tiles (with a reflection)

Glass subway tiles with a reflection

Waiting for Jerry at ‘zip’ code 10023 - Day 4 mbmar.

Empty Beacon Theater stage

The only reason to post something like this is because it happened and someone admitted to it.

National Park Service on Twitter

Don’t push your friend down to get away from a bear

The new KickoffLabs product intro by @joshaledgard is banging:

By far the best thing we have done to show you the what can be done with the product we have spent over a decade building.

Day 3 of mbmar challenge - Zamboni at Rockefeller Center (Solitude)

Zamboni at Rockefeller Center as a photo of solitude.

Day 2 of #mbmar - weather.