Hobbies on the go

 Today I dropped off my work car for service. They told me it would take two hours, and there wasn’t much I could do but sit and wait.

When I told a colleague, he said: “Oh, what a drag! It’s always like that. I hate waiting!”

Me, I thought: “Yay, two hours to tinker with my blog.”

So I found a seat in the lounge, grabbed a cup of coffee (there’s always free coffee at car repair places here in Sweden, it’s practically a law), and opened my laptop. By the time my car was ready, so was the little thing I’d built while waiting: a new notes section 1.

Those two hours flew by. Honestly, I wouldn’t have minded if they’d said it would take an extra hour.

Hobbies are important. We all need a hobby — and if at least one of them works anywhere, that’s a win.

  1. The content is pulled from my micro blog, birming.com. That means you won’t see those status updates in your RSS feed for robertbirming.com. In short, your feed will stay clutter-free.

Robert Birming

13 Oct 2025 at 17:49

The inner critic

 As bloggers, we all share a familiar companion. Someone who’s been there from the very beginning. Someone we’d happily kick out the door if we could.

The inner critic.

This not-so-jolly-good fellow came up in a discussion about my previous post. In a reply, I wrote:

...it’s so easy to let the inner critic run the show. Maybe the trick isn’t to beat it or silence it, but just to notice that it’s there... and accept that it probably always will be. That’s alright, we just don’t have to believe everything it says.

I really think that’s true. The inner critic will keep following us like a shadow. Ask any author, musician, painter, poet, or other creative soul — they’ll tell you the same.

It’ll be there no matter what. And since we can’t really get rid of it, we might as well accept it. Not as a sign of defeat, and not by pretending it’s some kind of muse. Just noticing it’s there, and letting it be.

Like any dog owner will tell you when their overexcited four-legged friend runs up to greet you:

Just ignore him and he’ll calm down.

Robert Birming

12 Oct 2025 at 17:28

Write whatever whenever

 I just read BinaryDigit’s post Trying to blog more often.

She brings up the limiting idea of needing a specific topic to write about, which I think many bloggers can relate to. But just like she says, “that’s not what having a blog is about.”

So true!

Well, that specific-topic notion might make sense if you’re a “brand.” But most of us bloggers aren’t. We’re simply people who love to write and enjoy reading what others are writing. Simple as that.

Feeling free to write casually and whenever you feel like it, just like she mentions, is really what it’s all about.

In the world of blogging, the www bit stands for:

Write Whatever Whenever

No more writer’s block. No more worrying if the content is “good enough". No more stat-staring blindness.

Just happy blogging!

Robert Birming

10 Oct 2025 at 14:58

Seeing things differently

 — Do you know the area? the client asked.
— It’s the place with the piano, right?
— I don’t know anything about a piano.

This conversation took place earlier today. I’d called to let the client know I was on my way.

When he asked if I’d been in the neighborhood before, the image of an old piano in a park popped up. Clearly, I’d mixed it up with another place, since the person living there had no idea what I was talking about.

Twenty minutes later, I arrived at the address — right after passing that very same piano. The client had never seen it, even though it was just around the corner.

It might, of course, be a case of “home blindness”. But I don’t think that’s the real reason. And it’s not that I was born with a rare gift for spotting pianos in parks.

I think it’s because we, as individuals, focus on different things. I see a piano. Someone else is absorbed by the sound of birds singing. Another person’s mind is busy planning a meeting.

We’re all different. It’s a beautiful thing.

It’s also good to remember when someone has a completely different opinion or view of something that’s happened. It’s true to them.

Often, it’s not so much about “right” or “wrong”. It’s about perception and personality. It’s about background and beliefs.

We might not agree, but that doesn’t mean we have to be disagreeable.

Piano in park

Proof that the piano really does exist.
Robert Birming

09 Oct 2025 at 15:46

Bear Blog plugins

 One of my first requests when I started using Bear 1 back in early 2023 was a pagination feature. The list gets quite long once you’ve written a lot of posts.

So I was pretty happy to see that Herman has now added a Bear Blog plugins page. It’s described like this:

The following scripts are extensions for the Bear Blog platform. These are not official extensions to Bear and may need a bit of tweaking here and there.

The first plugin on the list is Pagination on blog. Yay! But it didn’t work right away. After some fiddling 2, I got it working (you can see it in action on my blog page).

Here’s the script I’m using in the footer:

<script>
document.addEventListener('DOMContentLoaded', () => {
  const list = document.querySelector('.blog-posts');
  if (!list) return; // bail if not on a list page

  const posts = Array.from(list.querySelectorAll('li'));
  const postsPerPage = 20;
  const totalPages = Math.max(1, Math.ceil(posts.length / postsPerPage));
  let currentPage = 1;

  // Build controls
  const nav = document.createElement('nav');
  nav.className = 'pagination';
  nav.innerHTML = `
    <button type="button" id="prevPage" aria-label="Previous page">Previous</button>
    <span id="pageInfo"></span>
    <button type="button" id="nextPage" aria-label="Next page">Next</button>
  `;
  list.insertAdjacentElement('afterend', nav);

  const prevBtn = nav.querySelector('#prevPage');
  const nextBtn = nav.querySelector('#nextPage');
  const pageInfo = nav.querySelector('#pageInfo');

  function showPage(page) {
    const start = (page - 1) * postsPerPage;
    const end = start + postsPerPage;

    posts.forEach((post, i) => {
      post.style.display = (i >= start && i < end) ? '' : 'none';
    });

    pageInfo.textContent = `Page ${page} of ${totalPages}`;
    prevBtn.disabled = page === 1;
    nextBtn.disabled = page === totalPages;
    currentPage = page;
  }

  prevBtn.addEventListener('click', () => {
    if (currentPage > 1) showPage(currentPage - 1);
    history.replaceState(null, '', `#page=${currentPage}`);
  });

  nextBtn.addEventListener('click', () => {
    if (currentPage < totalPages) showPage(currentPage + 1);
    history.replaceState(null, '', `#page=${currentPage}`);
  });

  // Start on hash page if present, like #page=3
  const match = location.hash.match(/page=(\d+)/);
  const startPage = match ? Math.min(totalPages, Math.max(1, parseInt(match[1], 10))) : 1;
  showPage(startPage);

  // Hide controls if not needed
  if (totalPages <= 1) nav.style.display = 'none';
});
</script>

And some basic styles to go with it:

<style>
/* Tiny defaults, tweak as you like */
.pagination {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.2rem 0 0.4rem;
}
.pagination button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
</style>

  1. It was on another domain back then, and I haven’t moved all my posts over here yet. That’s why the list of blog posts isn’t very long at the moment.

  2. With a little (okay, a lot) of help from ChatGPT. If it breaks, don’t look at me.

Robert Birming

08 Oct 2025 at 20:04

Haunted by the to-do list

 I’ve had a few things hanging over me this week:

  • Book car service
  • Reschedule meeting
  • Create work templates
  • Write inspection protocols
  • Book doctor’s appointment

It’s been piling up, one thing after another — stalking me, lurking in the back of my mind.

“You really should take care of this.”

Today I finally decided to do something about it, even though every part of me wanted to postpone it until “later”. And when that later comes, it turns into another later, and another, and another...

You know how it goes.

But somehow, I managed to sneak past the resistance and get things done. In total, it took me (drumroll)... 57 minutes. Less than an hour!

I’ve probably spent four times as long just thinking about it. What a waste of time and energy. So stupid.

And speaking of stupid, I know I’ll do it all over again.

Robert Birming

08 Oct 2025 at 16:58



Refresh complete

ReloadX
Home
(85) All feeds

Last 24 hours
Download OPML
*
Annie
*
Articles – Dan Q
*
Baty.net posts
bgfay
*
Bix Dot Blog
*
Brandon's Journal
Chris McLeod's blog
*
Colin Devroe
*
Colin Walker – Daily Feed
Content on Kwon.nyc
Crazy Stupid Tech
*
daverupert.com
*
Human Stuff from Lisa Olivera
*
jabel
James Van Dyne
*
Jim Nielsen's Blog
Jo's Blog
Kev Quirk
*
Manton Reece
*
Manu's Feed
*
Notes – Dan Q
*
On my Om
*
QC RSS
rebeccatoh.co
*
Rhoneisms
*
Robert Birming
*
Scripting News for email
Simon Collison | Articles & Stream
strandlines
*
The Torment Nexus
*
thejaymo

About Reader


Reader is a public/private RSS & Atom feed reader.


The page is publicly available but all admin and post actions are gated behind login checks. Anyone is welcome to come and have a look at what feeds are listed — the posts visible will be everything within the last week and be unaffected by my read/unread status.


Reader currently updates every six hours.


Close

Search




x
Colin Walker Colin Walker colin@colinwalker.blog