Português English

Blogs

Movie List 2023 feature
2023.12.31

Movie List 2023

Every year, I try to compile a list of games, books, and movies I experienced. For the complete list, check the Ratings. Here we go (sorted by rating then alphabetically)!

NOTE: I believe this list is the one that is mostly incomplete. I will probably make additions to it time to time.

  1. Home Alone (10★★★★★★★★★★): A Christmas classic. Was on TV and hooked me in. Love it.
  2. Everything Everywhere All at Once (9★★★★★★★★★): Undoubtedly the best film overall. It’s a delightful and thought-provoking experience. The Chinese actors deliver an AMAZING performance. I’d vote for best actress, best supporting actor, and supporting actress. Not to mention the commendable visual effects and wardrobe choices. The variety of outfits that briefly graced the screen is staggering.
  3. Moulin Rouge! (9★★★★★★★★★): A sensory banquet served with a dazzling dressing of Parisian passion. This movie sweeps you into a whirlwind waltz of love and loss, painting a masterpiece on the canvas of your heart.
  4. The Wonderful Story of Henry Sugar (9★★★★★★★★★): An amazing #RoaldDah short story. Very Wes Anderson.
  5. Air (8★★★★★★★★): A nice, not great, “documentary” telling the story of Nike managers creating their most famous and lucrative product to date: the Air Jordan shoes.
  6. Poison (8★★★★★★★★): Another great #RoaldDah short story adapted by Wes Anderson.
  7. The Rat Catcher (8★★★★★★★★): The craziest #RoaldDah short story adapted by Wes Anderson. Very nice too.
  8. The Swan (8★★★★★★★★): The shortest #RoaldDah short story adapted by Wes Anderson. Very nice.
  9. Triangle of Sadness (8★★★★★★★★): My favorite movie from the Oscars’ 2023. Despite having zero chance of winning, it’s a harsh social satire that will definitely make you scratch your head. It’s a running joke in my family about the taste for scatology, and it delivers.
  10. The Remains of the Day (8★★★★★★★★): Hopkins is amazing actor, period. Only two years after his Oscar winning Hannibal in The Silence of the Lambs, he is now a butler in a very Downton Abbey fashion, which allowed him to run (but did not win) his second golden statuette.
  11. All Quiet on the Western Front (7★★★★★★★): The opening scenes showing the boys eager to participate in the war contrasting with the first moments in the field are a real lesson. However, the movie is a series of misfortune tales merged together.
  12. Elvis (7★★★★★★★): Austin Butler, the actor playing Elvis, delivers a top-notch performance. However, Tom Hanks’ character is kinda annoying. The movie has a strong first half and a sluggish second one. It’s one step away from being a documentary but enjoyable nonetheless.
  13. Glass Onion: A Knives Out Mystery (7★★★★★★★): Nominated for best Adapted Screenplay. I’m now curious about the original text. It might be good. Again, it’s still a zoo of characters with a boring detective.
  14. The Greatest Showman (7★★★★★★★): Nice musical. Great performance by Hugh Jackman, but it lacks the charming to be a Moulin Rouge killer.
  15. Top Gun: Maverick (7★★★★★★★): A fun sequel that leverages the original movie. Great visuals, good story.
  16. Luckiest Girl Alive (6★★★★★★): I was expecting a great story but had a hard time swallowing its mystery.
  17. The Menu (6★★★★★★): A tantalizing entrée of intrigue, slightly undercooked in the main course of plot development. Yet, the dessert of performances saves this cinematic meal from being entirely forgettable.
  18. Avatar: The Way of Water (4★★★★): Bad.
  19. The Mummy (2017) (4★★★★): Bad.

Documentaries

  1. Vale o Escrito (10★★★★★★★★★★): The best documentary of the year is Brazilian focused. It’s about the gambling Mafia in Rio de Janeiro.
  2. Navalny (7★★★★★★★): A chilling documentary that’s as nerve-racking as a Cold War thriller yet bursting with the gritty reality of modern Russian politics. It’s like a glass of vodka straight up, no chaser.

