~ RICH CODES

2024 In Review

February 10, 2025 | 13 minute read | āœšŸ¼ Fix typo

Table of Contents

I had a lot of plans and expectations for 2024, but in early January I got the biggest news: I was going to be a dad! My life is forever changed, and this year reflects that.

Parenting

I have a baby on my lap as I write this, which I could never have imagined. Itā€™s a wonderful, loving, brutal, tough, exciting experience. Itā€™s everything everyone said it would be and at the same time a lot that no one talks about.

It teaches you a lot about yourself. It makes you so much more empathetic towards your parents. It makes you appreciate your partner in a whole new level. Itā€™s loving without ties. Itā€™s hard. Itā€™s f-ing hard. But I wouldnā€™t trade it for anything. Thank you, my wife & daughter. You two make me a better man. I love you so much!

Career

This was my third year working at thoughtbot. Iā€™m proud of my work and my team. I do not take for granted how lucky I am to work on such a great place (and with Ruby full-time remotely).

Public Speaking

This year I had the opportunity to speak at Tropical.rb (now Tropical on Rails). I talked about Async Ruby and Rails, which were things I wrote about last year. This was my first public speaking in an event this big (around 400 people) and it was a great experience.

It was great to meet so many of my Ruby heroes like Aaron Patterson, Rafael FranƧa, Eileen Uchitelle, and many others. I met several people I only knew from the internet. Iā€™m excited for the next year. I hope I can speak at Tropical again!

Itā€™s Tenderlove!
šŸ¹
FƔbio Akita was there too

I donā€™t want to toot my own horn, but Iā€™m really proud of my slides. My goal was to avoid using bullet points to make my slides dynamic and engaging. That took a lot of time to make, but it was worth it. After the talk, several people complimented me on them.

Ruby DF

The local Ruby meetup I run, Ruby DF, is still going on. We had two events in 2024, which was way less than I wanted. The second semester was packed with baby stuff, so I couldnā€™t focus on the meetup that much.

Anyway, hereā€™s some achievements for the meetup this year:

  • I released a website for the meetup. I wanted to try out Bridgetown, so this was the perfect opportunity. I really liked it.
  • The first time I had speakers other than me. This is key to keep the meetup going and healthy.
  • I got a sponsorship for the first time. I hope I can get more sponsors in 2025, so I can host more events and have snacks and drinks at the meetup.

RubyCards

Last year, I said:

I feel guilty for that, so Iā€™ll try to keep the projecting going in 2024, even if that means a new owner.

Wellā€¦ I didnā€™t do any of that šŸ™ƒ. Itā€™s still a project with no activity, unfortunately.

Blogging

Iā€™ve written 10 blog posts in total in 2024 (excluding last yearā€™s review). Thatā€™s exactly the baseline I had set, and the average number in the last 4 years.

The most popular blogs posts were Async Ruby on Rails ā€“ an article version of my talk on Tropical.rb ā€“ and It Works on My Machine. Why?. The latter was even discussed on The Real Python Podcast!

They were fairly distributed throughout the year, with no particular peak but a slight increase in the second and third quarters.

I mostly wrote about Ruby, Rails and AI. I didnā€™t touch this blog at all, and have been only writing on the thoughtbot blog. Iā€™ll try writing small tutorials and things Iā€™m doing on my hobby projects here.

Open-Source

Rails

I had 10 commits to Rails this year. Most small fixes, but I helped reviewing some of the new Rails docs, which was nice. Amanda Perino, the Executive Director of the Rails Foundation, even gave me a public shout-out at Tropical.rb for that.

One of the PRs Iā€™m proud though, was adding events for direct-uploads when attaching files to Trix. This was a feature I needed in several projects, so it was about time to add that.

I also put up a PR to make Rails Contributors work on mobile devices. It is a cool project and it needed some love.

Ruby

On the same note, my PR to make Ruby docs readable in mobile devices was finally merged! I also added a couple of documentation PRs to Ruby.

