Matthew Lang avatar

Matthew Lang

Web developer amongst other things

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.

Not the score I hoped to wake up to for the NFC Championship game. šŸ™šŸˆ

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.

It’s been a horrible week of colds, coughs and flu in our house. Today was a major turning point though with everyone back at school and work. Planning for a quiet weekend now so that we can all recuperate.

Blogs, blogs, blogs

Over the holidays I mentioned that I was writing a blog post that I would publish this week. Well, after a delay thanks to the flu, I finally hit the publish button on my return to using my main domain. My first post, about my focus for 2020, is a return to building up some long form content that I want to reside on that domain.

Is this the end of my time on Micro.blog?

Definitely not. Micro.blog is a wonderful blogging platform that I will keep on using. This blog on Micro.blog will be my social feed to the net. It’s the one place that I will post to daily. Short posts, photos and links will continue to pour out from here.

So what’s the point of the new site?

For a while I’ve been trying to find a way of supporting short and long content. I’ve tried mixing these two lengths of posts over the years and it’s never sat well with me each time I have tried it.

Now that Micro.blog is my daily social feed, I can now focus on pushing longer posts through my main site again.

Nicholas Bate’s skills, tools and knowledge series continues. One for the notebook fans.

Don’t cheat on the quality of your (paper) notebook. It records your greatest work.

— The Skills, Tools & Knowledge You’ll Need for 2020, 101, 61-70

Apologies for the radio silence over the last few days and the days to come. The flu has swept through our house. šŸ¤’

I’m hoping to return back to normal blogging service next week.

I’m writing this morning on Ulysses. I forgot how great it is to simply write.

What is your word for 2020?

Happy new year to everyone! I’m slightly befuddled by a little too much eat and drink but it’s been a great start to the year with the family.

Mind mapping again

It’s been a while since I last did any mind mapping—a few years, in fact. I’ve probably doodled a few smaller mind maps in that time, but this is the first time that I have done anything more than a doodle.

The two-page spread of my notebook works quite well for it, and the paper is thick enough to cope with most of my markers, so there’s little chance of it bleeding through.

I can see myself doing more of this in the months ahead.

Mind map to curated list to final plan.

It took an hour to do but I’ve managed to outline 12 blog posts for 2020 that I’ll publish at my main home page. These will be longer posts than I publish here at Micro.blog.

I’m not back to work until the 6th of January but I’ve got some marketing work to do tomorrow for my side product. Not my favourite aspect of building a product but an absolute necessity in this case.

Merry Christmas!

Well, Christmas Day is almost over in the Lang household. My parents have just left for the night, and I have to say they loved their Christmas lunch and the evening’s entertainment.

It’s not over, so I can still send season greetings to my little blog’s readers.

So, Merry Christmas to you all, and I wish you all a great day.

Sadly we’ve hit that point where the kids are no longer fascinated by Norad tracking Santa. We had a good run of about ten years though, so can’t complain.

I’m halfway through James Clear’s Atomic Habits now. So many great examples in this book. I’ve found chapter 17 on tracking habits to be particularly helpful.

Another Christmas, another reading of A Christmas Carol done. I love reading this book at anytime of year, but it should be read in the run up to Christmas.

Morning routines for the rest of us

Curtis McHale offers an important reality check when it comes to emulating the routines of the successful.

It’s important to remember that many of these famous people are entirely divorced from anything resembling the reality of the rest of us. At one point before they were successful they didn’t have this routine and had to rush through the laundry at 5 am so they had clean pants in the morning. Yoga and cryotherapy weren’t even a thing they knew about and wouldn’t have cared about if they had heard of it.

— The morning routines we idolize are often from people divorced from reality

My morning routine isn’t anything to write home about at the moment. Wake up at 5:30 am, spend a few minutes doing some stretches to loosen my back, shower and get ready. Have a quick breakfast and then head out the door to work.

It’s not the ideal morning routine that I would like to have, but I’m prepared to take the hit in the short term.

Nicholas Bate has all the skills you’ll need for 2020.

Just waiting for The Rise of Skywalker to start. šŸæ

You are most welcome Nicholas

A thank you note from fellow blogger, Nicholas Bate.

I forget how I came across Nicholas Bate’s blog. I discovered him, and a few other great blogs, while I was a heavy user of Google Reader.

Today, I’m still a daily reader of his blog and a select number of other blogs that I find are essential to my daily reading.

I’ve been a bit quiet this year in terms of blogging, but it’s starting to pick up again. Without the daily posts from Nicholas, Michael, Kurt and Curtis, I’m sure I would have packed in blogging years ago. So, thank you guys for your time.

It’s these fine blogs and many more that keep me writing and ultimately posting to the Internet. Long may it continue.

The Ruby cost at Basecamp

David Heinemeier Hansson breaks down the cost of the operations at Basecamp with a spotlight on the cost of running a Ruby on Rails product.

Working with Ruby and Rails is a luxury, yes. Not every company pay their developers as well as we do at Basecamp, so maybe the rates would look a little different there. Maybe some companies are far more compute intensive to run their apps. But for most SaaS companies, they’re in exactly the same ballpark as we are. The slice of the total operations budget spent running the programming language and web framework that powers the app is a small minority of the overall cost.

Only 15% of the Basecamp operations budget is spent on Ruby

For years I’ve heard arguments that Ruby on Rails is too expensive to run, but I’ve never seen costs for anything as big as this. And to be honest, I was surprised that this was all it was.

Sure, every SAAS product is different in what it does, how it’s built and how it’s run. But, the fact is that Ruby on Rails is an ideal web framework for most SAAS products and has been for years.

I’ve watched the JavaScript hype train trundle on now for a couple of years and I can’t see any clear advantage of it over Ruby on Rails or any other non-JavaScript framework for that fact. And I think developers are starting to realise this.

Given the choice between Rails and any other framework for an application, I will keep going with Rails. It doesn’t have the big hype around it that it did ten years ago, but it’s still proving to be a developer-friendly and therefore business-friendly framework to build your SAAS product with.

I am catching up on some podcasts this morning.

This Rework episode with Dave Teare from 1Password is worth a listen. Especially if you are a 1Password customer.