Animations

  1. Guillermo del Toro's Pinocchio (7★★★★★★★): A lovely adaptation. It’s a bit dry in the storytelling department, with abrupt story deviations (mostly due to the source material), but I liked it.

TV Shows

  1. The Last of Us (S1) (9★★★★★★★★★): A great show, very close to the source material, AFAIK (I’ve never played the games). Another great script by Craig Mazin. I’ve been a great fan of his work since I started listening to his podcast ScriptNotes ages ago.
  2. Cyberpunk Edgerunners (7★★★★★★★): Surprisingly nice and gives some of the imagined feeling of the game and the Cyberpunk universe.
  3. Only Murders In The Building (S3) (7★★★★★★★): Some people liked this season, but I found it to be just okay. Better than the second, with memorable characters, but the premise is very narrow, preventing it from growing naturally. Selena’s character is 100% irrelevant.
  4. Succession (S4) (7★★★★★★★): Family harmony and business prowess continue to degrade, on their known trajectories. But after so many scandals, it is less and less credible. Also it lingers longer than needed. At least, it ends in a high note.
  5. Ted Lasso (S3) (7★★★★★★★): A third round of heartwarming soccer shenanigans with a winning streak of compassion and underdog triumphs. It’s like a box of your favorite cookies; you just can’t help but crave more.
  6. The Rings of Power (6★★★★★★): Amazon invested a lot, but the script is not inspired. Too much white noise, with characters that do not do a lot, nor influence the story forward. The high point, of course, is the finale revelation.
My Son Did His Last Magic Trick feature
2023.09.13

My Son Did His Last Magic Trick

It’s been a month since my youngest dog, Mago Merlin Harigaya Massa, my Little Mage, passed away. Even though he was “just” a dog, I loved him and treated him like a son. He slept with me and sat at the table during meals.

I’m trying to write for the tenth time while crying profusely. This text won’t be able to capture even part of how special he was.

Note: My dogs have an Instagram profile: https://www.instagram.com/avalondogs/

Origin

We met him on the street a month after buying my first house in Uberaba. He was still young and very dirty. He played with my two dogs, King Arthur and Princess Guinevere, while we walked around the block. I let the three sniff and enjoy each other’s company. Continuing our walk, he returned to the corner he was at. It was cute.

People from the neighborhood were looking after him, always providing food and water.

The next day was the same. My wife Ana Luisa and I were enchanted and began joking about “how long could we resist such cuteness?” That afternoon, it rained, and I felt so sorry for him that I went to check if he was okay. He was fine, taking shelter under a canopy until the rain passed.

On the third day, a Monday, after playing with my two dogs, he followed, and followed, and followed us calmly for the rest of the walk. He kept following us and when I opened the door to the house, he entered, sat down, and told me “We’re home, Dad”! Merlin was the one that adopted me, and I’m so eternally grateful.

His first photo
His very first photo

Mago merlin adopted me
Mago Merlin adopted me

Personality

We chose a name following the “tradition” of the tales of Avalon: Mage Merlin. Since he was the first dog we adopted after getting married, his full name became Mago Merlin Harigaya Massa. He was still young, the vet estimated he was about 4 months old, 6 tops. He had very short legs, so he was often teased as a “design flaw,” “little liar” (liars have short legs), or “rhino” (he ran and bumped into everyone).

I’ve met many dogs, but he was special. Much more intelligent and active than average. Almost like a border collie. A sponge for learning. He imitated his siblings in everything. In less than two months, he knew practically all the tricks it took me years to teach the others. He could shake hands, roll over, stand on his hind legs, spin, and many other tricks.

Food was his issue. He always ate desperately and was possessive over food and bones. If one of his siblings left food in their bowl, he would eat it and go straight to the “time-out” corner, cheeky guy (“I know, I know…”). We worked on this, and he improved a lot in his two years of life.