My goal was proposing a feature and getting it accepted. I proposed two:

But both were rejected. Iā€™m sad about memoized endless method definitions, because I really like that syntax. I still think Object#chain_of will result in something, even if itā€™s not exactly in the form I proposed.

Misc

I also wanted to highlight a PR I got merged on Oh My Zsh, which is one of my favorite tools:

I also released a new gem, matheus, which is a collection of small scripts I built for myself. I plan to keep adding to it.

My gems were downloaded 51,893 times in total, which is almost the double of what it was last year. Neat!

Game Development

This year I tried DragonRuby for this first time. I made games in the past, and I tried Unity, but was put off by the GUI and the whole complexity of it. Iā€™m a developer, I want to write code. DragonRuby was perfect for that.

Like anyone, I had this big, ambitious game in mind, but I started with a small game just to get to know the engine. I really like it! Ruby is just too fun, so I was immersed in the project.

The game is called Frenzy Jumpers (you can play it in your browser!). It is inspired by a game me and my friends played in college using Googleā€™s Dino game. The concept was simple, you were only allowed to jump once, then you had to hold the jump button to keep jumping forever. Whoever jumped the longest won. Frenzy Jumpers isnā€™t exactly that, but it is how it started.

I have lots of more ideas for this game and some features that I havenā€™t released it, but it was a fun project. After the pregnancy got more intense, I slowed down on the project, but I still plan to go back to gamedev.

I even made a tiny PR to Scale, a framework for DragonRuby, while developing this game.

Code Statistics

I coded for 256 individual days (~70% of the year), with around 704h in total, which is an average of 2h and 45m per day.

GitHub says I made 2505 contributions in 2024, an all-time high for me.

This data isnā€™t 100% accurate, as it often shows 0 LOC changed, which is absurd.

February was where I did most contributions (because of Frenzy Jumpers), but June was the month with most LOC changed (due to the Ruby DF site I was building).

My most active days shifted from Thursdays and Fridays to Tuesdays and Wednesdays this year. Iā€™m not sure why. Maybe those are days were I tend to have less meetings?

To no oneā€™s surprise, Ruby was the language I used the most, followed by JavaScript. My average commit was +7/-8 LOC. That means that the changes are small, and that Iā€™m deleting code more than Iā€™m adding. I like that.

Life & Hobbies

Italian

I keep studying Italian, but very slowly. I try to at least keep the Duolingo streak going. Iā€™ve used the voice mode on ChatGPT to practice speaking, and it has been great. I think I know enough to travel to Italy and get around, which was the initial goal.

Iā€™ve studied a total of 510 minutes (~40% less than last year), over 315 days (more than last year). My offensive was at 780 days, at the time I got the Duolingo wrap-up.

I donā€™t have strong goals here, but Iā€™ll keep my streak going and Iā€™ll try increasing the total time spent studying.

Music

Concerts

I didnā€™t go to any concerts this year as a spectator. I did play live, which was much more fun and rewarding:

The first time I played with an orchestra

It was only 3 gigs: two at my music school and one at a Christmas event. Still, thatā€™s the climax of playing guitar for me.

Streaming

Continuing the trend of the past years, I streamed less music than before. Itā€™s about 25% less than last year, weirdly consistent with the previous year. I think this trend will continue in 2025, but eventually will stabilize.

My top artists were a lot of what I usually listen to, with Linkin Park coming back to the top again. Ylvis being there was a surprise, but I really like their sense of humor and musicianship.

The top 3 songs were stuff I was rehearsing for the live shows. So my most actually streamed song was Given Up, by Linkin Park. The Minutes to Midnight album really clicked with me this year.

Gear

I hadnā€™t planned to buy new pedals, but attending rehearsals and playing live every week with a large pedalboard became cumbersome. Thus, I decided to build a new pedalboard.

I eventually upgraded the Ampero One to the Ampero II Stomp

Iā€™m really happy with the results. This thing is light, small, but it can do everything I need. Iā€™ll nd up buying a dual switch pedal so I can have more control options for the Ampero, but for now itā€™s doing the job.

