Matthew Lang avatar

The first step

I’ve been putting off starting what I know will be a long-running item of work. I’m putting it off because I haven’t taken that first step. And that first step is essential. Not the most critical step mind you, but necessary all the same. That first step could the first of hundreds, maybe thousands. Whatever it is, it’s that first step.

The first step doesn’t need to be a grand gesture, either. It doesn’t mean planning the next hundred things you need to do. It means just writing down what you need to do next and then maybe follow it up with the following two after that. Once those steps are complete, move onto the next few.

Whatever it is you want to do, take that first important step and see where it takes you. I’ve lost count of the number of things I haven’t done because I didn’t take that first step.

I’m wondering why I’m gravitating away from one genre of books to another?

I haven’t enjoyed a fantasy book for a while, but I am enjoying science fiction more now than I have in the past. 📚

Personal DuckDuckGo traffic idea

I was looking at the DuckDuckGo traffic for the last few years. The stats are pretty impressive. A seven-fold increase in queries over the previous five years and this month’s number of queries is already more than last January. It looks like it’s going to be another year on year increase for queries.

It’s got me wondering about my usage of DuckDuckGo.

DuckDuckGo has been my search engine of choice for many years now, and as a result, I’m pretty familiar with a number of the bang methods that are available to help with your searches.

Now, I know DuckDuckGo is a privacy-first search engine. It’s why I use it in the first place. Saying that I’d still be interested to know how many searches I do over the year and how often I use the different bang methods. I don’t want the actual search terms tracked, just the number of times I search and how often I use each of the bang methods.

If DuckDuckGo did this, it would raise a few concerns about where they are going with tracking. This functionality might be best done in a browser extension so that it’s purely an opt-in feature.

Not everyone will agree with me about tracking your search usage, but I still think it would be quite interesting nonetheless.

I need to ship Rails app updates more often

On Sunday night, I migrated a couple of Rails apps to Ruby 2.7, including Writeabout. Last night, I did the same with another Rails app. By the end of the week, I hope to have Markcase moved over to Ruby 2.7 and Dailymuse upgraded to Ruby 2.7 and Rails 6.0.

Upgrading apps is a pain if they’re left alone for too long. I’ve left Dailymuse alone for such a long time that it’s still sitting on Rails 5. Markcase is on Rails 6 but requires a wee bit of maintenance regarding Webpack.

I’ve learned that leaving apps for such a long time between updates is not the best thing to do. Even upgrading an app regularly through its patch versions is better than just leaving them sitting gathering dust.

I’m going to add a back-end admin plugin to Writeabout to make the adding and updating of writing prompts easier.

I intended to have an admin API endpoint to manage the prompts, but for a short term fix, I’m going with the admin plugin route.

Last night I added a fav icon, a touch icon and Twitter card handling for Writeabout.

On the face of it, one could argue this is purely a vanity change. It was actually a test run to see what’s the minimum icon changes I need for a web app.

Baby steps with StimulusJS

Last night I needed a much needed break from the usual Rails coding, so I worked through an example on the StimulusJS website so that I could add a “copy to clipboard” button for the displayed writing prompt on Writeabout.

For me, this is the ideal level of integration I need with JavaScript. A framework that does some of the heavy lifting on the user-interface without me having to re-write the whole front-end.

The end result is nice, but I don’t like the way the elements on the page move up and down when the copy button has been pressed. I’ve added a little div section with an indicator that the button has been pressed. It disappears after a few seconds, but it moves the elements on the page up and down when it changes its display state. I’ll fix it another day, but the first pass at this functionality is still good.