He had a cute habit of tilting his head to listen better to what we were saying. He was charming. Had an ear that, like his tail, clearly responded to his mood: it perked up when he was curious and dropped when he was tired or sad.

He loved to play. When he discovered the toy box, he was thrilled. He even played alone. He’d throw the balls far and go fetch them. Enjoyed tug-of-war toys like his sister, and also enjoyed playing ball like his brother. He was an energy machine. During walks, he ran non-stop, without getting tired. He happily accompanied me during my running workouts. I ran 5 km; he would run 10 because he kept going back and forth.

Family

King Arthur was initially uneasy about the arrival of another male and had some natural disputes. Arthur is more of a calm guy, and Merlin wants to play all day. When Arthur was in the mood, they would run together.

Guinevere adopted him as a half-brother, half-son. She would defend him during any event on the street, playfully wrestle with him, and even clean the sleep from his eyes. When he was on time-out, locked in the bathroom for a few minutes, she would stand at the door, alert and concerned. She still looks for him when we mention Merlin’s name. She deeply loved him.

He learned to be very affectionate by imitating his sister. He would sleep cuddled up in bed, sit next to us on the couch, ask for affection, and nudge us when we stopped. Family and friends were initially a little startled by his enthusiasm, but would fall in love with him within half an hour.

I took more photos of him than any other animal or person in these two years because he always had something incredibly funny or interesting.

The Day

It was a routine Monday walk, starting the week. We went to the park, I unleashed them, and let them run. Like any other day. On the way back, they usually walk without leashes because they’ve been trained to stay close. I reinforce this habit every day. Just counting “3, 2, 1…” is enough for them to pay attention and stay close.

But on that day, he saw another stray dog, became super excited to play, and ran to meet him. He tried to cross the street but didn’t see the car, which was actually going at a low speed. It all happened very quickly.

He left this world doing what he loved the most: playing, running, and making friends.


I am sure we gave him an excellent life. A country boy, he got to know the beach and the forest and traveled to a dozen cities. He ate, played, and slept a lot. He slept out of exhaustion from his always full day. Then woke up energized to start everything all over again. He had parents and siblings, love, and a home.

A month of mourning. Mourning like I’ve never felt before. I’ve had dogs in the past that eventually passed away. Even when I was younger, I did feel the sadness. But nothing compares to now. Mago Merlin was probably the biggest loss of my life. Perhaps because now I really felt like a father.

There wasn’t a single day that you didn’t make me smile. I love you, my son.

★ 2021-XX-XX (adopted 2021-12-13)

✝ 2023-08-14

His last photo. the day before
His last photo. The day before

The Murderbot Diaries feature
2023.07.18

The Murderbot Diaries

Welcome to my latest obsession, folks: Martha WellsMurderbot Diaries. I stumbled onto these gems while exploring the book reviewing phenomenon on TikTok. Trust me, they’re worth the hype. I didn’t just read these books, I devoured them, like a bot set on ‘max power mode’. Listen up, if you’re into all things sci-fi, comedy, or just plain stellar storytelling, you need to hit up these books. And if you’re not… Well, maybe you’re due for a software upgrade.

Speaking of software, meet our central Murderbot, a SecUnit (SECurity UNIT bot) but with a twist: it’s managed to circumvent its own governor module and is now as free as an unhinged AI on a high-speed data stream.

These books are clever, jam-packed with excitement, and keep you guessing at every twist and turn. Plus, their shorter length makes for an easy, delightful reading experience, much like binge-watching “Sanctuary Moon”. And you know what? They’re even better as audiobooks. Seriously, hats off to Kevin R. Free, the maestro narrator who brings Murderbot’s voice to life in the audiobooks.

Now, without further ado, let’s delve into the quick reviews (and no spoilers, I promise!):

Muderbot 1 All Systems Red