By the end of the year, another happy surprise: I got a new guitar as a Christmas gift. Now I finally have a Telecaster! Iā€™m on the honeymoon phase, and Iā€™m loving it! I totally get the hype around Teles now.

The whole family (except the acoustics)

I wonder what comes next. A semi-hollow? A bass?

Working Out

I started the year following my goal of going to the gym at around 3 times a week, but as my wife started getting sick with the pregnancy, I had to stop to give her more support. I only went to the gym 15 times in total, which is essentially nothing.

You can see that by the third week of January, when I got the news, I stopped going to the gym regularly.

Iā€™m not frustrated about it. I had good reasons.

Gaming

Counterintuitively, this was the year where I played the most time (that I have data, at last). I played a total of 253h, across 290 sessions (around 50min/session) and 29 games. This is 125% more than last year.

Hereā€™s my top 5 games:

Ghost of Tsushima didnā€™t connect with me initially, but I did like it by the end. Dead Space and GTA were games that I played before, but never really finished, so I did this year. I hope they make a Dead Space 2 remake, because this one is :chefskiss:.

Expectations x Reality

Letā€™s see how I did with my 2024 goals:

Go to the gym at least 3 times a week (median)

Yeahā€¦ not even close, but Iā€™m not sad about it. I had very good reasons.

Keep the Ruby DF Meetup going on.

I kept on going, though not as much as I wanted.

Keep showing up to the issue tracker and other kinds of discussions.

Same thing. I was in some discussions, proposed a few features, but didnā€™t make any significant contributions.

More PRs to Ruby. At least docs, but Iā€™d like to propose at least one small feature. Maybe an Enumerable method?

I proposed two new features, both rejected šŸ˜…. Itā€™s a start. I hope 2025 will be different.

Talk on conferences.

Yes! I was a speaker at Tropical Rails and got a talk accepted at wroclove.rb.

Keep working with Rust. It is a fun, fast language. Itā€™s a good tool to have around. Maybe explore Gleam.

Not at all. I touched my Rust side project very little. Gleam is still on my radar. I just need to find the right project for it.

Get back to programming language design/development. Being a language author myself will help me understand the challenges of the Ruby core team too.

I didnā€™t have a chance or will to do that. Itā€™s okay.

More music gigs!

Definitely! This was one of the highlights of the year for me. I hope this continues in 2025.

Writing This Article

This is the first time I release a review article past January of the following year. Although it only took me around 9h to write this, I had much less free time to do it. That made me more focused and efficient, though. This is compared to 15.5h last year: a ~42% reduction.

The article is also shorter, so normalizing by the number of words, I wrote about ~370 words/hour, against ~297 words/hour last year. So I wrote less, but I was also about 20% more efficient.

2025 Goals

What a fun ride I had! My life is completely different (for the better) now. Thereā€™s a log going on now and I need to find myself in this new reality. That will be the theme of 2025 for me. Here are my goals:

  • Figure out being a dad. Thatā€™s my #1 priority. Everything else will depend on that.
    • This includes finding a new routine that works for me and my family.
    • Knowing how to balance work and personal life (never was a problem before, and I want to keep it that way).
    • How to keep my hobbies alive during this new phase.
  • Keep engaged with the Ruby language and community.
    • Keep contributing to Rails and Ruby.
    • Keep the Ruby DF meetup going.
      • Consistency is key. I want to have at least 4 events this year.
    • Propose more features to Ruby (and hopefully get one accepted).
  • Talk at more events.
  • Keep writing! Iā€™ll aim at 10 articles again, but that number is likely to go down.
  • Play music. I probably wonā€™t play at more gigs than 2024, but I want to keep being active somehow.
  • I want to be more consistent at working out. Iā€™ll aim at 2 times a week. Itā€™s not a lot, but it feels realistic.

Thatā€™s it for this 2024. On to 2025! Iā€™m excited for whatā€™s to come.

Categories

year-in-review