🧐 A Strange Thing Happened When I Told Myself To Shut It


In my last post I mentioned that I have been reading a lot of personal growth and business books, which I enjoy. Finance, emotional health, non-slimy marketing, etc.

A few weeks ago I started listening to listening to Take Control of Your Life by Mel Robbins because my niece recommended it. To be honest: I didn't really want to listen to this. The title is too broad and, if I'm being extremely honest, I highly doubt a single book is going to enable me to feel like I've gained "control" of my life.

What does that even mean, anyway?

Either way, I got it and gave it a listen because my niece can be very persuasive. I'll be honest and say I loathe Mel's style. She's pushy and, ironically, damned controlling in her dealings with her coaching clients (the book is a set of conversations with her clients). That said, hearing the message (for the 100th time from one of these books) that taking small actions will free you was evidently what I needed to hear, because I did just that.

I stopped thinking, stopped telling myself "no", and started playing. With Rails.

I know, believe me, I know...

Rails. Seriously. I Made a Rails App.

I rebuild my main business site annually and I love/hate it. I don't plan on this: it just happens because I watch a video/read a post/see a tweet about something new and interesting, and in order to try it out, I build something of consequence to me rather than a stupid to-do list. That something of consequence would be my side hustle, bigmachine.io.

Anyway, Three weeks ago I dabbled with a Rails app. Yesterday I deployed it as the latest incarnation of my business. I couldn't be happier about this fact because it's something I've wanted to do for the longest time: consolidate all the nonsense (I had 5 or so different sites to support my modest business, which is silly).

I'm as surprised as anyone by this. I've been using nothing but Vue and Nuxt for the last... forever. I like working with frontend frameworks and was even considering using Astro a few months ago.

WTF? How did I end up with a Rails app?

I Followed The Happy

I still visit Twitter from time to time and this tweet popped into my timeline:

A "rails rewrite" is a term I hadn't heard in a very, very long time so I dug in and found out that Josh is helping build out a personal finance app called Maybe. They did the startup thing, got funding, hired some people, built everything in React and then went under. A year or so ago, they decided to rebuild everything in Rails and open source it all.

I found that to be fascinating. I hadn't used Rails in years and I know it's up to version 7, so I figured WTH? I wasn't doing anything (it was a rainy Saturday) so I followed the Rails guide and kicked up a new Rails app.

3 hours later and my head was spinning. I had scaffolded all of my models (without migrations and turbo/stimulus nonsense) and had a complete suite of tests for controllers and models, as well as forms for the data.

With some slight tweaking... I wondered if I could... oh my god! I forgot how easy and fun this is!

Rails is fun. Yes, it's challenging, yes it can be frustrating - but far, far less than the frontend things I was doing. Overall, I would say that 80% of the time I spent was happy. I wouldn't have done it otherwise!

Also: not to hate on JavaScript unduly but my god it was nice working with something that wasn't JavaScript. We could argue about Ruby opinions all day, but I happen to really like it, and it made all the difference.

What am I doing! I have a book to finish! I'm trying to get the next Imposter book out the damned door (which I'm calling The Imposter's Playbook for self-taught people wanting to move up) and I'm 3 chapters (out of 24 or so) away from finishing the draft!

Stop this nonsense! Get to writing!

I Didn't Want to Do This. Every Day Was a Battle.

My nights and weekends are the only time I get to create content, so I absolutely did not want to spend that time rebuilding my site yet again. I would wake up, have a talk with myself while having coffee, and then completely ignore myself and start writing more Rails code.

That, friends, is how much fun I was having.

I decided to let go and just do, which is the entire point of Robbins' book, Take Control of Your Life. Oddly, "taking control" meant losing control and actively ignoring myself. Not sure what that means, but I'll just pretend it's a positive. Brains are so weird.

This isn't the first time this has happened to me. I'll get an idea or inspiration, tell myself to shut up, start working on that idea, get mad at myself, keep going, get madder... and then just give up and finish the thing that I can't stop working on. The idea sometimes turns into something good - it's how I came up with The Imposter's Handbook. I didn't want to write that book and I fought myself every day. Good thing I lost.

Is This Interesting To You?

I've been seeing variations of the phrase "ditched [React | Vue | Svelte] and redid everything in [Rails | ASP | Django] and so, so happy. We have tests again!"

It's true. I have a lot of tests and it makes me happy. I wrote tests for my frontend stuff, too, mind you, but not to the extent of my current app.

And no. Ruby isn't slow and it scales just fine, at least for my needs. As they say: "it's not a problem until it's a problem" and if it does, indeed, become a problem, I'll be sure to let you know after my next rewrite using Elixir Phoenix :).

I had a lot of fun building out this application. I added a CMS gem called Spina which is one of the main reasons I went ahead with this project, I was able to plugin authentication exactly as I want, and monitoring with New Relic is amazing because it's so compatible with Rails. Testing is super snappy with RSpec and tracking traffic with the Ahoy gem is brilliant.

My old platform, Ghost, was just fine and I have no complaints! Just want to be clear on that. It wasn't quite enough for what I needed, however (viewing videos, more flexible membership, better stats tracking).

I've been thinking of kicking up a video about the experience and how I put everything together. There are some parts of Rails that bug me, but thankfully I was able to ignore that and keep moving. I would imagine the whole thing being about 2 hours - let me know if you're interested! Just reply to this note and let me know what you think.

Rails is fun, there's no escaping that. It reminded me of why I like programming, and that's enough reason for me!

🥷🏽 Notes From an Imposter Programmer

I taught myself to code in 1998 and within 7 years had a client list that included Google, Microsoft, Starbucks, Ameritech, KLA-Tencor, PayPal, and Visa. In 2014 I decided that I really needed to understand core Computer Science concepts, so I dove in, using the free resources from MIT and Stanford. In 2016 I shared what I learned with The Imposter's Handbook.

Read more from 🥷🏽 Notes From an Imposter Programmer

I was talking with a coworker the other day about one of the new AI offerings and how well it simulated human interaction. I was asking it to summarize some notes I had taken on a book, and it did a fantastic job - but I then mentioned something I truly believe: AI is mediocre, at best It has to be, by definition. It's just repeating back to us the most common and probable things that we have said to it. Or, as Scott Hanselman describes it: "AI is a sock puppet on your own hand":...

I was at a local clothing store with my youngest, looking at clothes over the summer. She was trying to find a good pair of jeans, so we ended up at the Levis store, which isn't cheap. She found a very nice pair that were $95, which seemed a bit high but she's in college now and I suppose that's when you start thinking about buying nicer things. She's extremely thrifty, unlike me, so she suggested: Dad we should drive up to Nordstrom and look there. They have a great selection and it's...

We invest a lot of our time learning programming languages and frameworks, but I think it's just as important to learn the "foundational" skills of our industry, including: Patterns and Principles Architectural Styles Object-oriented as well as Functional Your editor SQL I think most people absorb the first two as their career progresses, and some might dabble in the third. But how many of us take the time to learn SQL or an editing skill like Vim? SQL: The Gift That Keeps Giving Whenever I...