All Systems Red is like the pilot episode of the best TV series you’ve ever seen. It introduces our unsocial, serial-drama-loving Murderbot with a bang. Despite the potential for bloodshed, our hero would rather keep its ceramic composite armored head buried in the latest episode of its favorite show than engage with its human charges.

The plot is as tight as a well-coded algorithm, and Murderbot’s self-aware, self-deprecating voice adds a level of nuance that makes you forget you’re rooting for a machine. A full 10 out of 10 stars, hands down.

Muderbot 2 Artificial Condition

Our metal protagonist is back in Artificial Condition, squaring off against a formidable AI called Control. It’s like a digital chess game, except the pawns are sentient beings and the stakes are galactic. I found this second installment to be even more riveting than the first, and the character development? Just like a well-executed software upgrade.

Muderbot 3 Rogue Protocol

Rogue Protocol ramps up the stakes, with Murderbot on the run, bouncing off interstellar routers like a rogue ping packet. The narrative thread here is an adrenaline-soaked blend of suspense, emotion, and hard-edged humor. The introduction of new AI characters gives the story a fun, unexpected dimension that adds to the overall intrigue.

Muderbot 4 Exit Strategy

In Exit Strategy, Murderbot starts to experience something akin to finding its home network. But don’t think for a second that the tension lets up. Quite the opposite. This book delivers on both action and depth, pushing our beloved SecUnit to its limits in more ways than one. It’s like an over-clocked processor in the best way possible.

To wrap this up, I’m urging you to take a deep dive into the Murderbot Diaries series. The books are a well-balanced mix of thrilling sci-fi, dry humor, and poignant self-reflection. And trust me, they’re even better when you’ve got its dynamic narration in your ear.

Wondering if ChatGPT and Bard are made of a similar zing. And no, I’m not suggesting it’s sentient… but if it starts making coffee, I’m outta here.

My C# Maestro feature
2023.06.25

My C# Maestro

I’ve always been obsessed with one thing: consistency. Whether I’m building code on my local machine or watching it run in the belly of a GitLab runner, I want the exact same behavior. I wanted a build process that didn’t care where it was—it should be just as comfortable on my laptop as it is on a third-party server.

When I started the SuCoS project, I knew I needed a build system that could match my ambition. It wasn’t just about compiling and testing; I wanted it to handle everything—generating tags, creating releases, and even cooking up a fresh Docker image every week.

After several late-night coding sessions—the kind fueled by too many coffee cups and far too many crumpled design sketches—I finally found my answer in Nuke. Instead of scattering my pipeline across a dozen separate stages in GitLab’s YAML, I let Nuke step in as my omnipotent orchestrator.

The Maestro in C#

At its heart, Nuke is an automation maestro. It’s like having a conductor for your code, ensuring every task is performed at the perfect moment. And the best part? This maestro speaks my favorite language: C#.

Before Nuke, I had to manually command GitLab to execute every step—dotnet restore, dotnet clean, dotnet build, dotnet test. Now, I just tell GitLab one thing: nuke test. That master command is like a potent incantation that triggers Nuke to handle everything else.

Since it’s written in C# instead of messy YAML, I have way more confidence in my builds. C# gives me that sense of solidity I crave. I love the fact that when I call nuke, the first thing it does is compile itself before building anything else. It’s a self-affirming echo that makes me feel right at home.

To keep things tidy, I also brought in GitVersion to handle Semantic Versioning (SemVer). It’s like having a diligent librarian who examines my commits, applies the Semantic Commit standards, and assigns the perfect version number without me lifting a finger.

Taming the Beast

Of course, no journey is without its bumps. While Nuke is powerful, I hit a few snags along the way.

Some tasks, like creating tags and releases, are very GitLab-centric and rely on their API. This means they aren’t quite as portable as I’d like and required some extra tinkering to get right. It was a small price to pay for the automation I gained.

As SuCoS grew, my build class started growing like a weed. It was becoming a nightmare to manage—a real “herding cats” situation. My solution? I split the class Build : Nuke into several partial classes. This turned an unruly mob of code into a disciplined, organized team. Now, my build logic is clean and easy to navigate.

The beauty of this setup is that if anyone forks SuCoS on GitHub, the build system will still work almost flawlessly with just a few minor tweaks.

Csharp nuke building system

Why SuCoS Could Power Your Next Site feature
2023.06.19

Why SuCoS Could Power Your Next Site

In the ever-evolving landscape of web development, Static Site Generators have gained immense popularity due to their simplicity, speed, and ease of use. I migrated this site from WordPress to a SSG and have no regrets. However, navigating through the complexities of existing tools like Hugo and DocFX can sometimes be a daunting task, even for advanced developers. Recognizing this challenge, I decided to embark on a personal journey to create a solution. Thus, I give you SuCoS (JuiCeS in Portuguese - a playful nod to my roots and the delightful simplicity I aim for), a C# static site generator that simplifies the process while offering incredible performance.

The Origin

The day I found myself tangled in a web of Hugo templates, I realized something had to change. It felt akin to wandering in a labyrinth without a torch; even ChatGPT, my trusty AI companion, seemed lost. I felt like Bilbo Baggins in the tunnels, minus a riddle-solving partner. I experimented with DocFX, but its rigidity left me wanting. I even dabbled with Rust’s Zola, but found it lacking in richness. I yearned for something more versatile, more fluid.

That’s when it hit me. Why not carve my own path? Why not conjure a static site generator that would render the process as simple as connecting the dots, rather than cracking the Enigma code? With .Net 7 back on track, I knew I had my foundation. It promised familiarity, richness in features, and a performance-driven mentality. Also, the new compilation options for a single file, trimmed and self-contained appeared to be an ideal match.

Thus, the seed of SuCoS was planted.

The Process

Building SuCoS, I focused on 3 critical features.

Firstly, I envisioned a site builder as fast as the wind, quick as a cheetah on the savanna. The result? A C# DotNet 7 engine that churns out pages at breakneck speed. To curb my OCD, I created a test site with 100,000 pages (about 10% of the size of Portuguese Wikipedia) and it took less than 1ms per page!

Secondly, I aimed for an easy-to-use yet versatile template system. I wanted to sidestep the hieroglyph-like complexity of Hugo templates and embrace something more intuitive. Enter Liquid templates - as adaptable and refreshing as water, as straightforward as ABC.

Finally, the third critical feature: a live server for local development. I craved a system that would be as responsive and alive as an eager co-author, watching my every keystroke, reflecting each change I made to content or theme files on the local server, erasing the need for monotonous manual refreshing. To top it all off, I implemented a nifty little report that fires off at the end of the building process, allowing you to marvel at the lightning speed of your site’s creation.

SuCoS wouldn’t be complete without a trusty sidekick. Enter Nuke, an invaluable building system that automates the building and releasing process, even providing a Docker container image to make life easier.

The Roadmap

The very v1.0.0 version is live! And to showcase its MVP (minimum viable product), its official site (https://sucos.brunomassa.com/) was built using SuCoS itself! How cool is it?! But this is just the ‘Iron Man Mark 1’ phase. Like Tony Stark, I’m constantly refining and improving. I’ve recruited GitLab CI/CD as my faithful AI, J.A.R.V.I.S., who ensures that a fresh, improved version sees the light of day every week. The journey towards the ‘Endgame’ continues, each iteration bringing us one step closer.

One of my milestones is to convert this very site to SuCoS by the end of July 2023. Ambitious? Yes. Achievable? Absolutely.

Join in this adventure. Connect with the community on Twitter, Mastodon, Discord, and Matrix. Let’s steer this ship together, transforming the world of static site generation into an easy and delightful journey, one page at a time.

Bruno MASSA