<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Juha-Matti Santala - Community Builder. Dreamer. Adventurer.</title>
  <subtitle></subtitle>
  <link href="" rel="self" />
  <link href="https://hamatti.org" />
  <updated>2026-06-24T00:00:00Z</updated>
  <id></id>
  <author>
    <name>Juha-Matti Santala</name>
    <email>juhamattisantala@gmail.com</email>
  </author> 
  
  <entry>
    <title>If you don’t know what to do, pick up a chair</title>
    <link href="https://hamatti.org/posts/if-you-dont-know-what-to-do-pick-up-a-chair/" />
    <updated>2026-06-24T00:00:00Z</updated>
    <id>https://hamatti.org/posts/if-you-dont-know-what-to-do-pick-up-a-chair/</id>
    <content type="html">
      &lt;p&gt;
  Jon Banafato shared his older blog post
  &lt;a href=&quot;https://www.jonafato.com/2024/12/20/stacking-chairs&quot; class=&quot;notion-text-href&quot;&gt;Stacking Chairs &lt;/a&gt;in Mastodon the other day.
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  “Stacking chairs”, taken literally, is what it sounds like. You know those
  stackable plastic and metal chairs that they have in your local library’s
  community room or similar space? Grab one, add it to the top of the stack.
&lt;/blockquote&gt;

&lt;p&gt;
  It’s a great concept. Throughout my community career, I’ve used it a lot. I’ve
  told people that my superpower is carrying chairs. One of the alumni groups
  for a community I used to hang out in is called Tuolinkantajat (lit. chair
  carriers) for this same reason.
&lt;/p&gt;

&lt;p&gt;
  Jon does an excellent job of saying everything I wanted to say on the topic so
  I’ll mostly refer you to his post.
&lt;/p&gt;

&lt;p&gt;I want to highlight another piece from that post:&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  It’s not particularly glamorous. There are plenty of exciting community
  volunteer roles that carry prestige with them, but this isn’t something that
  would end up on someone’s résumé.
&lt;/blockquote&gt;

&lt;p&gt;
  In many communities, there are positions that can be glamorous for personal
  glory. They can often attract people who care not for the community but for
  using the community as a lever to gain personal advantage.
&lt;/p&gt;

&lt;p&gt;
  Carrying or stacking chairs is the opposite of that. It’s the type of
  contribution that is serving the community first and foremost.
&lt;/p&gt;

&lt;p&gt;
  I used to work as a community manager for a local entrepreneurship community.
  We had this co-working space from which were moving to a new place. I
  scheduled a Community Day for people involved in the community to come
  together to carry stuff.
&lt;/p&gt;

&lt;p&gt;
  I get there in the morning a bit before the scheduled starting time. All of
  the tables and chairs had been carried next to the doors, ready to be hauled
  into a van for moving. They carried the chairs both literally and
  metaphorically for the community. That was a big moment I knew I was involved
  with the right people.
&lt;/p&gt;

&lt;p&gt;
  In
  &lt;a href=&quot;https://cz.pycon.org/2023/&quot; class=&quot;notion-text-href&quot;&gt;PyCon CZ 2023&lt;/a&gt;
  in Prague, after the talks were over, we had a board game night. As soon as
  the last lightning talk finished, people started stacking the chairs away from
  the main area to make space for tables for gaming. It was an amazing community
  experience to witness.
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;The title is paraphrasing Ben Grimm from MCU’s Fantastic Four where he says
    “My father used to say: if you don’t know what to do, pick a shovel.” Chairs
    are our shovels.&lt;/i&gt;
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Unexpected weekend with Pedro Pascal as a father figure</title>
    <link href="https://hamatti.org/posts/unexpected-weekend-with-pedro-pascal-as-a-father-figure/" />
    <updated>2026-06-21T00:00:00Z</updated>
    <id>https://hamatti.org/posts/unexpected-weekend-with-pedro-pascal-as-a-father-figure/</id>
    <content type="html">
      &lt;p&gt;
  Unlike with last month’s
  &lt;a href=&quot;https://hamatti.org/posts/saoirse-ronan-appreciation-week/&quot; class=&quot;notion-text-href&quot;&gt;Saoirse Ronan Appreciation Week&lt;/a&gt;, this weekend’s
  &lt;b class=&quot;notion-text-bold&quot;&gt;Pedro Pascal as a father figure&lt;/b&gt; marathon was
  wholly accidental.
&lt;/p&gt;

&lt;p&gt;
  I ended up watching the newest
  &lt;a href=&quot;https://www.imdb.com/title/tt10676052/&quot; class=&quot;notion-text-href&quot;&gt;Fantastic Four movie&lt;/a&gt;,
  &lt;a href=&quot;https://www.imdb.com/title/tt3581920/&quot; class=&quot;notion-text-href&quot;&gt;The Last of Us&lt;/a&gt;’s first season and
  &lt;a href=&quot;https://www.imdb.com/title/tt30825738/&quot; class=&quot;notion-text-href&quot;&gt;The Mandalorian and Groku&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Only when I was watching him as Mandalorian, I realised the common thread with
  all of these is him being a father figure: to his son Franklin, to his
  daughter Sarah, to Ellie and to his protégé Groku.
&lt;/p&gt;

&lt;p&gt;Here’s my spoiler free mini reviews for all three!&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;
  The Fantastic Four: First Steps
&lt;/h2&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/unexpected-weekend-with-pedro-pascal-as-a-father-figure/1.png.webp&quot; alt=&quot;Marvel Studios’ The Fantastic Four: First Steps poster cover  &quot; /&gt;
&lt;p&gt;
  As a kid, I was obsessed with the Fantastic Four. Some of the more recent
  retellings have been better than the others. As a kid, I often related mostly
  with Ben Grimm as I was always a bit of an outcast kid.
&lt;/p&gt;

&lt;p&gt;
  This introduction of them to the Marvel Cinematic Universe is one of the
  better ones. I&#39;m not excited about the casting (other than Pedro Pascal who is
  fantastic, no pun intended) but over the course of the movie they all started
  to grow on me.
&lt;/p&gt;

&lt;p&gt;
  The 1960s aesthetics is fantastic albeit it could have been a bit more
  prominent as it&#39;s also easy to forget it&#39;s set in the 60s during certain parts
  of the movie.
&lt;/p&gt;

&lt;p&gt;
  One thing I particularly loved is how they didn&#39;t spend the entire movie going
  through their origin story because we&#39;ve seen that a million times. Straight
  into action, I like that.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;The Last of Us: Season 1&lt;/h2&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/unexpected-weekend-with-pedro-pascal-as-a-father-figure/2.png.webp&quot; alt=&quot;HBO Original The Last of Us cover &quot; /&gt;
&lt;p&gt;
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/the-last-of-us&quot; class=&quot;notion-text-href&quot;&gt;The Last of Us&lt;/a&gt;
  and
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/the-last-of-us-part-ii&quot; class=&quot;notion-text-href&quot;&gt;The Last of Us: Part 2&lt;/a&gt;
  are some of my all-time favourite video games, as you can read from the linked
  notes (spoilers there!). I saw the first episode of the tv series when it came
  out in 2023 but only now borrowed the first season DVD box from library to
  watch it.
&lt;/p&gt;

&lt;p&gt;
  It’s not exactly my genre of tv: I don’t particularly enjoy zombie horror but
  since I’ve played through the games multiple times, I figured I know pretty
  much what’s coming and wouldn’t lose my sleep like I would with other horror-y
  stuff.
&lt;/p&gt;

&lt;p&gt;
  The Last of Us is a very well made series but I have a few issues with it.
  First, the casting — while full of great actors — is different enough from the
  games that for a fan, it was hard to really immerse into their performances.
  Don’t get me wrong: Pedro Pascal does a great job as Joel and Bella Ramsey as
  Ellie but when you’ve seen them look and act differently in the game, it’s
  hard to silence in my mind.
&lt;/p&gt;

&lt;p&gt;
  Second, most of the time I kept thinking “why wouldn’t I just play the games
  instead”. I chose not to because I just finished a replay in March but
  otherwise I probably would have. I think the story is so much better told
  through the game. The intensity of the situation and the relationships feel so
  much stronger when you’re an active participant rather than just a viewer.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;The Mandalorian and Grogu&lt;/h2&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/unexpected-weekend-with-pedro-pascal-as-a-father-figure/3.png.webp&quot; alt=&quot;Star Wars: The Mandalorian and Grogu cover &quot; /&gt;
&lt;p&gt;
  Before heading to the theaters to see this movie, I had seen a lot of negative
  reviews and press. I&#39;m glad I didn&#39;t trust their judgement.
&lt;/p&gt;

&lt;p&gt;
  Mandalorian and Groku is a good scifi action adventure movie. Sure, it&#39;s no
  Empire Strikes Back or Rogue One when compared to other Star Wars movies but
  it holds on its own as a nice side story next to the main line movies.
&lt;/p&gt;

&lt;p&gt;
  It took me a couple of seasons to start liking the Mandalorian TV series that
  is leading into this movie but slowly over time I started to enjoy it. You
  don&#39;t need to have seen any of that to enjoy this movie. It answers a few
  questions about the main characters Mandalorian and Grogu that might arise
  from this movie alone but nothing is fundamentally missed if you just go watch
  this.
&lt;/p&gt;

&lt;p&gt;
  It&#39;s a relatively light bounty hunter story with stunning set design. Whether
  we talk about the planets, the cities or the interior of buildings, I was at
  awe most of the time. Nal Hutta is a lively swamp planet with lots of nature
  and wild life while Shakari&#39;s dark cityscape and nightlife offer an experience
  of tight interior spaces and streets.
&lt;/p&gt;

&lt;p&gt;This is the way.&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Writing about it - approach to writer’s block</title>
    <link href="https://hamatti.org/posts/writing-about-it-approach-to-writers-block/" />
    <updated>2026-06-20T00:00:00Z</updated>
    <id>https://hamatti.org/posts/writing-about-it-approach-to-writers-block/</id>
    <content type="html">
      &lt;p&gt;
  You know that feeling when you feel like you’re gonna sneeze but then it never
  comes out? I sometimes feel like that with blog posts. I think I have a post
  coming out of me so I sit down to start writing. But nothing coherent comes
  out.
&lt;/p&gt;

&lt;p&gt;
  I recently joined a new writer group and we had a small discussion about this.
&lt;/p&gt;

&lt;p&gt;What I wrote there, verbatim:&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  When I run into a situation where I have a vague idea but writing it doesn&#39;t
  quite happen right away, I usually take my notebook and go to a pub to write
  about it (rather than write it) and that often helps move forward.
&lt;/blockquote&gt;

&lt;p&gt;
  This happens to me more often than I’d wish. It’s unfortunate because when I
  sit down to write, I always hope it’ll be a smooth, flow-like state where my
  fingers dance on the keyboard, instructing letters to join the choreography on
  the screen, ending in something profound and beautiful.
&lt;/p&gt;

&lt;p&gt;
  When it happens, some kind of security mechanism inside me goes into effect.
  Alarms start to blare internally: “this thing is stuck, let’s not ever succeed
  in it”. No matter how many times I return to the one-sentence draft, it
  doesn’t seem to budge and move forward. The dreaded
  &lt;b class=&quot;notion-text-bold&quot;&gt;writer’s block&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;
  I’ve learned one trick to make it flow again: rather than trying to write the
  blog post, I take my notebook, head over to the pub and write
  &lt;b class=&quot;notion-text-bold&quot;&gt;about it&lt;/b&gt;. I give up trying to advance the blog
  post itself but rather, I take a step back and write anything else about the
  topic. Like a detective solving a crime, I dissect the idea and interrogate it
  for clues.
&lt;/p&gt;

&lt;p&gt;
  My notebook is full of these notes where I just do a brain dump, move
  sub-ideas around and try to find better approaches than my failed one.
&lt;/p&gt;

&lt;p&gt;
  It really helps me find new structures, new ways to phrase it, new
  storytelling mechanics to make it interesting.
&lt;/p&gt;

&lt;p&gt;
  I really like
  &lt;a href=&quot;https://explorationsofstyle.com/2018/02/22/write-your-way-out/&quot; class=&quot;notion-text-href&quot;&gt;how Rachael Cayley writes about writer&#39;s block&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  When we diagnose ourselves as having writer’s block, we can start to believe
  that we aren’t currently able to write. If you find yourself with a sore leg,
  it may well be that avoiding walking is a sound strategy. If you find yourself
  unable to write, might it be a sound strategy to avoid writing? The answer to
  that question is almost always no. Not writing has little-to-no curative
  power, in my experience.
&lt;/blockquote&gt;

&lt;p&gt;
  The writer’s block is a real problem but to get through it, you sometimes need
  to fool your brain into thinking you’re doing something else than actually
  writing something that advances your blocked work.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Chris Ramsey, Taskmaster and No way!?</title>
    <link href="https://hamatti.org/posts/chris-ramsey-taskmaster-and-no-way/" />
    <updated>2026-06-17T00:00:00Z</updated>
    <id>https://hamatti.org/posts/chris-ramsey-taskmaster-and-no-way/</id>
    <content type="html">
      &lt;p&gt;
  Alex Hsu is hosting this month’s
  &lt;a href=&quot;https://indieweb.org/IndieWeb_Carnival&quot; class=&quot;notion-text-href&quot;&gt;IndieWeb Carnival&lt;/a&gt;
  with a theme of
  &lt;a href=&quot;https://alexhsu.com/en/no-way&quot; class=&quot;notion-text-href&quot;&gt;No way!?&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Has anything ever happened in your life that felt like a movie plot twist?
  Something that made you go “&lt;b class=&quot;notion-text-bold&quot;&gt;No way!?&lt;/b&gt;” but
  turned out to be completely true?
&lt;/blockquote&gt;

&lt;p&gt;
  When ever I hear anyone say “no way!?” with any kind of enthusiasm, my mind is
  filled with Chris Ramsey doing the task “Display the shoe Alex is thinking of”
  in Taskmaster UK’s season 13, episode 2.
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  The contestants had to display the shoe Alex was thinking of (a reddish
  open-toed left shoe), but could only ask yes or no questions. If they thought
  the shoe was not the correct one, the contestant had to throw it out the
  window. They had to say a phrase after each question.
&lt;/blockquote&gt;

&lt;p&gt;Chris’ phrase was “No way!?” and he was so good at saying it.&lt;/p&gt;

&lt;p&gt;
  &lt;a href=&quot;https://www.youtube.com/watch?v=Ntdft9wCots&quot; class=&quot;notion-text-href&quot; rel=&quot;noreferrer&quot;&gt;Check for yourself — a clip compilation in Youtube&lt;/a&gt;.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Future Frontend 2026 Recap</title>
    <link href="https://hamatti.org/posts/future-frontend-2026-recap/" />
    <updated>2026-06-13T00:00:00Z</updated>
    <id>https://hamatti.org/posts/future-frontend-2026-recap/</id>
    <content type="html">
      
&lt;p&gt;
  Mid-June we organised our
  &lt;a href=&quot;https://futurefrontend.com/&quot; class=&quot;notion-text-href&quot;&gt;4th annual Future Frontend conference&lt;/a&gt;
  in Dipoli, Espoo, Finland. As the conference series was a continuation of our
  previous
  &lt;a href=&quot;https://react-finland.fi/&quot; class=&quot;notion-text-href&quot;&gt;React Finland&lt;/a&gt;
  conference, this was my 5th as an organiser and before that, I had been to a
  couple as participant or representative of a sponsor. As always, it was a lot
  of fun.
&lt;/p&gt;

&lt;p&gt;
  I don’t know what happened to my recap from last year’s conference. It doesn’t
  seem to exist: not in public nor in drafts anywhere. But I have written one
  for
  &lt;a href=&quot;https://hamatti.org/posts/future-frontend-2024-recap/&quot; class=&quot;notion-text-href&quot;&gt;2024&lt;/a&gt;,
  &lt;a href=&quot;https://hamatti.org/posts/future-frontend-2023-recap/&quot; class=&quot;notion-text-href&quot;&gt;2023&lt;/a&gt;,
  &lt;a href=&quot;https://hamatti.org/posts/react-finland-2022-recap/&quot; class=&quot;notion-text-href&quot;&gt;2022&lt;/a&gt;
  and
  &lt;a href=&quot;https://hamatti.org/posts/react-finland-2021-recap/&quot; class=&quot;notion-text-href&quot;&gt;2021&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Welcome to my personal recap of the event. While I was part of the organising
  team, everything from here on are just my personal opinions and do not
  necessarily reflect the opinions of the conference organisation.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;The conference&lt;/h2&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/future-frontend-2026-recap/1.png.webp&quot; alt=&quot;Outside of a two-story building with 60s architecture. In front of the building, basking in summer sun is a large metallic pine cone art installation that is surrounded by a small area for sitting around and a path made out of stone bricks leading into the yard. &quot; /&gt;
&lt;p&gt;
  This year’s conference, like last year’s, was organised in Dipoli at the Aalto
  University campus in Espoo, Finland. The building is a masterpiece of
  architecture and design from the 1960s and ranks very high on the most
  beautiful conference venues of which I’ve visited.
&lt;/p&gt;

&lt;p&gt;
  The building is beautiful both from the inside and the outside and the beauty
  is amplified by the surrounding nature of the campus. It’s especially
  beautiful during the summer.
&lt;/p&gt;

&lt;p&gt;
  Our conference visitors got the perfect Finnish summer experience: the first
  day was a perfect sunny not-too-hot early Finnish summer day and the second
  was a realistic pouring rain Finnish summer day.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/future-frontend-2026-recap/2.png.webp&quot; alt=&quot;Daniel on the stage wearing a pink shirt. Behind him, a large screen with text: Forced colors mode overrides system and web contenr with a limited, user-definable set of colors automatically. &quot; /&gt;
&lt;p&gt;
  The conference was structured as a single track, two day conference where the
  first day had a focus on design and the second on development. I’m of course a
  bit biased as it’s our conference but I really like the variety of topics we
  have.
&lt;/p&gt;

&lt;p&gt;
  We kicked off the event already on Sunday evening with a speaker dinner that
  was hosted at our sponsor
  &lt;a href=&quot;https://nitor.com/&quot; class=&quot;notion-text-href&quot;&gt;Nitor’s&lt;/a&gt; office. I’ve
  been to many speaker dinners and they are one of my favourite parts of the
  events because you get to meet other speakers in a casual and cozy setting.
&lt;/p&gt;

&lt;p&gt;
  Many of the speaker dinners have taken place in restaurants where you often
  end up mostly talking to people who you end up sitting next to. Both last year
  and this year we organised it in an office with food catering and I really
  like it. There’s still food and good chat while eating but then there’s more
  space to roam around and end up in discussions with everyone present
  throughout the night.
&lt;/p&gt;

&lt;p&gt;
  As
  &lt;a href=&quot;https://mastodon.world/@hamatti/116718294939158725&quot; class=&quot;notion-text-href&quot;&gt;I tooted on the second morning of the conference&lt;/a&gt;,
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  The hardest part of organizing a conference is waking up at 6.30.
&lt;/blockquote&gt;

&lt;p&gt;
  I’m definitely not a morning person. Absolutely not. It’s so hard to wake up
  so early, even if I went to sleep early enough on the night before.
&lt;/p&gt;

&lt;p&gt;
  This is in direct conflict with my desire to work the registration desk —
  where I usually need to be the first one at the venue each morning. I
  &lt;b class=&quot;notion-text-bold&quot;&gt;love &lt;/b&gt;the registration desk. I’ve been
  organising events since 2003 and I’ve always gravitated towards spending most
  of my time there.
&lt;/p&gt;

&lt;p&gt;
  Selfishly, it’s a great place because you get to meet most of the people who
  come to the conference. Everyone goes through the registration desk and
  everyone who lands on your spot, you get to have a chat with, learn their name
  and have a bit of small talk. I’m an introverted guy and having this “forced”
  interaction with people helps me continue the discussions throughout the
  event.
&lt;/p&gt;

&lt;p&gt;
  From the event’s perspective, it’s even more important. For most people, the
  registration is the first non-email contact with the event. How you handle
  that can have a big impact on people’s experience of the event. Website and
  email communication is important but it has a different psychological effect
  and it’s easy to build up an impression in your head from purely transactional
  correspondence and it’s valuable to chance that impression into a real human
  interaction as soon as they join the event.
&lt;/p&gt;

&lt;p&gt;
  We have a lot of people who return to the event year after year or who I know
  from other events and the tech community locally, I love being able to
  recognise someone as they walk in the door, have their badge ready before they
  pull out their phone to find their ticket and to be able to personally greet
  them.
&lt;/p&gt;

&lt;p&gt;
  A good experience at the registration also lowers the threshold to ask
  questions or advice later during the event because there’s already at least
  one organiser you “know” and had a good chat with when you arrived.
&lt;/p&gt;

&lt;p&gt;
  I like to chat with people about whether they’ve been to the conference
  before, what they are looking forward to in the day, if it’s their first time
  in the country and if they had a good night sleep — or a great party — last
  night.
&lt;/p&gt;

&lt;p&gt;
  If you like to see photos from the event, check
  &lt;a href=&quot;https://www.flickr.com/photos/react-finland/albums/72177720334175293/&quot; class=&quot;notion-text-href&quot;&gt;the official album&lt;/a&gt;
  and
  &lt;a href=&quot;https://photos.app.goo.gl/BJo8PNbVYEhbw8hm8&quot; class=&quot;notion-text-href&quot;&gt;Joakim’s album&lt;/a&gt;.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Talk recommendations&lt;/h2&gt;

&lt;p&gt;
  Every year, I pick a couple of my favourite talks from the conference. These
  are my personal opinions and I intentionally pick only a few even when I’d
  really like to pick all of them because it wouldn’t be curation otherwise.
&lt;/p&gt;

&lt;p&gt;
  All the sketches done of the talks are by
  &lt;a href=&quot;https://www.linkedin.com/in/timo-draws/&quot; class=&quot;notion-text-href&quot;&gt;Timo Leppänen&lt;/a&gt;
  and they were done live during the talks and the audience could follow the
  illustration progress during the talk from a screen.
&lt;/p&gt;

&lt;p&gt;
  You can find full livestream recordings of the conference from Youtube.
  &lt;a href=&quot;https://www.youtube.com/watch?v=vzLgddYYrWQ&quot; class=&quot;notion-text-href&quot;&gt;Day 1&lt;/a&gt;
  and
  &lt;a href=&quot;https://www.youtube.com/watch?v=jCXCdlYhNuY&quot; class=&quot;notion-text-href&quot;&gt;day 2&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;
  This is not the tech I signed up for! – An approach to permacomputing by Darío
  Gutiérrez Mori
&lt;/h3&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/future-frontend-2026-recap/3.png.webp&quot; alt=&quot;A live scribble sketch for Darío’s talk with multiple small illustrations and accompanied descriptions or labels: AI increases cognitive lead. We are stuck on a dopamine cycle. You should prepare for infinite growth. The answer is permacomputing. Minimize power use. Value what you have. Hope for the best, prepare for the worst. Use biomaterials. Buy second0hand. Stay positive: you are not alone. Learn how to fix stuff. Don’t buy more stuff. Observe first. &quot; /&gt;
&lt;p&gt;
  &lt;a href=&quot;https://youtu.be/vzLgddYYrWQ?t=16848&quot; class=&quot;notion-text-href&quot;&gt;Video (at 4:40:48)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  Darío’s talk on permacomputing was one of the talks I really looked forward
  based on the abstract and it did not disappoint.
&lt;/p&gt;

&lt;p&gt;
  His talk on
  &lt;a href=&quot;https://permacomputing.net/&quot; class=&quot;notion-text-href&quot;&gt;permacomputing&lt;/a&gt;
  lays down some of the issues of our current lifestyle of attempting to achieve
  hyperproductivity and living in a world of overconsumption and offers
  permacomputing as an alternative approach to a more balanced approach. The
  permacomputing wiki describes the approach as
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  There are huge environmental and societal issues in today&#39;s computing, and
  permacomputing specifically wants to challenge them in the same way as
  permaculture has challenged industrial agriculture. With that said,
  permacomputing is an anti-capitalist political project. It is driven by
  several strands of anarchism, decoloniality, intersectional feminism,
  post-marxism, degrowth, ecologism.
&lt;/blockquote&gt;
&lt;h3&gt;
  Accessibility Adventures - The Lost Secrets of Forced Colors Mode by Daniel
  Yuschick
&lt;/h3&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/future-frontend-2026-recap/4.png.webp&quot; alt=&quot;A live scribble sketch for Daniel’s talk with multiple small illustrations and accompanied descriptions or labels: When reviewing the top one million home pages 83.9% contained low-contrast text errors. Consider outlining page sections. Forced colors mode automatically overrides system and web content with a limited set of colors. Force adjusting. White is the new black. Need for color and contrast vary from person to person. &quot; /&gt;
&lt;p&gt;
  &lt;a href=&quot;https://youtu.be/vzLgddYYrWQ?t=24430&quot; class=&quot;notion-text-href&quot;&gt;Video (at 6:47:10)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  Daniel’s talks always amaze me. I’ve seen him talk in various events
  throughout the years and he’s one of the trusted speakers I’m always happy to
  invite to events I’m organising because he always delivers well crafted talks
  with high production quality and great practical technical learnings that are
  easy and enjoyable to follow.
&lt;/p&gt;

&lt;p&gt;
  His newest one on forced colors mode followed that pattern. I knew about the
  topic before hand but managed to learn quite a few new things and got some new
  todo items to my website projects as well as I tested them my sites out after
  the event to discover issues.
&lt;/p&gt;
&lt;h3&gt;
  The Cake Is a Lie... And So Is Your Login&#39;s Accessibility by Ramona Schwering
&lt;/h3&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/future-frontend-2026-recap/5.png.webp&quot; alt=&quot;A live scribble sketch for Ramona’s talk with multiple small illustrations and accompanied descriptions or labels: Websites should be usable and accessible for everyone. Web content accessibility guidelines. The European Accessibility Act. The Americans with disabilities act. Avoid annoying. Many users with disabilities perceive a maze of invisible walls. &quot; /&gt;
&lt;p&gt;
  &lt;a href=&quot;https://youtu.be/vzLgddYYrWQ?t=26497&quot; class=&quot;notion-text-href&quot;&gt;Video (at 7:21:37)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  Ramona’s talk on the accessibility issues often encountered in login forms was
  wonderful. As a massive Portal fan, her pop culture references to the game
  were a delight and the practical examples of going through a React component
  for login form and testing them with a screenreader was so well done.
&lt;/p&gt;
&lt;h3&gt;Modern UI Patterns by Una Kravets&lt;/h3&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/future-frontend-2026-recap/6.png.webp&quot; alt=&quot;A live scribble sketch for Una’s talk with multiple small illustrations and accompanied descriptions or labels: Respect user preferences. Reduce noise. Eliminate visual clutter. Provide guided navigation. Don’t overanimate.  &quot; /&gt;
&lt;p&gt;
  &lt;a href=&quot;https://youtu.be/jCXCdlYhNuY?t=886&quot; class=&quot;notion-text-href&quot;&gt;Video (at 14:46)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  I love Una’s talks. They are always so well designed and crafted with love.
&lt;/p&gt;

&lt;p&gt;Her talk focuses on five key UX principles:&lt;/p&gt;
&lt;ol class=&quot;notion-numbered_list&quot;&gt;
  &lt;li class=&quot;notion-numbered_list_item notion-color-default&quot;&gt;
    Respect user preferences
  &lt;/li&gt;

  &lt;li class=&quot;notion-numbered_list_item notion-color-default&quot;&gt;
    Maximize content, reduce noise
  &lt;/li&gt;

  &lt;li class=&quot;notion-numbered_list_item notion-color-default&quot;&gt;
    Implement natural interactions
  &lt;/li&gt;

  &lt;li class=&quot;notion-numbered_list_item notion-color-default&quot;&gt;
    Provide guided navigation
  &lt;/li&gt;

  &lt;li class=&quot;notion-numbered_list_item notion-color-default&quot;&gt;
    Adapt to the form factor
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
  She goes through all of these through practical examples and demos, showing
  both the UX principles and the use cases that exemplify those principles and
  how to implement them with some new CSS features.
&lt;/p&gt;
&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;The hallway track&lt;/h2&gt;

&lt;p&gt;
  Even when the stage talks happen in a single track format, there’s always
  &lt;a href=&quot;https://notes.hamatti.org/communities/hallway-track&quot; class=&quot;notion-text-href&quot;&gt;the hallway track&lt;/a&gt;
  — all the discussions and activities that happen outside the main program.
  It’s the part that I enjoy the most and remember most fondly years after.
&lt;/p&gt;

&lt;p&gt;
  It’s unique to every participant as the people you meet and discussions you
  have at the event vary person to person.
&lt;/p&gt;

&lt;p&gt;
  The world of LLMs and coding agents was unsurprisingly a common topic this
  year, both in stage program and in the discussions that followed. I have
  strong anti-LLM opinions and while others have a more positive outlook on
  them, we ended up having really good and grounded discussions of the merits
  and harm they do.
&lt;/p&gt;

&lt;p&gt;
  Thanks to Dario’s talk (see above) on permacomputing, I ended up having a
  couple of really good discussions around that topic. I’ve been following
  &lt;a href=&quot;https://solar.lowtechmagazine.com/&quot; class=&quot;notion-text-href&quot;&gt;LOW←TECH MAGAZINE&lt;/a&gt;
  for a while now and there’s a lot of interesting ideas there and it was
  wonderful to be able to discuss those ideas with others who share similar
  interests in this conference.
&lt;/p&gt;

&lt;p&gt;
  And we talked a lot about my favourite topics: thinking and learning. One of
  the biggest things I’m flabbergasted by the LLM hype is how willingly people
  outsource thinking and learning to Claude, Gemini, ChatGPT or any other bot
  like them. For me,
  &lt;a href=&quot;https://hamatti.org/posts/be-careful-with-introducing-ai-into-your-notes/&quot; class=&quot;notion-text-href&quot;&gt;that’s the best part&lt;/a&gt;. Working through a problem by thinking, experimenting and learning so that
  the next time I’m better prepared not only for solving the same problem but
  more difficult problems.
&lt;/p&gt;

&lt;p&gt;
  As an organiser, there’s unfortunately bit less time, opportunity and energy
  for hallway tracks as a speaker or participant. Often practical things
  interrupt good discussions and after the event day I’m exhausted and escape to
  the merciful salvation of hotel bed.
&lt;/p&gt;

&lt;p&gt;
  To everyone I met during the event, from the bottom of my heart, thank you for
  the discussions we had ❤️. I enjoyed each and every one of them and I hope my
  duties as an organiser and having to jump elsewhere in the middle of a good
  chat didn’t bother too much.
&lt;/p&gt;

&lt;p&gt;
  And thanks to everyone who made this event possible! The speakers, the
  sponsors, our lovely organising team and volunteers and everyone who joined
  the event as a participant.
&lt;/p&gt;

&lt;h2&gt;Other people&#39;s recaps&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://varya.me/blog/future-frontend-2026/&quot;&gt;Notes from the last Future Frontend (2026)&lt;/a&gt;
    by Varya Stepanova
  &lt;/li&gt;
&lt;/ul&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>A sign of a good tool is that you don’t notice it - one year with wallabag</title>
    <link href="https://hamatti.org/posts/a-sign-of-a-good-tool-is-that-you-dont-notice-it-one-year-with-wallabag/" />
    <updated>2026-06-10T00:00:00Z</updated>
    <id>https://hamatti.org/posts/a-sign-of-a-good-tool-is-that-you-dont-notice-it-one-year-with-wallabag/</id>
    <content type="html">
      
&lt;p&gt;
  A year ago in June, 2025, when Mozilla shut down Pocket, I took
  &lt;a href=&quot;https://hamatti.org/posts/mozilla-is-shutting-down-pocket-what-next/&quot; class=&quot;notion-text-href&quot;&gt;a look at the alternatives&lt;/a&gt;
  and ended up
  &lt;a href=&quot;https://hamatti.org/posts/wallabag-i-choose-you/&quot; class=&quot;notion-text-href&quot;&gt;choosing wallabag&lt;/a&gt;. I’ve been using it daily ever since.
&lt;/p&gt;

&lt;p&gt;
  I recently received an email that my yearly subscription is coming to an end
  and if I’m still enjoying it, I should resubscribe. First of all, how awesome
  it is that they are not relying on people forgetting to cancel their
  subscriptions as a way to make money (as so many subscription services these
  days unfortunately do). Second, I realised how little I’ve been thinking about
  wallabag since last summer.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;How I use wallabag&lt;/h2&gt;

&lt;p&gt;
  I was asked in Mastodon how I use wallabag daily so here are my main use
  cases:
&lt;/p&gt;

&lt;p&gt;
  First use case is to
  &lt;b class=&quot;notion-text-bold&quot;&gt;capture good articles I want to make notes about&lt;/b&gt;
  when I&#39;m reading them on mobile or tablet — or when I’m too tired after a long
  day to think but I’m relaxing by reading. That way, wallabag offers me a good
  place to find all of them when I sit down on my laptop to make notes. Usually
  I clear up my queue of those once or twice a week.
&lt;/p&gt;

&lt;p&gt;
  Second is to
  &lt;b class=&quot;notion-text-bold&quot;&gt;capture interesting things I run into&lt;/b&gt; when I&#39;m
  going down the rabbit hole on something else but
  &lt;b class=&quot;notion-text-bold&quot;&gt;don&#39;t have time to read them right away&lt;/b&gt; or
  reading them would be a distraction. I don’t have to leave them open in tabs
  to hopefully remember to go back to later. When they are stored in my wallabag
  list, I’m guaranteed to go through them during the sessions where I go through
  my list and process everything.
&lt;/p&gt;

&lt;p&gt;
  These two use cases are more of a bookmark service than read-it-later service
  with the added benefit of them being also often directly readable through
  wallabag’s interface if needed.
&lt;/p&gt;

&lt;p&gt;
  Third use case is to
  &lt;b class=&quot;notion-text-bold&quot;&gt;store articles for offline reading&lt;/b&gt;. I travel
  quite a lot and often I&#39;m without an internet either while in trains in the
  countryside or if I take a ferry to mainland Europe which is often ~30+ hour
  trip without Internet.
&lt;/p&gt;

&lt;p&gt;
  When I&#39;m without internet, I love to have a lot of interesting bits to read
  and wallabag is fantastic for that.
&lt;/p&gt;

&lt;p&gt;
  I keep my list clean: short-lived articles (use cases 1 and 2) I remove as
  soon as I&#39;ve read and made notes about them and the long-term (case 3) ones I
  usually clear after a trip unless there are some bangers that I keep for a
  longer time and re-read on future trips.
&lt;/p&gt;

&lt;p&gt;
  Other than a small handful of exceptions, wallabag is a temporary location for
  stuff. My notes are the long-term storage for anything worth keeping because
  that’s where I can find them when I think and there I can link them with other
  articles on the topic and my notes are always at hand, stored locally in
  Markdown files so if a server has a hiccup or a service shuts down, I don’t
  lose them.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;
  Not noticing the tool you use is a good thing
&lt;/h2&gt;

&lt;p&gt;
  We’re (hopefully) at the peak of attention economy where everything and
  everyone is pushing themselves to your face constantly in an attempt to steal
  some of your attention for their financial gain. I hate it.
&lt;/p&gt;

&lt;p&gt;
  Wallabag doesn’t do that. The tool itself is very unnoticeable in a good way.
  I have a browser extension on desktop and mobile so I can save things with a
  single click. I access the saved articles from a web UI.
&lt;/p&gt;

&lt;p&gt;
  I’ve got two emails (not including the payment receipts) since I signed up for
  my 1-year subscription. One that was a reminder that my year is ending and
  second was an update on the development of the service.
&lt;/p&gt;

&lt;p&gt;
  It’s unfortunate how refreshing it feels to use a tool like this. It should be
  the baseline from which only exceptions pop out but these days it’s a super
  rare treat.
&lt;/p&gt;

&lt;p&gt;
  Wallabag is available as a paid, hosted version but you can also self-host it
  if you’d like. That’s another reason I really like it. I’m currently happy to
  pay it to support the development but I do enjoy the fact that if they decide
  to shut things down some day, I can switch over to a self-hosted version and
  continue enjoying using it.
&lt;/p&gt;

&lt;p&gt;Thanks Nicolas for building wallabag!&lt;/p&gt;


    </content>
  </entry>
   
  
  <entry>
    <title>Junited is a celebration of the blogosphere</title>
    <link href="https://hamatti.org/posts/junited-is-a-celebration-of-the-blogosphere/" />
    <updated>2026-06-06T00:00:00Z</updated>
    <id>https://hamatti.org/posts/junited-is-a-celebration-of-the-blogosphere/</id>
    <content type="html">
      &lt;p&gt;
  In 2024, Robert Birming launched
  &lt;a href=&quot;https://robertbirming.com/junited/&quot; class=&quot;notion-text-href&quot;&gt;Junited&lt;/a&gt;
  which is a month-long event during which we focus on sharing great things
  other people have written. I love blogging for its social aspect and Junited
  is right up that alley so I’m excited to join.
&lt;/p&gt;

&lt;p&gt;
  I will be sharing one article a day and I keep an updating list in my
  &lt;a href=&quot;https://notes.hamatti.org/writing/events/junited-2026&quot; class=&quot;notion-text-href&quot;&gt;Junited note in Garden of Learning&lt;/a&gt;. I keep it there rather than this blog for two reasons: first, it’s easier
  and quicker for me to update and second, it won’t pollute this blog’s RSS feed
  for those who don’t care about it.
&lt;/p&gt;

&lt;p&gt;
  I already have this week’s entries there so you can visit it now and learn
  about five new things and if that seems interesting to you, bookmark it and
  visit every now and then. I’m currently designing a per-note RSS subscription
  option but I haven’t built it yet so for this Junited it’s still a manual
  effort to go and check.
&lt;/p&gt;

&lt;p&gt;
  There are
  &lt;a href=&quot;https://robertbirming.com/junited/#2026&quot; class=&quot;notion-text-href&quot;&gt;a lot of people participating&lt;/a&gt;
  this year so this is your opportunity to learn about so many wonderful
  bloggers and the topics they write about so go take a look.
&lt;/p&gt;

&lt;p&gt;
  And of course, join us! Create a page or a blog post on your own website and
  start sharing. It’s never too late to share an article you read and enjoyed.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>An entire wiki in a single file? A look at Feather Wiki</title>
    <link href="https://hamatti.org/posts/an-entire-wiki-in-a-single-file-a-look-at-feather-wiki/" />
    <updated>2026-06-03T00:00:00Z</updated>
    <id>https://hamatti.org/posts/an-entire-wiki-in-a-single-file-a-look-at-feather-wiki/</id>
    <content type="html">
      &lt;p&gt;
  Imagine a wiki that is just a single HTML file. One that you can deploy
  anywhere: view locally, share in local network, put in any web server. No
  databases, no user management, no moving pieces that cause headaches.
&lt;/p&gt;

&lt;p&gt;
  &lt;a href=&quot;https://feather.wiki/&quot; class=&quot;notion-text-href&quot;&gt;Feather Wiki&lt;/a&gt; is a
  really cool project that I ran into a couple of weeks back. It’s a wiki
  project that fits the entire wiki, including all the content, in a single HTML
  file. You can upload it to a server (or use locally), make changes in browser
  and when you’re done with changes, you download a new version of itself with
  the changes and you can deploy that to update it.
&lt;/p&gt;

&lt;p&gt;Or like the project describes itself:&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Feather Wiki is an HTML document containing a self-replicating JavaScript
  application for creating wiki-style websites whose content is also stored in
  the output.
&lt;/blockquote&gt;

&lt;p&gt;
  You can edit the wiki in browser just like any other wiki but to permanently
  save the changes, you need to download a new copy of the entire wiki with new
  changes and upload that to your web server.
&lt;/p&gt;

&lt;p&gt;
  While this adds an extra step, I think the tradeoff is often a welcome one. To
  enable collaboration, you can have people submit pull requests to a git
  repository that gets deployed to a server.
&lt;/p&gt;

&lt;p&gt;
  I’m still experimenting with it myself and haven’t published any wikis built
  with it yet but I think it’s a wonderful choice for individuals or small
  communities that want an easy wiki solution.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Now available in Finnish!&lt;/h2&gt;

&lt;p&gt;
  Last weekend,
  &lt;a href=&quot;https://floss.social/@FeatherWiki/116671918073182153&quot; class=&quot;notion-text-href&quot;&gt;I contributed to the project by providing Finnish translations&lt;/a&gt;. You can download the Finnish version from
  &lt;a href=&quot;https://feather.wiki/?page=downloads&quot; class=&quot;notion-text-href&quot;&gt;Downloads page&lt;/a&gt;. If any of the translations feels off or wrong, don’t hesitate to reach out
  or
  &lt;a href=&quot;https://feather.wiki/?page=translation&quot; class=&quot;notion-text-href&quot;&gt;make a contribution directly to the project&lt;/a&gt;. Big thanks to existing translations of open source projects like WordPress
  that I was able to use for inspiration and checking if my translations made
  sense.
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>IndieWeb Carnival May 2026: Roundup of love letters</title>
    <link href="https://hamatti.org/posts/indieweb-carnival-may-2026-roundup-of-love-letters/" />
    <updated>2026-06-01T00:00:00Z</updated>
    <id>https://hamatti.org/posts/indieweb-carnival-may-2026-roundup-of-love-letters/</id>
    <content type="html">
      
&lt;p&gt;Happy June 1st!&lt;/p&gt;

&lt;p&gt;
  Last month, I hosted the
  &lt;a href=&quot;https://indieweb.org/IndieWeb_Carnival&quot; class=&quot;notion-text-href&quot;&gt;IndieWeb Carnival&lt;/a&gt;
  where I encouraged bloggers to write a love letter to something they care
  about or are passionate about. 33 people (+ me) answered the call and
  published a love letter in their blog.
&lt;/p&gt;

&lt;p&gt;
  It&#39;s been an incredible month for me because day after day, I&#39;ve got to read
  so many positive stories from people around the world and that has made the
  month extraordinarily fun. It&#39;s not just the love letters though. I&#39;ve
  discovered many new blogs and had many wonderful discussions with people who
  submitted their entries.
&lt;/p&gt;

&lt;p&gt;
  I highly recommend checking out all of these blogs. Read their love letter and
  then check out what else they are doing and writing about.
&lt;/p&gt;

&lt;p&gt;
  This roundup post is a love letter in itself. A love letter to this wonderful
  community, to personal websites and blogs, to all the people writing and
  publishing their thoughts and experiences in the open web for all of us to
  read. To everyone who participated: thank you ❤️.
&lt;/p&gt;

&lt;p&gt;
  The day starts with a morning and Beto Dealmeida wrote
  &lt;a href=&quot;https://robida.net/entries/2026/05/21/a-love-letter-to-mornings&quot; class=&quot;notion-text-href&quot;&gt;a love letter to those magical moments that start a new day&lt;/a&gt;
  and shares their peaceful morning routine that lasts until the leaf blowers
  start.
&lt;/p&gt;

&lt;p&gt;
  Quite a few people shared their love to people — either specific ones or
  groups.
&lt;/p&gt;

&lt;p&gt;
  Brendan&#39;s
  &lt;a href=&quot;https://kaijuville.com/2026/05/05/love-letter-to-the-unknown/&quot; class=&quot;notion-text-href&quot;&gt;love letter to the unknown&lt;/a&gt;
  discusses his cousin&#39;s impact on his love for Dungeons &amp; Dragons. Andrei wrote
  &lt;a href=&quot;https://andrei.xyz/post/a-love-letter-to-you/&quot; class=&quot;notion-text-href&quot;&gt;a love letter to his younger self&lt;/a&gt;
  with wonderful life advice. Pat has
  &lt;a href=&quot;https://huffstler.github.io/blog/A%20Love%20Letter%20to%20my%20Friends/&quot; class=&quot;notion-text-href&quot;&gt;great friends who deserved a love letter&lt;/a&gt;. Rasagy wrote
  &lt;a href=&quot;https://rasagy.in/sketchnotes/love-letter-to-indiewebclub/&quot; class=&quot;notion-text-href&quot;&gt;a love letter to his local IndieWebClub community in Bangalore&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Christopher wrote
  &lt;a href=&quot;https://christopherhimes.com/blog/2026/05/07/love-letter-to-bacon&quot; class=&quot;notion-text-href&quot;&gt;an appreciation post to Francis Bacon&lt;/a&gt;, winther is
  &lt;a href=&quot;https://winther.sysctl.dk/a-love-letter-to-isabelle-huppert/&quot; class=&quot;notion-text-href&quot;&gt;a fan of Isabella Huppert&#39;s films&lt;/a&gt;
  and shared a few good movie recommendations while at it. Eula wrote
  &lt;a href=&quot;https://loreleice.net/notebook/iwc-may2026.html&quot; class=&quot;notion-text-href&quot;&gt;a love letter to Air Groove from Umamusume: Pretty Derby&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  The great outdoors received a few love letters as well. Both
  &lt;a href=&quot;https://jamesg.blog/2026/05/12/walking-6&quot; class=&quot;notion-text-href&quot;&gt;James&lt;/a&gt;
  and
  &lt;a href=&quot;https://axxuy.com/blog/2026/i-love-walking/&quot; class=&quot;notion-text-href&quot;&gt;axxuy&lt;/a&gt;
  wrote about their love for walking outside. Shellsharks enjoys
  &lt;a href=&quot;https://shellsharks.com/outside&quot; class=&quot;notion-text-href&quot;&gt;the outside in general&lt;/a&gt;
  and Frances
  &lt;a href=&quot;https://francescrossley.com/i-love-trees/&quot; class=&quot;notion-text-href&quot;&gt;confessed love to trees specifically&lt;/a&gt;. Thomas wrote
  &lt;a href=&quot;https://object.computer/2026/05/05/a-love-letter-to-bicycles.html&quot; class=&quot;notion-text-href&quot;&gt;a lovely letter to the joy, freedom, solidarity and love of bicycles&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  It&#39;s not a surprise that many people who IndieWeb Carnival reaches are techies
  and that was well reflected in these love letters. Sometimes that journey can
  be bumpy like with Cesar who wrote
  &lt;a href=&quot;https://canro91.github.io/2026/04/29/Coding/&quot; class=&quot;notion-text-href&quot;&gt;a love-hate letter for coding&lt;/a&gt;. Both
  &lt;a href=&quot;https://khleedril.org/blog/2026-05-02--love-letter-to-coders.html&quot; class=&quot;notion-text-href&quot;&gt;Dale&lt;/a&gt;
  and
  &lt;a href=&quot;https://thinkroot.xyz/o-scrisoare-de-multumire-pentru-tehnologie-234&quot; class=&quot;notion-text-href&quot;&gt;ThinkRoot&lt;/a&gt;
  expressed their gratitude to software developers who build open source
  solutions for everyone to enjoy. Sebastian wrote
  &lt;a href=&quot;https://finest.day/posts/re-a-love-letter-to-rss&quot; class=&quot;notion-text-href&quot;&gt;a love letter to RSS&lt;/a&gt;, a sentiment I can personally express as well.
&lt;/p&gt;

&lt;p&gt;
  Steve wrote about
  &lt;a href=&quot;https://tangiblelife.net/a-love-letter&quot; class=&quot;notion-text-href&quot;&gt;his childhood love for typesetting&lt;/a&gt;
  that started when he was 6 years old. Lesley&#39;s
  &lt;a href=&quot;https://lesleylai.info/en/flashcards/&quot; class=&quot;notion-text-href&quot;&gt;love letter was for flashcards and spaced repetition&lt;/a&gt;. For the past decade, Stefan has been building creative online bots and
  wrote about
  &lt;a href=&quot;https://stefanbohacek.com/blog/eight-years-of-sharing-views-from-the-south-pole/&quot; class=&quot;notion-text-href&quot;&gt;what appeals to him about building them and his bot that shares views from
    the South Pole&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Equally common group in the personal web are creatives. Ruben and V.H. wrote
  about photography from two perspectives:
  &lt;a href=&quot;https://www.notion.so/kedara.eu/love-photography-again&quot; class=&quot;notion-text-href&quot;&gt;the love for old school cameras&lt;/a&gt;
  and
  &lt;a href=&quot;https://vhbelvadi.com/photographers-who-inspire-me&quot; class=&quot;notion-text-href&quot;&gt;the inspiration of other photographers&lt;/a&gt;, respectively. Britt wrote
  &lt;a href=&quot;https://britthub.co.uk/a-love-letter-to-creative-spaces/&quot; class=&quot;notion-text-href&quot;&gt;a love letter to creative spaces throughout her life&lt;/a&gt;. Sara&#39;s
  &lt;a href=&quot;https://sarajaksa.eu/2026/05/indieweb-carnival-a-love-letter-to-doing-things-before-you-are-ready/&quot; class=&quot;notion-text-href&quot;&gt;love letter was for doing things before you are ready&lt;/a&gt;
  and a great reminder that to become great at something, you need to start
  somewhere first.
&lt;/p&gt;

&lt;p&gt;
  Zachary wrote
  &lt;a href=&quot;https://zacharykai.net/notes/curiosity&quot; class=&quot;notion-text-href&quot;&gt;a wonderful piece about curiosity&lt;/a&gt;. Two people wrote about music: Ginny wrote
  &lt;a href=&quot;https://littledigitalplumgarden.vercel.app/indie-web-carnival/a-obsessed-with-chinese-music-shows-may-2026-indie-web-carnival/&quot; class=&quot;notion-text-href&quot;&gt;a love letter to Chinese Music Shows&lt;/a&gt;
  and Daniel
  &lt;a href=&quot;https://daniel.industries/2026/05/17/i-love-mycelial-musical-rabbit-holes/&quot; class=&quot;notion-text-href&quot;&gt;went down the mycelial musical rabbit hole&lt;/a&gt;. Leia&#39;s love is for
  &lt;a href=&quot;https://www.leia.cymru/2026/05/19/a-love-letter-to-cosplay/&quot; class=&quot;notion-text-href&quot;&gt;cosplays&lt;/a&gt;
  as expressed in the love letter full of great stories and stunning costumes.
&lt;/p&gt;

&lt;p&gt;
  And then there&#39;s all the others that I couldn&#39;t find a good category for. I
  wrote about
  &lt;a href=&quot;https://hamatti.org/posts/a-love-letter-to-our-library-bus/&quot; class=&quot;notion-text-href&quot;&gt;how I love the library bus that comes to my doorstep every Friday
    afternoon&lt;/a&gt;. Leandro wrote about
  &lt;a href=&quot;https://leandromaciel.blog/2026/05/25/uma-carta-de-amor-aos.html&quot; class=&quot;notion-text-href&quot;&gt;the love for blogging and discovering your own way of writing&lt;/a&gt;. Ben said
  &lt;a href=&quot;https://zl4bv.com/posts/2026-05-31-love-letter-to-autumn/&quot; class=&quot;notion-text-href&quot;&gt;goodbye to autumn that&#39;s making way for winter&lt;/a&gt;. Tony wrote
  &lt;a href=&quot;https://blog.tonytriesstuff.com/my-love-letter-to-newcastle-upon-tyne/&quot; class=&quot;notion-text-href&quot;&gt;a love letter to Newcastle upon Tyne&lt;/a&gt;
  that&#39;s been his home for the past six and a half years. Tabitha wrote about
  &lt;a href=&quot;https://tabitha.computer/2026/05/around-the-arrow/&quot; class=&quot;notion-text-href&quot;&gt;her favourite mug, a broken handle and the Japanese practice of kintsugi&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Finally, Brendan wrote
  &lt;a href=&quot;https://brennan.day/a-love-letter-to-everything/&quot; class=&quot;notion-text-href&quot;&gt;a love letter to everything&lt;/a&gt;. What a grandiouse and wonderful way to end this roundup post.
&lt;/p&gt;

&lt;p&gt;
  34 wonderful love letters. The amount of love expressed and shared is so
  wonderful.
&lt;/p&gt;

&lt;p&gt;
  If you wrote an entry and I failed to mention it and link to it here, please
  get in touch! I tried to double check everything but it is possible that
  through all this, something fell through the cracks and disappeared into the
  void.
&lt;/p&gt;

&lt;hr class=&quot;notion-divider&quot; /&gt;

&lt;p&gt;
  June carnival is hosted by
  &lt;a href=&quot;https://alexhsu.com/en/no-way&quot; class=&quot;notion-text-href&quot;&gt;Alex Hsu on a theme of &quot;No way!?&quot;&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Has anything ever happened in your life that felt like a movie plot twist?
  Something that made you go “&lt;b class=&quot;notion-text-bold&quot;&gt;No way!?&lt;/b&gt;” but
  turned out to be completely true?
&lt;/blockquote&gt;


    </content>
  </entry>
   
  
  <entry>
    <title>Saoirse Ronan Appreciation Week</title>
    <link href="https://hamatti.org/posts/saoirse-ronan-appreciation-week/" />
    <updated>2026-05-30T00:00:00Z</updated>
    <id>https://hamatti.org/posts/saoirse-ronan-appreciation-week/</id>
    <content type="html">
      
&lt;p&gt;
  Saoirse Ronan is one of my favourite actors and I decided to have my very own
  Saiorse Ronan appreciation week, watching
  &lt;s class=&quot;notion-text-strikethrough&quot;&gt;six&lt;/s&gt; five of her movies. Two of them I
  had seen before and four were new ones. I was also planning to watch
  &lt;a href=&quot;https://www.imdb.com/title/tt1667321/&quot; class=&quot;notion-text-href&quot;&gt;On Chesil Beach&lt;/a&gt;
  but I thought I had borrowed it on DVD from the library but actually had
  planned to watch it from the library’s streaming service and managed to use up
  all my loans for the month before watching it.
&lt;/p&gt;

&lt;p&gt;
  I also wanted to write about them because I enjoy reading other people’s posts
  and remarks about movies and discovering new films.
  &lt;a href=&quot;https://hamatti.org/posts/human-curation-over-algorithmic-recommendations/&quot; class=&quot;notion-text-href&quot;&gt;Human curation at its best&lt;/a&gt;. But then I started writing and I have such a hard time figuring out what to
  write about them.
&lt;/p&gt;

&lt;p&gt;
  I don’t want it to be just plot recaps and I want to avoid any kind of major
  spoilers for sure. I’m not any kind of expert on filmmaking, so I don’t have
  big insights on how brilliantly some films are edited or colour graded. I can
  barely identify subtle larger than life undertones from the stories.
&lt;/p&gt;

&lt;p&gt;
  I’m just
  &lt;a href=&quot;https://www.youtube.com/watch?v=lr_vl62JblQ&quot; class=&quot;notion-text-href&quot;&gt;a normal, innocent man&lt;/a&gt;
  who enjoys watching movies and experience great stories. With that said, here
  are the movies I watched during my week-long Saoirse Ronan Appreciation Week.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Monday: Hanna&lt;/h2&gt;

&lt;div class=&quot;movie-card&quot;&gt;
  &lt;div class=&quot;poster&quot;&gt;
    &lt;img src=&quot;https://hamatti.org/assets/img/movie-cards/hanna-poster.webp&quot; alt=&quot;Hanna&quot; /&gt;
  &lt;/div&gt;
  &lt;div class=&quot;info-card&quot;&gt;
    &lt;h3&gt;Hanna &lt;time datetime=&quot;2011&quot;&gt;(2011)&lt;/time&gt;&lt;/h3&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.imdb.com/title/tt0993842/&quot;&gt;&lt;img class=&quot;imdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/imdb.svg&quot; alt=&quot;IMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;6.7/10&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://letterboxd.com/film/hanna/&quot;&gt;&lt;img class=&quot;letterboxd-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/letterboxd.svg&quot; alt=&quot;Letterboxd&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;3.4/5&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.themoviedb.org/movie/50456-hanna&quot;&gt;&lt;img class=&quot;tmdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/tmdb.png&quot; alt=&quot;TMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;66%&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    &lt;p class=&quot;directed-by&quot;&gt;Directed by Joe Wright&lt;/p&gt;
    &lt;p&gt;Starring Saoirse Ronan, Cate Blanchett, Eric Bana&lt;/p&gt;
    &lt;p&gt;
      A sixteen-year-old girl who was raised by her father to be the perfect
      assassin is dispatched on a mission across Europe, tracked by a ruthless
      intelligence agent and her operatives.
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  Hanna is a movie I’ve seen a couple of times before. Since it’s the first
  movie of her that I’ve seen, I figured it’s only appropriate to start this
  week with this movie. Hanna is a CIA agent adventure that hits all the classic
  beats. It runs a lot of parallels with Bourne movies: an agent gone rogue, the
  agency hunting them down, the main character not knowing where they come from
  and a lot of turns and twists.
&lt;/p&gt;

&lt;p&gt;
  At the same time, it’s a story of young Hanna who for the first time in her
  life explores what it would be like to have a normal life as she spends part
  of the movie with a family with a couple of young children.
&lt;/p&gt;

&lt;p&gt;
  The story doesn’t cut quite as deep into its potential and at times, it feels
  there’s bit too many parallel things going on so that there’s not enough time
  to go even deeper into the most interesting bits. Regardless, it’s a solid
  action movie.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Tuesday: Brooklyn&lt;/h2&gt;

&lt;div class=&quot;movie-card&quot;&gt;
  &lt;div class=&quot;poster&quot;&gt;
    &lt;img src=&quot;https://hamatti.org/assets/img/movie-cards/brooklyn-poster.webp&quot; alt=&quot;Brooklyn&quot; /&gt;
  &lt;/div&gt;
  &lt;div class=&quot;info-card&quot;&gt;
    &lt;h3&gt;Brooklyn &lt;time datetime=&quot;2015&quot;&gt;(2015)&lt;/time&gt;&lt;/h3&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.imdb.com/title/tt2381111/&quot;&gt;&lt;img class=&quot;imdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/imdb.svg&quot; alt=&quot;IMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;7.5/10&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://letterboxd.com/film/brooklyn/&quot;&gt;&lt;img class=&quot;letterboxd-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/letterboxd.svg&quot; alt=&quot;Letterboxd&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;3.8/5&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.themoviedb.org/movie/167073-brooklyn&quot;&gt;&lt;img class=&quot;tmdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/tmdb.png&quot; alt=&quot;TMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;73%&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    &lt;p class=&quot;directed-by&quot;&gt;Directed by John Crowley&lt;/p&gt;
    &lt;p&gt;Starring Saoirse Ronan, Emory Cohen, Domhnall Gleeson&lt;/p&gt;
    &lt;p&gt;
      An Irish immigrant lands in 1950s Brooklyn, where she quickly falls into a
      romance with a local. When her past catches up with her, however, she must
      choose between two countries and the lives that exist within.
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  Brooklyn tells the story of Eilis, an Irish girl who moves to Brooklyn, New
  York to chase a better life. It’s a lovely story about growth, finding
  yourself, love, adjusting to other people’s expectations and how living abroad
  changes you and your relationship with your home town and people there.
&lt;/p&gt;

&lt;p&gt;
  While moving across the Atlantic must have been so wildly different in the
  1950s than it was in 2010s, I found some interesting parallels in the story to
  my own journey moving to San Francisco and especially when coming home.
&lt;/p&gt;

&lt;p&gt;
  Saoirse Ronan showcases once again how expressive she is in portraying
  different types of person and how Eilis’ personal growth turns her from a shy
  girl to a confident young woman.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Wednesday: Lady Bird&lt;/h2&gt;

&lt;div class=&quot;movie-card&quot;&gt;
  &lt;div class=&quot;poster&quot;&gt;
    &lt;img src=&quot;https://hamatti.org/assets/img/movie-cards/lady-bird-poster.webp&quot; alt=&quot;Lady Bird&quot; /&gt;
  &lt;/div&gt;
  &lt;div class=&quot;info-card&quot;&gt;
    &lt;h3&gt;Lady Bird &lt;time datetime=&quot;2017&quot;&gt;(2017)&lt;/time&gt;&lt;/h3&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.imdb.com/title/tt4925292/&quot;&gt;&lt;img class=&quot;imdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/imdb.svg&quot; alt=&quot;IMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;7.4/10&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://letterboxd.com/film/lady-bird/&quot;&gt;&lt;img class=&quot;letterboxd-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/letterboxd.svg&quot; alt=&quot;Letterboxd&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;3.8/5&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.themoviedb.org/movie/391713-lady-bird&quot;&gt;&lt;img class=&quot;tmdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/tmdb.png&quot; alt=&quot;TMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;73%&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    &lt;p class=&quot;directed-by&quot;&gt;Directed by Greta Gerwig&lt;/p&gt;
    &lt;p&gt;Starring Saoirse Ronan, Laurie Metcalf, Tracy Letts&lt;/p&gt;
    &lt;p&gt;
      A fiercely independent teenager tries to make her own way in the world
      while wanting to get out of her hometown of Sacramento, California, and to
      get away from her complicated mother and recently-unemployed father.
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  This movie was DARK. Not in tone or story but in lack of lighting. I’m not
  sure if that was my DVD copy’s problem or if every copy of the movie suffers
  from it. So many scenes that had no reason to be dark were so dark I had to
  focus really hard to see what was happening.
&lt;/p&gt;

&lt;p&gt;
  This is the first movie of Saoirse Ronan and Timothée Chalamet. They have such
  wonderful chemistry together both on and off screen.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Thursday: The Outrun&lt;/h2&gt;
&lt;div class=&quot;movie-card&quot;&gt;
  &lt;div class=&quot;poster&quot;&gt;
    &lt;img src=&quot;https://hamatti.org/assets/img/movie-cards/the-outrun-poster.webp&quot; alt=&quot;The Outrun&quot; /&gt;
  &lt;/div&gt;
  &lt;div class=&quot;info-card&quot;&gt;
    &lt;h3&gt;The Outrun &lt;time datetime=&quot;2024&quot;&gt;(2024)&lt;/time&gt;&lt;/h3&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;a href=&quot;http://www.imdb.com/title/tt11687002/&quot;&gt;&lt;img class=&quot;imdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/imdb.svg&quot; alt=&quot;IMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;6.9/10&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://letterboxd.com/film/the-outrun/&quot;&gt;&lt;img class=&quot;letterboxd-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/letterboxd.svg&quot; alt=&quot;Letterboxd&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;3.7/5&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.themoviedb.org/movie/785542-the-outrun/&quot;&gt;&lt;img class=&quot;tmdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/tmdb.png&quot; alt=&quot;TMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;68%&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    &lt;p class=&quot;directed-by&quot;&gt;Directed by Nora Fingscheidt&lt;/p&gt;
    &lt;p&gt;Starring Saoirse Ronan, Paapa Essiedu, Nabil Elouahabi&lt;/p&gt;
    &lt;p&gt;
      After living life on the edge in London, Rona attempts to come to terms
      with her troubled past. Hoping to heal, she returns to the wild beauty of
      Scotland&#39;s Orkney Islands where she grew up.
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  The Outrun is the movie that gave me the idea for this week. I saw it had come
  available in a streaming service I subscribed to so I decided to not only
  watch it but also a bunch of other movies of Ronan’s.
&lt;/p&gt;

&lt;p&gt;
  The Outrun is a great movie. It tells a heavy story of alcoholism and the pain
  it creates. The movie strikes a brilliant balance oscillating between
  contrasting tough moments with joy and recovery. All of that is magnified by
  Saoirse Ronan’s great performance as the main character Rona.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Friday: Little Women&lt;/h2&gt;
&lt;div class=&quot;movie-card&quot;&gt;
  &lt;div class=&quot;poster&quot;&gt;
    &lt;img src=&quot;https://hamatti.org/assets/img/movie-cards/little-women-poster.webp&quot; alt=&quot;Little Women&quot; /&gt;
  &lt;/div&gt;
  &lt;div class=&quot;info-card&quot;&gt;
    &lt;h3&gt;Little Women &lt;time datetime=&quot;2019&quot;&gt;(2019)&lt;/time&gt;&lt;/h3&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;a href=&quot;http://www.imdb.com/title/tt3281548/&quot;&gt;&lt;img class=&quot;imdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/imdb.svg&quot; alt=&quot;IMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;7.8/10&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://letterboxd.com/film/brooklyn/&quot;&gt;&lt;img class=&quot;letterboxd-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/letterboxd.svg&quot; alt=&quot;Letterboxd&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;4.2/5&lt;/td&gt;
        &lt;td&gt;
          &lt;a href=&quot;https://www.themoviedb.org/movie/167073-brooklyn&quot;&gt;&lt;img class=&quot;tmdb-logo&quot; src=&quot;https://hamatti.org/assets/img/movie-cards/tmdb.png&quot; alt=&quot;TMDB&quot; /&gt;&lt;/a&gt;
        &lt;/td&gt;
        &lt;td&gt;79%&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    &lt;p class=&quot;directed-by&quot;&gt;Directed by Greta Gerwig&lt;/p&gt;
    &lt;p&gt;Starring Saoirse Ronan, Emma Watson, Florence Pugh, Eliza Scanlen&lt;/p&gt;
    &lt;p&gt;
      In 19th century Massachusetts, the March sisters--Meg, Jo, Beth, and
      Amy--on the threshold of womanhood, go through many ups and downs in life
      and endeavor to make important decisions about their futures.
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  I’m not usually a big fan of period drama but Little Women has such a stacked
  cast that it’s hard not to love. Saiorse Ronan, Emma Watson, Florence Pugh,
  Timothée Chalamet and Meryl Streep are all such amazing actors and superstars.
&lt;/p&gt;

&lt;p&gt;
  The movie manages to stay on story even with its wide array of main characters
  and plot points.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Happy 10th birthday TurkuSec!</title>
    <link href="https://hamatti.org/posts/happy-10th-birthday-turkusec/" />
    <updated>2026-05-29T00:00:00Z</updated>
    <id>https://hamatti.org/posts/happy-10th-birthday-turkusec/</id>
    <content type="html">
      
&lt;p&gt;
  Today, we celebrated the 10th birthday of a community very dear to my heart,
  &lt;a href=&quot;https://turkusec.fi/&quot; class=&quot;notion-text-href&quot;&gt;TurkuSec&lt;/a&gt;.
&lt;/p&gt;
&lt;figure&gt;
  &lt;img src=&quot;https://hamatti.org/assets/img/posts/happy-10th-birthday-turkusec/1.png.webp&quot; alt=&quot;Ismayil standing next to a makeshift projector screen made of a bed linen. On it, a barely visible slide with title of Welcome to TurkuSec 10 years party &quot; /&gt;
  &lt;figcaption&gt;
    The chair person of TurkuSec, Ismayil opens the evening
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
  To finish the night, I gave a short birthday speech, which roughly went like
  this:
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;Dear TurkuSec, happy 10th birthday!&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;Some of you might know me, some might not. I’m Juhis and 10 years ago I was
    sitting in my office when Shamil came to talk about his idea for a cyber
    security meetup and wanted some encouragement and advice.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;What comes to communities, 10 years is a &lt;/i&gt;&lt;i class=&quot;notion-text-italic&quot;&gt;&lt;b class=&quot;notion-text-bold&quot;&gt;holy shit &lt;/b&gt;&lt;/i&gt;&lt;i class=&quot;notion-text-italic&quot;&gt;scale. Most meetups die before the first event and of those who survive
    that, most die before the second event. Reaching 10 years is wonderful.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;Benjamin talked earlier today about what AI can and cannot do and what we
    can do better than it. This is one of the things we’ll always do better:
    coming together, sharing stories, learning from each other and making
    friends.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;The most impactful thing a community does is when 2 people come to an event
    and meet. Multiply that by 10 years, 100 events and 1000 people and we can
    see the magnificent impact this community has had in the local community.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;Happy 10th anniversary and &lt;/i&gt;&lt;i class=&quot;notion-text-italic&quot;&gt;&lt;b class=&quot;notion-text-bold&quot;&gt;pystyy vetää!&lt;/b&gt;&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Tame your pesky little scripts</title>
    <link href="https://hamatti.org/posts/tame-your-pesky-little-scripts/" />
    <updated>2026-05-27T00:00:00Z</updated>
    <id>https://hamatti.org/posts/tame-your-pesky-little-scripts/</id>
    <content type="html">
      &lt;p&gt;
  &lt;i class=&quot;notion-text-italic&quot;&gt;This blog post started its life as a lightning talk that I&#39;m doing today at &lt;/i&gt;&lt;i class=&quot;notion-text-italic&quot;&gt;&lt;a href=&quot;https://www.meetabit.com/communities/aurajoki-overflow&quot; class=&quot;notion-text-href&quot;&gt;Aurajoki Overflow&lt;/a&gt;&lt;/i&gt;&lt;i class=&quot;notion-text-italic&quot;&gt;&#39;s afterwork. As I worked on the talk, I realised I had a more coherent
    story to tell than I had already planned so now it gets a new life as a blog
    post as well.&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
  &quot;Pesky little scripts&quot; — a term I stole from
  &lt;a href=&quot;https://rednafi.com/misc/pesky-little-scripts/&quot; class=&quot;notion-text-href&quot;&gt;Redowan Delowar&lt;/a&gt;
  — are all those shell scripts and fish functions and shell aliases you write
  to make your own life easier. I don&#39;t know about you, but I have quite a few
  of them and the collection keeps growing.
&lt;/p&gt;

&lt;p&gt;
  But they can get messy to organise, to remember and to run. Especially when
  you start to add more than just shell scripts. My collection is a messy
  amalgamation of bash, zsh, Python, Javascript and Rust scripts. Some of them I
  use daily, others maybe once every two months.
&lt;/p&gt;

&lt;p&gt;
  There are a couple of main ideas that have had a big impact on how I manage
  them and I&#39;ve noticed that the amount of scripts and aliases I write has grown
  immensly after I adopted these.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Namespacing&lt;/h2&gt;

&lt;p&gt;
  In PyCon Argentina 2018, Brandon Rhodes delivered a wonderful keynote
  &lt;a href=&quot;https://www.youtube.com/watch?v=pybtvFFRYFs&quot; class=&quot;notion-text-href&quot;&gt;Activation Energy&lt;/a&gt;. In it, he talked about his journey to figure out ways to reduce the
  activation energy that is needed to do things with software.
&lt;/p&gt;

&lt;p&gt;
  One of the these things was prefixing his custom shell scripts so they would
  be easy to find.
&lt;/p&gt;

&lt;p&gt;
  He started by looking at all the characters he could start his scripts,
  eliminating A-Z and 0-9 as they are commonly used and then eliminating all
  characters that have special meaning in bash shell.
&lt;/p&gt;

&lt;p&gt;He ended up with 6 options:&lt;/p&gt;
&lt;ul class=&quot;notion-bulleted_list&quot;&gt;
  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;code class=&quot;notion-text-code&quot;&gt;@&lt;/code&gt;,
    &lt;code class=&quot;notion-text-code&quot;&gt;_&lt;/code&gt;,
    &lt;code class=&quot;notion-text-code&quot;&gt;+&lt;/code&gt; and
    &lt;code class=&quot;notion-text-code&quot;&gt;:&lt;/code&gt; which all required using a Shift key
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;code class=&quot;notion-text-code&quot;&gt;-&lt;/code&gt; which is a named command in bash
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;code class=&quot;notion-text-code&quot;&gt;,&lt;/code&gt; which was the perfect prefix
  &lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;-&amp;#62; , [tab]
,analytics      ,tcg
,bookmarklet    ,webmention
,confetti       ,webp
,ptest          ,zine&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  By typing &lt;code class=&quot;notion-text-code&quot;&gt;,&lt;/code&gt; and hitting tab, I get
  autocompletions for all my scripts and aliases. As long as their names remind
  me what they do, this is a big improvement over having to think and remember
  what you called you script and then wading through autocompletions of all the
  built-in or 3rd party commands that have been installed in your system.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Shebang (#!)&lt;/h2&gt;

&lt;p&gt;
  Namespacing helps with remembering and finding your scripts but equally
  crucial bit are
  &lt;a href=&quot;https://en.wikipedia.org/wiki/Shebang_%28Unix%29&quot; class=&quot;notion-text-href&quot;&gt;shebangs&lt;/a&gt;. A shebang is when your script starts with
  &lt;code class=&quot;notion-text-code&quot;&gt;#!&lt;/code&gt; and it tells the shell which software
  you want to execute this script with.
&lt;/p&gt;

&lt;p&gt;
  You may have seen &lt;code class=&quot;notion-text-code&quot;&gt;#!/bin/bash&lt;/code&gt; at the
  start of a lot of shell scripts.
&lt;/p&gt;

&lt;p&gt;
  It&#39;s wonderful because it allows me to have a uniform naming scheme for all my
  scripts (no &lt;code class=&quot;notion-text-code&quot;&gt;script_a.py&lt;/code&gt;,
  &lt;code class=&quot;notion-text-code&quot;&gt;script_b.js&lt;/code&gt; and
  &lt;code class=&quot;notion-text-code&quot;&gt;script_c.sh&lt;/code&gt;) or having to run them with
  &lt;code class=&quot;notion-text-code&quot;&gt;python script_a.py&lt;/code&gt; (and so on...).
&lt;/p&gt;

&lt;p&gt;Every script is called by its name as they would be any other commands.&lt;/p&gt;

&lt;pre class=&quot;language-plain text&quot;&gt;&lt;code class=&quot;language-plain text&quot;&gt;#!/bin/bash
#!/opt/homebrew/bin/node
#!/usr/bin/env -S uv run --quiet --script
#!/usr/bin/env rustx&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  In one of our Python meetups, Tero gave an excellent lightning talk from which
  I learned how to build
  &lt;a href=&quot;https://notes.hamatti.org/technology/single-file-executable-python-scripts-with-uv&quot; class=&quot;notion-text-href&quot;&gt;single-file executable Python scripts with dependencies&lt;/a&gt;. Combining that with the correct shebang and suddenly we have a Python
  script that takes care of its own dependencies and is still runnable just as a
  single command.
&lt;/p&gt;

&lt;p&gt;
  Now I can utilize whatever language I feel most comfortable in when solving a
  specific problem. And as a user of my own scripts, I don&#39;t have to think about
  that at all. I recently built a
  &lt;code class=&quot;notion-text-code&quot;&gt;,bookmarklet&lt;/code&gt; script in Javascript that
  takes a filename as an argument, reads the file&#39;s contents and minifies the
  code into a bookmarklet.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;
  Lil&#39; bit of custom tooling
&lt;/h2&gt;

&lt;p&gt;
  One last thing I had to figure out was how to keep my scripts managed. They
  may live in different parts of the filesystem and they may live in folders
  with other scripts that I don&#39;t want to or need to manage.
&lt;/p&gt;

&lt;p&gt;
  So I created a repository called
  &lt;code class=&quot;notion-text-code&quot;&gt;pesky-little-scripts&lt;/code&gt; that has a single
  shell script (&lt;code class=&quot;notion-text-code&quot;&gt;link.sh&lt;/code&gt;) in the root and a
  folder &lt;code class=&quot;notion-text-code&quot;&gt;scripts/&lt;/code&gt; where all my scripts
  live in. That way, I can have all of them in one place and under version
  control without having to do a lot of git excludes.
&lt;/p&gt;

&lt;p&gt;The &lt;code class=&quot;notion-text-code&quot;&gt;link.sh&lt;/code&gt; script is my installer:&lt;/p&gt;

&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;#!/bin/zsh

script=$1
scriptname=$(basename $script)

echo &quot;Making $scriptname executable...&quot;
chmod +x $script

echo &quot;Linking $scriptname to /usr/local/bin...&quot;;
ln -s &quot;$PWD/$script&quot; &quot;/usr/local/bin/$scriptname&quot; # $PWD is needed since it requires an absolute path for the link to work.
rehash # Needed to update zsh cache for new scripts for autocomplete.&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  It makes the script executable (something I always used to forget), then
  creates a symbolic link to
  &lt;code class=&quot;notion-text-code&quot;&gt;/usr/local/bin&lt;/code&gt; where my scripts live in
  and finally, it runs &lt;code class=&quot;notion-text-code&quot;&gt;rehash&lt;/code&gt; to update
  the autocomplete cache so I can start to use the new script immediately.
&lt;/p&gt;

&lt;p&gt;
  Since it does not copy the file but links it, I can do all my future edits in
  this folder, keep track of its history and it will always be at its latest
  version when I run it.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>11 more days time to write a love letter - IndieWeb Carnival</title>
    <link href="https://hamatti.org/posts/11-more-days-to-write-a-love-letter-indieweb-carnival/" />
    <updated>2026-05-20T00:00:00Z</updated>
    <id>https://hamatti.org/posts/11-more-days-to-write-a-love-letter-indieweb-carnival/</id>
    <content type="html">
      
&lt;p&gt;
  Do you want to see more positive things in the world and the web? I’m hosting
  this month’s
  &lt;a href=&quot;https://indieweb.org/IndieWeb_Carnival&quot; class=&quot;notion-text-href&quot;&gt;IndieWeb Carnival&lt;/a&gt;
  and I’m inviting anyone with a blog to write
  &lt;a href=&quot;https://hamatti.org/posts/indieweb-carnival-write-a-love-letter/&quot; class=&quot;notion-text-href&quot;&gt;a love letter&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  This invitation is for
  &lt;b class=&quot;notion-text-bold&quot;&gt;everyone with their own blog. &lt;/b&gt;As long as your
  love letter will be available to read without having to create any accounts or
  to log in anywhere, it’s welcome.
&lt;/p&gt;

&lt;p&gt;
  At the time of writing this, we have 18 wonderful love letters by people from
  around the world (I maintain an updating list in
  &lt;a href=&quot;https://hamatti.org/posts/indieweb-carnival-write-a-love-letter/&quot; class=&quot;notion-text-href&quot;&gt;the original announcement post&lt;/a&gt;). I would love it if you’d join that list!
&lt;/p&gt;
&lt;ul class=&quot;notion-bulleted_list&quot;&gt;
  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://canro91.github.io/2026/04/29/Coding/&quot; class=&quot;notion-text-href&quot;&gt;A Love-Hate Letter to Coding&lt;/a&gt;
    by Cesar Aguirre
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://khleedril.org/blog/2026-05-02--love-letter-to-coders.html&quot; class=&quot;notion-text-href&quot;&gt;Love Letter to Independent Open Source Developers&lt;/a&gt;
    by Dale Mellor
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://rasagy.in/sketchnotes/love-letter-to-indiewebclub/&quot; class=&quot;notion-text-href&quot;&gt;Love Letter to IndieWebClub&lt;/a&gt;
    by Rasagy Sharma
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://www.kaijuville.com/2026/05/05/love-letter-to-the-unknown/&quot; class=&quot;notion-text-href&quot;&gt;Love Letter to the Unknown&lt;/a&gt;
    by Brendan
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://lesleylai.info/en/flashcards/&quot; class=&quot;notion-text-href&quot;&gt;A Love Letter to Flashcards&lt;/a&gt;
    by Lesley Lai
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://christopherhimes.com/blog/2026/05/07/love-letter-to-bacon&quot; class=&quot;notion-text-href&quot;&gt;Love Letter to Bacon&lt;/a&gt;
    by Christopher Himes
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://object.computer/2026/05/05/a-love-letter-to-bicycles.html&quot; class=&quot;notion-text-href&quot;&gt;A love letter to bicycles&lt;/a&gt;
    by Thomas J. Hils
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://andrei.xyz/post/a-love-letter-to-you/&quot; class=&quot;notion-text-href&quot;&gt;A Love Letter to You&lt;/a&gt;
    by Andrei
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://huffstler.github.io/blog/A%20Love%20Letter%20to%20my%20Friends/&quot; class=&quot;notion-text-href&quot;&gt;A Love Letter to my Friends&lt;/a&gt;
    by Pat
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://jamesg.blog/2026/05/12/walking-6&quot; class=&quot;notion-text-href&quot;&gt;Walking&lt;/a&gt;
    by James
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://hamatti.org/posts/a-love-letter-to-our-library-bus/&quot; class=&quot;notion-text-href&quot;&gt;A love letter to our library bus&lt;/a&gt;
    by me
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://shellsharks.com/outside&quot; class=&quot;notion-text-href&quot;&gt;Outside.&lt;/a&gt;
    by Shellsharks
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://kedara.eu/love-photography-again&quot; class=&quot;notion-text-href&quot;&gt;Falling in love with photography again&lt;/a&gt;
    by Ruben Verweij
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://finest.day/posts/re-a-love-letter-to-rss&quot; class=&quot;notion-text-href&quot;&gt;Re: A Love Letter To RSS&lt;/a&gt;
    by Sebastian
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://brennan.day/a-love-letter-to-everything/&quot; class=&quot;notion-text-href&quot;&gt;A Love Letter to Everything&lt;/a&gt;
    by Brennan Kenneth Brown
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://daniel.industries/2026/05/17/i-love-mycelial-musical-rabbit-holes/&quot; class=&quot;notion-text-href&quot;&gt;I Love Mycelial Musical Rabbit Holes&lt;/a&gt;
    by Daniel
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://loreleice.net/notebook/iwc-may2026.html&quot; class=&quot;notion-text-href&quot;&gt;A love letter to Air Groove&lt;/a&gt;
    by Eula
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://www.leia.cymru/2026/05/19/a-love-letter-to-cosplay/&quot; class=&quot;notion-text-href&quot;&gt;A love letter to cosplay&lt;/a&gt;
    by Leia
  &lt;/li&gt;
&lt;/ul&gt;


    </content>
  </entry>
   
  
  <entry>
    <title>Even the dogs have started to notice</title>
    <link href="https://hamatti.org/posts/even-the-dogs-have-started-to-notice/" />
    <updated>2026-05-16T00:00:00Z</updated>
    <id>https://hamatti.org/posts/even-the-dogs-have-started-to-notice/</id>
    <content type="html">
      &lt;p&gt;
  The past three weeks, I’ve been shouting my good feelings into the aether. The
  other day,
  &lt;a href=&quot;https://mastodon.world/@hamatti/116562599019309194&quot; class=&quot;notion-text-href&quot;&gt;I tooted&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I have regained&lt;br /&gt;&lt;br /&gt;
happiness in my mornings,&lt;br /&gt;
clarity in my thoughts,&lt;br /&gt;
creativity in my writing,&lt;br /&gt;
passion for my projects&lt;br /&gt;
and kindness in my interactions with people.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
  It’s incredible how swift and complete 180 my life has been lately after
  making some drastic changes to it.
&lt;/p&gt;

&lt;p&gt;
  For the longest time, I thought I was mostly keeping the sadness and
  gloominess inside me but I guess that wasn’t quite through. When you feel
  good, you glow it to everything around you. I’ve found myself having great
  discussions with my neighbours that I haven’t really talked with in the three
  years I’ve lived here.
&lt;/p&gt;

&lt;p&gt;
  The biggest surprise has been the dogs though. Somehow,
  &lt;b class=&quot;notion-text-bold&quot;&gt;they have started to notice this shift&lt;/b&gt;. My
  neighbour’s dog that has been ignoring me for these years was jumping on my
  leg, wagging its tail in pure happiness the other day and got a well-deserved
  pat on the head. The day after that, two other dogs came to say hi to me when
  I was waiting for a bus.
&lt;/p&gt;

&lt;p&gt;They must be sensing something changing in me.&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>A love letter to our library bus</title>
    <link href="https://hamatti.org/posts/a-love-letter-to-our-library-bus/" />
    <updated>2026-05-13T00:00:00Z</updated>
    <id>https://hamatti.org/posts/a-love-letter-to-our-library-bus/</id>
    <content type="html">
      &lt;p&gt;
  I’m hosting this month’s
  &lt;a href=&quot;https://indieweb.org/IndieWeb_Carnival&quot; class=&quot;notion-text-href&quot;&gt;IndieWeb Carnival&lt;/a&gt;
  and I invited everyone with a blog to
  &lt;a href=&quot;https://hamatti.org/posts/indieweb-carnival-write-a-love-letter&quot; class=&quot;notion-text-href&quot;&gt;write a love letter to something or someone they care about&lt;/a&gt;. In the turbulent times where the Internet is being bombarded by hate speech
  and negative news, I want to sparkle more kindness and positivity to combat
  that. &lt;strong&gt;There&#39;s still time to write until the end of month and I&#39;d love to read yours!&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
  Ever since I learned to read (or probably even before that), I’ve been a
  library geek. We went to our local library regularly and I’d always carry a
  big pile of books home to read and plunge into adventure after adventure. As a
  kid, I’d read multiple books a week and especially loved larger than life epic
  fantasy or scifi adventures.
&lt;/p&gt;

&lt;p&gt;
  As I’ve grown up and life has become busier with work, my reading habits have
  taken a dip worse the worse but I still try to enjoy reading whenever I can.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;I love our library bus&lt;/h2&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/a-love-letter-to-our-library-bus/1.png.webp&quot; alt=&quot;A library bus on a sunny early spring afternoon parked on a parking lot. &quot; /&gt;
&lt;p&gt;
  Every Friday afternoon, a library bus comes visit our neighbourhood. It’s not
  an absolute necessity to me as the main library is a short bus ride away but I
  visit it every other Friday.
&lt;/p&gt;

&lt;p&gt;
  I love a library bus as a concept. A bus full of books, DVDs and CDs comes to
  my neighbourhood and I can pick up anything I want for free. The regular pace
  of two weeks between visits gives me a good boundary that leads to me reading
  more. The limited collection makes it easier to give into the randomness to
  discover new things.
&lt;/p&gt;

&lt;p&gt;
  Its schedule is perfect. Friday afternoon makes it a great break off point
  from the work week and start of a weekend. I finish whatever I’ve been working
  on, close my work laptop and shut down my work phone. I pick up my previously
  borrowed books and DVDs and head out. During warm enough months, I usually
  head out there 10 minutes before to just sit and enjoy the nature and mentally
  unwind from the week.
&lt;/p&gt;

&lt;p&gt;
  I see the bus turn from the main road to our area and settle in to its slot.
  There’s usually a small crowd waiting — I’m not the only one in the
  neighbourhood who loves the bus — and we squeeze into the bus to return our
  items and to browse through the shelves for new adventures to delight us.
&lt;/p&gt;

&lt;p&gt;
  The bus’s interior isn’t big but it packs a lot of books inside. You need to
  be conscious of other people in the space as there’s not too much extra space
  to move around. It’s a great place to meet people who live in the
  neighbourhood. From young kids to the elderly, the bus is
  &lt;a href=&quot;https://notes.hamatti.org/thoughts/third-places&quot; class=&quot;notion-text-href&quot;&gt;a third place&lt;/a&gt;
  that comes to visit you rather than the other way around.
&lt;/p&gt;

&lt;p&gt;
  I often find myself day dreaming of the perfect library bus. One that in
  addition to being a place to borrow books from would have some sort of social
  space to hang out. In my head, I imagine a modified bus that, when parked,
  expands into a small terrace with chairs and tables to sit down and read and
  chat with others. Something that wouldn’t visit for just 30 minutes but maybe
  a few hours or half a day. A place that would be a great mobile gathering spot
  in a less busy life.
&lt;/p&gt;

&lt;p&gt;
  It might not be realistic right now but just like
  &lt;a href=&quot;https://hamatti.org/posts/a-lighthouse/&quot; class=&quot;notion-text-href&quot;&gt;a lighthouse&lt;/a&gt;, it’s
  something I can experience in my mind when I need an escape from the
  capitalist hustle culture.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Practicing writing about games</title>
    <link href="https://hamatti.org/posts/practicing-writing-about-games/" />
    <updated>2026-05-06T00:00:00Z</updated>
    <id>https://hamatti.org/posts/practicing-writing-about-games/</id>
    <content type="html">
      &lt;p&gt;
  My favourite way to discover new things is
  &lt;a href=&quot;https://hamatti.org/posts/human-curation-over-algorithmic-recommendations/&quot; class=&quot;notion-text-href&quot;&gt;by other people&lt;/a&gt;. I don’t want to find my next game through an algorithm that looks at what
  I’ve played and what others have played and by making weird conclusions that
  we must like the same things. I really enjoy reading or watching when other
  people discuss games they’ve enjoyed and why and explain or show the unique
  elements and what makes the game interesting.
&lt;/p&gt;

&lt;p&gt;
  I’m not interested in nor find much value in numeric reviews because they are
  so arbitrary. We have wildly different internal schemas of what “8/10” means
  for a video game but even if our scales align, we will like things for things
  reasons. That’s why writing about the games from different perspectives is so
  important.
&lt;/p&gt;

&lt;p&gt;
  I want to add my own contribution to this network of ideas. For the longest
  time though, I have strongly disliked my writing about games. Whether I call
  them “reviews” or something else, I have a tendency to think that I need to
  explain all the rules and mechanics and everything else with such detail that
  the outcome starts to feel mechanical, boring and something that doesn’t
  really offer anything interesting for the reader.
&lt;/p&gt;

&lt;p&gt;
  I started practicing last year after discovering a local library’s
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/helmet-gaming-challenge&quot; class=&quot;notion-text-href&quot;&gt;Helmet Gaming Challenge&lt;/a&gt;
  and continued with
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/helmet-gaming-challenge-2026&quot; class=&quot;notion-text-href&quot;&gt;this year’s challenge&lt;/a&gt;. I wanted to bring attention to the fun challenge by not only keeping a
  checklist of games I played but by writing about them so that the list would
  actually be useful and not just an act of a completionist mind.
&lt;/p&gt;

&lt;p&gt;
  It has brought two things to my life: I’ve played games with more intention
  and I’ve written about the games in new ways.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/practicing-writing-about-games/1.png.webp&quot; alt=&quot;A cute, orange video game cat sleeping on a pillow next to a robot musician who is playing a makeshift guitar made from a gas canister. The robot&#39;s face is three music notes. They are both in front of a closed garage door that has bunch of posters and graffiti on it. &quot; /&gt;
&lt;p&gt;
  With notes like
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/firewatch&quot; class=&quot;notion-text-href&quot;&gt;Firewatch&lt;/a&gt;
  and
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/stray&quot; class=&quot;notion-text-href&quot;&gt;Stray&lt;/a&gt;, I’ve explored the idea of talking about them more through emotions and
  experiences rather than information dumps. Others, like
  &lt;a href=&quot;https://notes.hamatti.org/gaming/board-games/wingspan&quot; class=&quot;notion-text-href&quot;&gt;Wingspan&lt;/a&gt;, have more mechanics explanations which tends to come through more in board
  games when players are responsible for running the mechanics and that can be
  an important factor in choosing a game.
&lt;/p&gt;

&lt;p&gt;
  One thing I’d like to have more is screenshots of the games but I mostly play
  either on consoles or on Steam Deck and I haven’t quite yet figured out a good
  way to get screenshots from those into my blog in a way that wouldn’t be such
  a hassle than it currently is. So I’ve been using limited amount of images,
  mostly from company press kits or other sources that allow sharing them but
  there’s not always the ones that I would like to have. (The image above from
  Straw I took with my phone from the screen because it was too good to pass.)
&lt;/p&gt;

&lt;p&gt;
  In
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/the-last-of-us-part-ii&quot; class=&quot;notion-text-href&quot;&gt;The Last of Us Part II&lt;/a&gt;, there’s one moment that I really wanted to talk about but to really get to
  the core of what I wanted to say required the reader to be able to see,
  preferably in a short video format, what I was seeing so I could talk about
  what my experiences were and why the experience was such an emotionally
  impactful.
&lt;/p&gt;

&lt;p&gt;
  I’ve also been writing really short bits about games and individual sub-pieces
  about games in my
  &lt;a href=&quot;https://zine.hamatti.org/&quot; class=&quot;notion-text-href&quot;&gt;experimental board and card game zine Roll the Zine&lt;/a&gt;. The format sets its own restrictions and I’ve been intentionally trying to
  make this zine to be in a format that I wouldn’t normally write in to
  challenge my creativity and storytelling.
&lt;/p&gt;

&lt;p&gt;
  An unexpected outcome from this experiment has been how it has changed my
  relationship with gaming lately. I’ve been playing with more intention and
  focus. The gaming challenge’s categories have driven me to look for games that
  fall outside my usual categories (or to bend the meaning of words to make a
  game I want to play to fit into a category). Since I’ve decided I’ll write
  about the games I enjoy playing
&lt;/p&gt;

&lt;p&gt;
  When I was younger, I was part of a gaming forum where we played online sports
  game tournaments and wrote reports of the games. Back then, I loved going full
  on roleplaying on the concept. I wasn’t writing about me playing a video game
  with a fellow human. I wrote about it in-universe as if the virtual players
  were real and the games were real and I was a sports journalist. That was a
  lot of fun because adding that layer of storytelling on top of relatively
  bland platform allowed near unlimited imagination.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>I tell about my blog to anyone willing to listen</title>
    <link href="https://hamatti.org/posts/i-tell-about-my-blog-to-anyone-willing-to-listen/" />
    <updated>2026-05-02T00:00:00Z</updated>
    <id>https://hamatti.org/posts/i-tell-about-my-blog-to-anyone-willing-to-listen/</id>
    <content type="html">
      
&lt;p&gt;
  &lt;a href=&quot;https://forkingmad.blog/who-knows-that-you-blog/&quot; class=&quot;notion-text-href&quot;&gt;David at Forking Mad asked&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Question for the audience: Do you tell people you blog?
&lt;/blockquote&gt;

&lt;p&gt;
  He talks about his adversity towards sharing their blog with offline friends.
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  &lt;p&gt;
    I was reflecting on this recently, after I inadvertently mentioned to a
    colleague that I had blogged about a topic a few days earlier. That, of
    course, started the questioning from them: Oh, what&#39;s it called? What do you
    write about? Can I see it?
  &lt;/p&gt;
  &lt;p&gt;
    I reluctantly recited the web address. I have no idea if they did/will look.
    But then I wondered: Why was I so restrained to promote my blog to a
    real-life-person-type.
  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  I’m completely the opposite. I tell everybody about my blog if they are
  willing to listen. And the fun part is that people tell me they read my blog.
  Latest this Tuesday I told my colleagues about my blog when we had a
  discussion about blogs.
&lt;/p&gt;

&lt;p&gt;
  It’s happened more than a few times that someone comes to talk to me in a pub
  or bar and tells me they enjoy reading my blog. I love it!
&lt;/p&gt;

&lt;p&gt;
  Two years ago, bacardi55 whose blog has since disappeared from the web
  pondered the same question:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  But then I asked myself, who, In Real Life, knows that I’m blogging (or
  gemlogging)? Not counting people I met online first that knew “bacardi55
  before firstname”, but only the opposite… Well, I think only one of my best
  friend (and now my partner, but my friend knew before) knows. The main reason
  he was aware is because I once shared with him a gemlog article I wrote… Not
  sure which one but not a technical one.
&lt;/blockquote&gt;

&lt;p&gt;
  Both of them write their blog under a pseudonym and I wonder how much of a
  difference does that make since I write under my legal name. Thus, there’s no
  secret that this blog is my blog.
&lt;/p&gt;

&lt;p&gt;
  &lt;a href=&quot;https://thatalexguy.dev/re-who-knows-that-you-blog&quot; class=&quot;notion-text-href&quot;&gt;Alex shares David’s reluctance&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  For me, the reluctance is similar to David&#39;s. This blog is my space to write
  what&#39;s on my mind in my own little vacuum. It&#39;s disconnected from the
  expectations of real life, and a more real reflection of myself versus the
  &quot;masks&quot; I wear IRL. It&#39;s a playground, a place to rant and a place to nerd
  out.
&lt;/blockquote&gt;

&lt;p&gt;
  For me, a blog is not in any way disconnected from my daily life — quite the
  opposite. I often blog about the things that happen in real life and about
  things I learn at work or hobbies and those same topics come up all the time
  later so I share my posts to people when they are relevant.
&lt;/p&gt;

&lt;p&gt;
  I do
  &lt;a href=&quot;https://kevquirk.com/who-knows-that-you-blog&quot; class=&quot;notion-text-href&quot;&gt;something similar though as Kev&lt;/a&gt;
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  When people ask me about my hobbies, I tend to say
  &lt;i class=&quot;notion-text-italic&quot;&gt;&quot;I enjoy writing&quot;&lt;/i&gt; rather than
  &lt;i class=&quot;notion-text-italic&quot;&gt;&quot;I have a blog.&quot;&lt;/i&gt; And I think that&#39;s because
  of the negative connotations blogging has with the general public.
&lt;/blockquote&gt;

&lt;p&gt;
  For me, &lt;i class=&quot;notion-text-italic&quot;&gt;writing&lt;/i&gt; is definitely the hobby and
  interest of mine and &lt;i class=&quot;notion-text-italic&quot;&gt;blog&lt;/i&gt; is just one of the
  formats and mediums I use to write. I also journal,
  &lt;a href=&quot;https://notes.hamatti.org/&quot; class=&quot;notion-text-href&quot;&gt;write notes&lt;/a&gt;,
  &lt;a href=&quot;https://zine.hamatti.org/&quot; class=&quot;notion-text-href&quot;&gt;write a zine&lt;/a&gt;
  and occasionally dabble in fiction writing.
&lt;/p&gt;

&lt;p&gt;
  Kai chimed in with
  &lt;a href=&quot;https://kaigulliksen.com/re-who-knows-that-you-blog/&quot; class=&quot;notion-text-href&quot;&gt;a similar story to the others&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Who knows that I blog? Of the people I know and interact with regularly in
  person I can think of exactly two people that know I have a blog—my missus and
  one of my closest friends who I share a lot of interests in common with.
&lt;/blockquote&gt;

&lt;p&gt;
  Reading through all these stories, I wonder how my social circles are so
  different from others. Many mention that their friends don’t share the same
  interests as them and I’m pretty much exactly the opposite once again. Most of
  my friends are people who do share my interests and that’s how we’ve become
  friends in the first place.
&lt;/p&gt;

&lt;p&gt;
  Gordon wrote about
  &lt;a href=&quot;https://www.gordonmclean.co.uk/2026/04/29/who-knows-that-you-blog/&quot; class=&quot;notion-text-href&quot;&gt;how blogging is something people might not quite understand&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  &lt;p&gt;
    If asked very comfortable telling people I have a blog but it wasn’t always
    like that. There was a definite secret guilt about blogging, largely because
    it wasn’t really fully understood unless you were a blogger too. Like, “why
    do people spend all that money on cycling, I don’t get it”, says the person
    who then went on to try a better bike and fall involve with the child-like
    joy of cycling —that person is me, BTW.
  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  These days my readership has grown to a size where it’s not feasible to know
  everyone but for many years in the early days, I think at least 90% of the
  people who read my blog — like my mom — were people who I knew in real life.
&lt;/p&gt;

&lt;p&gt;
  The same goes for the blogs I read as well. I love reading my friends’ blogs
  and out of all the blogs I regularly follow, I know a good amount of the
  people behind them offline as well.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>IndieWeb Carnival May 2026: Write a love letter</title>
    <link href="https://hamatti.org/posts/indieweb-carnival-write-a-love-letter/" />
    <updated>2026-04-29T00:00:00Z</updated>
    <id>https://hamatti.org/posts/indieweb-carnival-write-a-love-letter/</id>
    <content type="html">
      
&lt;p&gt;Hello internet friend!&lt;/p&gt;

&lt;p&gt;
  It’s my time to host
  &lt;a href=&quot;https://indieweb.org/IndieWeb_Carnival&quot; class=&quot;notion-text-href&quot;&gt;IndieWeb Carnival&lt;/a&gt;
  (&lt;a href=&quot;https://hamatti.org/posts/indie-web-carnival-may-2024-creative-environments/&quot; class=&quot;notion-text-href&quot;&gt;again&lt;/a&gt;) and in these trying times, I want to bring more kindness and positivity
  into the web and blogosphere.
&lt;/p&gt;

&lt;p&gt;
  So, my theme for the month is a
  &lt;b class=&quot;notion-text-bold&quot;&gt;love letter.&lt;/b&gt; You’re free to interpret that as
  you wish — it’s your blog you’re publishing it in after all.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;
    May is over, you can read my

    &lt;a href=&quot;https://hamatti.org/posts/indieweb-carnival-may-2026-roundup-of-love-letters&quot;&gt;roundup post&lt;/a&gt;
    of all the entries.
  &lt;/strong&gt;
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;The topic: A love letter&lt;/h2&gt;

&lt;p&gt;
  Is there someone or something that you appreciate but maybe haven’t expressed
  your love for it recently? &lt;b class=&quot;notion-text-bold&quot;&gt;A love letter&lt;/b&gt; could
  be an expression of appreciation for someone who’s had a positive impact on
  your life or sharing a piece of art, media, software or something else you
  enjoy so more people can discover it.
&lt;/p&gt;

&lt;p&gt;
  This is an invitation for you to unapologetically geek out about something
  you’re passionate about.
  &lt;a href=&quot;https://roytang.net/2023/06/write-anything/&quot; class=&quot;notion-text-href&quot;&gt;I quote Roy Tang&lt;/a&gt;
  (emphasis mine):
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Recently a friend who is a very serious figure in certain business circles
  started tweeting about one of her fandom &quot;ships&quot;. Later on she mentioned that
  some people had suggested she set up an &quot;alt&quot; account for her fandom stuff
  because it &quot;detracts from her image&quot;. Her response: &quot;Thanks but I don&#39;t think
  any of my fandoms detract anything from my accomplishments.
  &lt;b class=&quot;notion-text-bold&quot;&gt;Normalize being true to your geeky fanfic reading die hard shipper self AND
    kicking ass.&lt;/b&gt;”
&lt;/blockquote&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;
  What is Indie Web Carnival?
&lt;/h2&gt;

&lt;p&gt;
  &lt;b class=&quot;notion-text-bold&quot;&gt;&lt;a href=&quot;https://indieweb.org/indieweb-carnival&quot; class=&quot;notion-text-href&quot;&gt;Indie Web Carnival&lt;/a&gt;&lt;/b&gt;&lt;b class=&quot;notion-text-bold&quot;&gt; &lt;/b&gt;is a monthly blogging event in the Indie Web
  community where each month a different person hosts the month: they select a
  topic, collect submissions and write a roundup post at the end.
&lt;/p&gt;

&lt;p&gt;
  For an individual blogger, it’s a great opportunity to write more and explore
  topics you might not otherwise explore. It’s also a great way to find new
  bloggers and expand your views on topics as you get to read other people’s
  writing on the same topic that you just did.
&lt;/p&gt;

&lt;p&gt;
  Whether you are an active blogger or not, I invite you to join. Maybe this is
  the prompt that gets you back to your writing practice to write and publish
  more.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;How to participate?&lt;/h2&gt;

&lt;p&gt;
  You can participate by writing (or recording) and publishing your thoughts
  about the topic and sharing a link with me. At the end of the month, I’ll
  collect all the submissions into a wrap-up post and you get to learn what
  other people around the globe think about the topic.
&lt;/p&gt;

&lt;p&gt;
  Your piece should be published in May 2026 and shared with me at latest
  Sunday, May 31st.
&lt;/p&gt;

&lt;p&gt;
  The format can be anything that’s shareable and accessible in the open web:
  blog posts, videos, podcasts, poems, short stories, illustrations, photos, you
  name it. It should be available for people to read without creating accounts
  or subscribing to anything.
&lt;/p&gt;

&lt;p&gt;To submit your piece, you can:&lt;/p&gt;
&lt;ul class=&quot;notion-bulleted_list&quot;&gt;
  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    email a link to it to me at juhamattisantala@gmail.com
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    send a link to it to me in Mastodon at
    &lt;a href=&quot;https://mastodon.world/@hamatti&quot; class=&quot;notion-text-href&quot;&gt;https://mastodon.world/@hamatti&lt;/a&gt;
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    send a web mention for this post to
    &lt;a href=&quot;https://webmention.io/hamatti.org/webmention&quot; class=&quot;notion-text-href&quot;&gt;https://webmention.io/hamatti.org/webmention&lt;/a&gt;
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    send a link to it to me in any community we share
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    send a message in a bottle (although I can’t guarantee if one will find me
    in time)
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Submissions&lt;/h2&gt;

&lt;p&gt;
  Once the submissions start rolling in, I’ll keep an updated list of all
  entries in the list below. If you’ve sent me one but it doesn’t show up on the
  list in a day or two, try reaching out again! It’s possible your message has
  disappeared into spam filters or fallen through the cracks into the void.
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://canro91.github.io/2026/04/29/Coding/&quot;&gt;A Love-Hate Letter to Coding&lt;/a&gt;
    by Cesar Aguirre
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://khleedril.org/blog/2026-05-02--love-letter-to-coders.html&quot;&gt;Love Letter to Independent Open Source Developers&lt;/a&gt;
    by Dale Mellor
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://rasagy.in/sketchnotes/love-letter-to-indiewebclub/&quot;&gt;Love Letter to IndieWebClub&lt;/a&gt;
    by Rasagy Sharma
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://www.kaijuville.com/2026/05/05/love-letter-to-the-unknown/&quot;&gt;Love Letter to the Unknown&lt;/a&gt;
    by Brendan
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://lesleylai.info/en/flashcards/&quot;&gt;
      A Love Letter to Flashcards&lt;/a&gt;
    by Lesley Lai
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://christopherhimes.com/blog/2026/05/07/love-letter-to-bacon&quot;&gt;Love Letter to Bacon&lt;/a&gt;
    by Christopher Himes
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://object.computer/2026/05/05/a-love-letter-to-bicycles.html&quot;&gt;A love letter to bicycles&lt;/a&gt;
    by Thomas J. Hils
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://andrei.xyz/post/a-love-letter-to-you/&quot;&gt;A Love Letter to You&lt;/a&gt;
    by Andrei
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://huffstler.github.io/blog/A%20Love%20Letter%20to%20my%20Friends/&quot;&gt;
      A Love Letter to my Friends&lt;/a&gt;
    by Pat
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://jamesg.blog/2026/05/12/walking-6&quot;&gt;Walking&lt;/a&gt; by James
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://hamatti.org/posts/a-love-letter-to-our-library-bus/&quot;&gt;A love letter to our library bus&lt;/a&gt;
    by me
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://shellsharks.com/outside&quot;&gt;Outside.&lt;/a&gt; by Shellsharks&lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://kedara.eu/love-photography-again&quot;&gt;Falling in love with photography again&lt;/a&gt;
    by Ruben Verweij
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://finest.day/posts/re-a-love-letter-to-rss&quot;&gt;Re: A Love Letter To RSS&lt;/a&gt;
    by Sebastian
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://brennan.day/a-love-letter-to-everything/&quot;&gt;A Love Letter to Everything&lt;/a&gt;
    by Brennan Kenneth Brown
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://daniel.industries/2026/05/17/i-love-mycelial-musical-rabbit-holes/&quot;&gt;I Love Mycelial Musical Rabbit Holes&lt;/a&gt;
    by Daniel
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://loreleice.net/notebook/iwc-may2026.html&quot;&gt;A love letter to Air Groove&lt;/a&gt;
    by Eula
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://www.leia.cymru/2026/05/19/a-love-letter-to-cosplay/&quot;&gt;A love letter to cosplay&lt;/a&gt;
    by Leia
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://robida.net/entries/2026/05/21/a-love-letter-to-mornings&quot;&gt;A love letter to mornings&lt;/a&gt;
    by Beto Dealmeida
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://littledigitalplumgarden.vercel.app/indie-web-carnival/a-obsessed-with-chinese-music-shows-may-2026-indie-web-carnival/&quot;&gt;A. Obsessed with Chinese Music Shows - May 2026 Indie Web Carnival&lt;/a&gt;
    by Ginny
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://leandromaciel.blog/2026/05/25/uma-carta-de-amor-aos.html&quot;&gt;Uma carta de amor aos blogs&lt;/a&gt;
    by Leandro Maciel
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://francescrossley.com/i-love-trees/&quot;&gt;I love trees&lt;/a&gt; by
    Frances
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://thinkroot.xyz/o-scrisoare-de-multumire-pentru-tehnologie-234&quot;&gt;O scrisoare de mulțumire pentru tehnologie&lt;/a&gt;
    by ThinkRoot
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://zacharykai.net/notes/curiosity&quot;&gt;Curiosity As A Form Of Life-Giving&lt;/a&gt;
    by Zachary Kai
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://sarajaksa.eu/2026/05/indieweb-carnival-a-love-letter-to-doing-things-before-you-are-ready/&quot;&gt;IndieWeb Carnival: A love letter to doing things before you are ready&lt;/a&gt;
    by Sara Jakša
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://vhbelvadi.com/photographers-who-inspire-me&quot;&gt;Photographers who inspire me&lt;/a&gt;
    by V.H. Belvadi
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://britthub.co.uk/a-love-letter-to-creative-spaces/&quot;&gt;A Love Letter To Creative Spaces&lt;/a&gt;
    by Britt Coxon
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://tangiblelife.net/a-love-letter&quot;&gt;A Love Letter&lt;/a&gt; by Steve
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://winther.sysctl.dk/a-love-letter-to-isabelle-huppert/&quot;&gt;A love letter to Isabelle Huppert&lt;/a&gt;
    by winther
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://zl4bv.com/posts/2026-05-31-love-letter-to-autumn/&quot;&gt;A love letter to autumn&lt;/a&gt;
    by Ben Vidulich
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://stefanbohacek.com/blog/eight-years-of-sharing-views-from-the-south-pole/&quot;&gt;Eight years of sharing views from the South Pole&lt;/a&gt;
    by Stefan Bohacek
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://blog.tonytriesstuff.com/my-love-letter-to-newcastle-upon-tyne/&quot;&gt;My Love Letter to Newcastle upon Tyne&lt;/a&gt;
    by Tony
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://tabitha.computer/2026/05/around-the-arrow/&quot;&gt;Around The Arrow&lt;/a&gt;
    by Tabitha
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;https://axxuy.com/blog/2026/i-love-walking/&quot;&gt;I Love Walking&lt;/a&gt; by
    Axxuy
  &lt;/li&gt;
&lt;/ul&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>I have been tempted by AYN Thor — but I have AYN Thor at home</title>
    <link href="https://hamatti.org/posts/i-have-been-tempted-by-ayn-thor-but-i-have-ayn-thor-at-home/" />
    <updated>2026-04-22T00:00:00Z</updated>
    <id>https://hamatti.org/posts/i-have-been-tempted-by-ayn-thor-but-i-have-ayn-thor-at-home/</id>
    <content type="html">
      
&lt;img src=&quot;https://hamatti.org/assets/img/posts/i-have-been-tempted-by-ayn-thor-but-i-have-ayn-thor-at-home/1.png.webp&quot; alt=&quot;Two AYN Thor clamshell handheld devices. Both of them are open: one is facing the camera exposing its two screens and controllers and the other facing away from the camera showing its backside. &quot; /&gt;
&lt;p&gt;
  &lt;a href=&quot;https://www.ayntec.com/products/ayn-thor&quot; class=&quot;notion-text-href&quot;&gt;AYN Thor&lt;/a&gt;
  is a clamshell Android gaming device that’s been at the height of the hype
  cycle for a good while. Everyone in the web who keeps talking about handheld
  devices is raving about it. They have been tempting me.
&lt;/p&gt;

&lt;p&gt;
  First of all, I love a clamshell form factor. Nintendo 3DS was a big favourite
  of mine on its heyday. But like with so many older consoles, the hardware
  isn’t that desirable anymore. Especially the lack of USB-C charging port is
  keeping me from going back to 3DS. That’s why Thor is so interesting. It’s a
  modern take on a classic design.
&lt;/p&gt;

&lt;p&gt;
  Now,
  &lt;a href=&quot;https://hamatti.org/posts/lets-talk-about-steam-deck/&quot; class=&quot;notion-text-href&quot;&gt;I already have Steam Deck&lt;/a&gt;
  as my handheld device and I’m really happy with it. The one thing that tempts
  me though is that Steam Deck isn’t exactly small. It’s fantastic for any
  longer trips but I don’t have it with me every time I leave home and I’ve been
  low key wanting something that would allow me comfortably play retro games on
  the go during trips where I don’t bring Steam Deck with me.
&lt;/p&gt;

&lt;p&gt;
  Luckily, before I gave up and ordered one, I learned that RetroArch emulation
  app had been published
  &lt;a href=&quot;https://apps.apple.com/us/app/retroarch/id6499539433&quot; class=&quot;notion-text-href&quot;&gt;on App Store&lt;/a&gt;
  for iOS and after an evening of tinkering, I was up and running with
  &lt;a href=&quot;https://www.retroarch.com/&quot; class=&quot;notion-text-href&quot;&gt;RetroArch&lt;/a&gt;
  and
  &lt;a href=&quot;https://www.8bitdo.com/sn30-pro-g-classic-or-sn30-pro-sn/&quot; class=&quot;notion-text-href&quot;&gt;8BitDo’s SN30 Pro controller&lt;/a&gt;
  on iPad and seriously, it’s been fantastic.
&lt;/p&gt;

&lt;p&gt;
  I always keep my iPad with me already and its large screen is very enjoyable
  for gaming. For (3)DS games, I can turn it to portrait mode and have massive
  screen estate for the two screens. SN30+ Pro is a fantastic controller, maybe
  my all time favourite and with
  &lt;a href=&quot;https://www.printables.com/model/20173-8bitdo-sn30pro-analog-stick-cover/&quot; class=&quot;notion-text-href&quot;&gt;a 3D printed cover&lt;/a&gt;
  to protect the thumbsticks, I feel comfortable packing it with me wherever I
  go.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/i-have-been-tempted-by-ayn-thor-but-i-have-ayn-thor-at-home/2.png.webp&quot; alt=&quot;A gaming controller with a black, 3D printed cover covering the middle bit and two thumbsticks &quot; /&gt;
&lt;p&gt;
  Internet services’ recommendation algorithms combined with a creator economy
  that’s constantly pushing us to buy the new shiny thing is a nasty
  combination. There’s no real reason why I’d need an AYN Thor. I have my
  laptop, iPad and Steam Deck that all can run the games I enjoy. But the
  constant barrage of videos about the device and people playing with it on
  their train rides starts to creep in.
&lt;/p&gt;

&lt;p&gt;
  The iPad + controller combo is not always the most usable because it requires
  a flat table space to put the tablet on but most of the time I’m in such
  environment anyway so it’s not a real problem.
&lt;/p&gt;

&lt;p&gt;
  I’ve been recently enjoying a few of
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/my-favourite-game-boy-advance-games&quot; class=&quot;notion-text-href&quot;&gt;my favourite Game Boy Advance games&lt;/a&gt;
  (mainly Advance Wars series and Zelda games) with this new setup and it’s been
  wonderful.
&lt;/p&gt;


    </content>
  </entry>
   
  
  <entry>
    <title>Thumbs up for a good adventure</title>
    <link href="https://hamatti.org/posts/thumbs-up-for-a-good-adventure/" />
    <updated>2026-04-15T00:00:00Z</updated>
    <id>https://hamatti.org/posts/thumbs-up-for-a-good-adventure/</id>
    <content type="html">
      &lt;p&gt;
  Pablo Morales is hosting this month’s
  &lt;a href=&quot;https://indieweb.org/IndieWeb_Carnival&quot; class=&quot;notion-text-href&quot;&gt;IndieWeb Carnival&lt;/a&gt;
  and he has invited us to write about
  &lt;a href=&quot;https://lifeofpablo.com/blog/indieweb-carnival-2026-adventure&quot; class=&quot;notion-text-href&quot;&gt;adventures&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Close your eyes for a second. What comes to mind when you think of the word,
  adventure? Do you think of thrill? Do you take a risk?
&lt;/blockquote&gt;

&lt;p&gt;
  I love a good adventure. I love to travel because of the unknown factor. You
  never know what’ll happen, what kind of exciting things you encounter and what
  kind of wonderful people you meet.
&lt;/p&gt;

&lt;p&gt;
  Back in the day when I was around 18-20 years old, I went on to three
  different adventures on consecutive summers, hitchhiking around the country to
  hang out with friends who lived across the nation, seeing parts of the country
  I had never seen traveling by train and meeting incredible, kind people who
  offered me rides.
&lt;/p&gt;

&lt;p&gt;
  What I cherish even more is that it was before the smartphone era. I didn’t
  have full access to everything at every given time. I did have a mobile
  internet dongle for my mini laptop to help me out in a pinch but otherwise I
  was out there, most of the time in the middle of nowhere with nothing but a
  pocket camera, beautiful summer and the kindness of strangers.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/thumbs-up-for-a-good-adventure/1.png.webp&quot; alt=&quot;Finnish countryside on a beautiful summer day. The focus is on a road going towards the horizon in the middle, leaning downwards as it goes. On both sides of the street, there’s lush green forestry and in the sky a few white clouds float on a blue summer sky. &quot; /&gt;
&lt;p&gt;
  One day, I was picked up in the Eastern part of the country by a couple of
  guys who had just had their last day at work and were heading to celebrate
  that. They picked me up, I joined them to the bar, they invited me to watch
  Penguins - Red Wings Stanley Cup finals at their place, let me crash for the
  night and even took me to my next destination the following morning as one of
  them had a meeting there.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/thumbs-up-for-a-good-adventure/2.png.webp&quot; alt=&quot;A sunset, a large pond and a small beach. The pond is surrounded by trees on the opposite side and there’s a couple of buildings peeking from behind the trees. &quot; /&gt;
&lt;p&gt;
  Another day I ended up joining a Finnish baseball (&lt;a href=&quot;https://en.wikipedia.org/wiki/Pes%C3%A4pallo&quot; class=&quot;notion-text-href&quot;&gt;pesäpallo&lt;/a&gt;, significantly different from the American baseball as a sport) game because
  that’s where my ride was going. I was really happy about that because watching
  the sport has always been a delight to me and during these trips I always
  aimed to find a way to see games in towns I’d otherwise never go to.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/thumbs-up-for-a-good-adventure/3.png.webp&quot; alt=&quot;An ocean with a tree covered island on a beautiful sunny summer day. The island has a white church and lots of trees partially covering it from the view. The ocean is deep blue. &quot; /&gt;
&lt;p&gt;
  A different day I ended up working for an evening selling tickets to a student
  event that my friends were organising at a bar because I had no other plans
  and wanted to help out friends. We ended up having such fun discussions during
  the quiet times and I met so many people I would not have otherwise met.
&lt;/p&gt;

&lt;p&gt;
  Unknown adventures are always exciting. One of the best parts of hitchhiking
  is that you cannot have any plans. It’s so liberating. You start your day by
  finding a nice spot leading towards a big road or highway to the direction you
  want to go, lift your thumb and sign (I used to write my destination to a
  cardboard sign to help people make decisions) up and see where the day will
  lead you.
&lt;/p&gt;

&lt;p&gt;
  Sometimes it took 10 hours to get to somewhere 3 hours away. But every single
  day I got somewhere and managed to find a place to sleep — either with friends
  if I reached my goal destination or with strangers if I didn’t.
&lt;/p&gt;

&lt;p&gt;
  Finland is incredibly beautiful, especially during the summer. I’m normally
  quite socially reserved and introverted but when I pick up my backpack and
  head on to adventures, I become surprisingly social, make small talk with
  strangers and look forward to meeting new people.
&lt;/p&gt;

&lt;p&gt;Thanks Pablo for hosting this month’s festival!&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Small bit of functional graphic design I like</title>
    <link href="https://hamatti.org/posts/small-bit-of-functional-graphic-design-i-like/" />
    <updated>2026-04-08T00:00:00Z</updated>
    <id>https://hamatti.org/posts/small-bit-of-functional-graphic-design-i-like/</id>
    <content type="html">
      
&lt;p&gt;
  I watch a lot of sports. Hundreds of hours every year. All major competitions
  that are broadcast here and some that require finding international sources.
&lt;/p&gt;

&lt;p&gt;
  Last night, I watched another round of UEFA Champions League and every
  broadcast I’ve enjoyed this tiny element in the clock &amp; score graphic in the
  top corner:
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/small-bit-of-functional-graphic-design-i-like/1.png.webp&quot; alt=&quot;A score graphic showing UEFA Champions League logo, game clock at 10:14 and 0-0 score between RMA and BAY. Next to RMA, the outer border is thick white while the same at BAY side is red. &quot; /&gt;
&lt;p&gt;
  The white and red stripes next to the team abbreviations tell you what the
  colours of their kits are. Real Madrid is playing in white while Bayern
  München is playing in red.
&lt;/p&gt;

&lt;p&gt;
  It blends in so well, takes no attention to itself and if you don’t watch a
  lot of games, you might not even realise that’s what the colours stand for.
  That’s what makes it so genius. While it’s almost unnoticeable, it provides
  such a crucial bit of information, especially if the teams generally share a
  colour (which these teams don’t).
&lt;/p&gt;

&lt;p&gt;
  If you join a match mid-game, you don’t have to try to figure out which team
  is which. A quick glance at the top corner to see what the score is and how
  much has been played and you immediately know who is who.
&lt;/p&gt;

&lt;p&gt;
  I often feel that in sports, there’s a lot of assumptions of what the viewer
  should already know. Recognising the kits is one of those things.
&lt;/p&gt;

&lt;p&gt;I love how this design reduces that burden from the viewer.&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;Update 18.4.2026:&lt;/strong&gt; I recently noticed two more sports
  broadcast that do this.
&lt;/p&gt;

&lt;p&gt;The Swedish Hockey League broadcasts do it&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/small-bit-of-functional-graphic-design-i-like/2.png.webp&quot; alt=&quot;Scoreboard for SKE vs LHF, showing black stripe on SKE&#39;s end and a red one in LHF&#39;s end denoting their jersey colors.&quot; /&gt;

&lt;p&gt;As do Ruutu&#39;s Veikkausliiga broadcasts!&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/small-bit-of-functional-graphic-design-i-like/3.png.webp&quot; alt=&quot;Scoreboard for GNI vs HJK in Veikkausliiga broadcast showing that GNI plays in yellow and HJK in light blue.&quot; /&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Dungeons &amp; Degenerate Gamblers is the Betamax of casino roguelikes</title>
    <link href="https://hamatti.org/posts/dungeons-and-degenerate-gamblers-is-the-betamax-of-casino-roguelikes/" />
    <updated>2026-04-01T00:00:00Z</updated>
    <id>https://hamatti.org/posts/dungeons-and-degenerate-gamblers-is-the-betamax-of-casino-roguelikes/</id>
    <content type="html">
      &lt;p&gt;
  As 2024 rolled in, we were expecting two exciting games in the casino
  roguelike genre to be published:
  &lt;a href=&quot;https://store.steampowered.com/app/2379780/Balatro/&quot; class=&quot;notion-text-href&quot;&gt;Balatro&lt;/a&gt;
  and
  &lt;a href=&quot;https://store.steampowered.com/app/2400510/Dungeons__Degenerate_Gamblers/&quot; class=&quot;notion-text-href&quot;&gt;Dungeons and Degenerate Gamblers&lt;/a&gt;. It was a great year to be a gamer.
&lt;/p&gt;

&lt;p&gt;
  First came out Balatro in February and as they say, rest is history. It took
  the world by storm and was beloved by everyone and their dog. Six months
  later, Dungeons and Degenerate Gamblers came out but didn’t quite reach the
  hype that Balatro did. I think that’s a shame.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/dungeons-and-degenerate-gamblers-is-the-betamax-of-casino-roguelikes/1.png.webp&quot; alt=&quot;Screenshot of a hand in Balatro scoring over 7 million points &quot; /&gt;
&lt;p&gt;
  Balatro is roguelike deckbuilder that’s loosely based on poker but not really.
  You start the game with a regular 52 card French suit deck and need to play
  poker hands to gain points to beat the level before you run out of hands to
  play.
&lt;/p&gt;

&lt;p&gt;
  Between rounds, you can buy cards to improve your deck: you can add seals and
  enhancements to your cards to get more points or coins from them; you can buy
  Joker cards that add extra effects; you can buy tarot cards that give one off
  abilities; you can buy planet cards to improve your base points for different
  poker hands.
&lt;/p&gt;

&lt;p&gt;
  The goal is to build an engine that increases your points on an exponential
  scale to beat the ever-growing requirements.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/dungeons-and-degenerate-gamblers-is-the-betamax-of-casino-roguelikes/2.png.webp&quot; alt=&quot;Screenshot of Dungeons &amp; Degenerate Gamblers with the player at 18 and the opponent, a psychologist, standing at 20. &quot; /&gt;
&lt;p&gt;
  DDG is a roguelike deckbuilder that’s loosely based on blackjack but not
  really. It’s a game where you fight an opponent by dealing damage to them
  based on your blackjack hands. Regular rules of blackjack apply: you play one
  card at a time to your side of the table and if you go over 21, you go bust.
  If you stand before or at 21, your score and your opponent’s score are
  subtracted from each other and the extra goes through as damage. If you get
  exactly 21, you gain extra bonuses like heal, shields and so on based on which
  suits you played.
&lt;/p&gt;

&lt;p&gt;
  After fights, you can add new cards to your deck to build combos, deal more
  damage, put up shields and more.
&lt;/p&gt;

&lt;p&gt;
  They have so many commonalities: they both start from a casino card game, adds
  wonky cards with nerdy pop culture references that don’t quite fit into a
  poker or blackjack deck and eventually make the game about something very
  different.
&lt;/p&gt;

&lt;p&gt;
  I think DDG is the better game. The cards you get to add to your deck are more
  creative. You can add old baseball cards, Yugioh cards, Pokemon cards, Magic
  the Gathering cards, Slay the Spire cards, birthday cards, credit cards,
  Playstation memory cards, scratch cards and much much more into your deck.
  That’s what really charmed me when I first learned about the game.
&lt;/p&gt;

&lt;p&gt;
  It takes the concept of “card” and jams in every imaginable card from outside
  the world of regular playing cards in a really fun way. There’s even Jimbo
  from Balatro in it. The most ambitious anime crossover of 2024?
&lt;/p&gt;

&lt;p&gt;
  One thing Balatro does better and why I believe it succeeded better is
  &lt;a href=&quot;https://www.youtube.com/watch?v=216_5nu4aVQ&quot; class=&quot;notion-text-href&quot;&gt;the juice&lt;/a&gt;. It’s in the category of addictive “number goes up” games and the developer
  did a wonderful job making that dopamine hit feel good.
&lt;/p&gt;

&lt;p&gt;
  Don’t get me wrong, I do like Balatro. I’ve played almost 100 hours of it and
  have to ratio my gaming sessions to only long weekends and holidays because
  it’s that addictive. But I like DDG more and before either game came out, I
  really hoped it would have been the “winner” of the two.
&lt;/p&gt;

&lt;p&gt;
  Just like VHS beat Betamax in
  &lt;a href=&quot;https://en.wikipedia.org/wiki/Videotape_format_war&quot; class=&quot;notion-text-href&quot;&gt;the videotape wars&lt;/a&gt;, Balatro became the more popular game despite in my opinion not being the
  better game. The good thing is that unlike with the videotape wars, the losing
  side doesn’t disappear so we get to play both of these great games for years
  to come.
&lt;/p&gt;

&lt;p&gt;
  If you have played neither, I can highly recommend both. If you’ve only played
  one, go check the other one out as well.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>From Juhis with Love #013 - Sun is back</title>
    <link href="https://hamatti.org/posts/external-from-juhis-with-love-013-sun-is-back/" />
    <updated>2026-03-31T00:00:00Z</updated>
    <id>https://hamatti.org/posts/external-from-juhis-with-love-013-sun-is-back/</id>
    <content type="html">
      
&lt;p&gt;
  In March issue of &lt;strong&gt;From Juhis with Love&lt;/strong&gt;, I share updates of my
  projects and lovely bits from the internet.
&lt;/p&gt;

&lt;p&gt;
  &lt;a href=&quot;https://buttondown.com/juhis/archive/013-sun-is-back/&quot;&gt;Read #013 - Sun is back&lt;/a&gt;.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>I’m building a Python script to create form filling bookmarklets</title>
    <link href="https://hamatti.org/posts/im-building-a-python-script-to-create-form-filling-bookmarklets/" />
    <updated>2026-03-28T00:00:00Z</updated>
    <id>https://hamatti.org/posts/im-building-a-python-script-to-create-form-filling-bookmarklets/</id>
    <content type="html">
      
&lt;p&gt;
  In 2024 I wrote about
  &lt;a href=&quot;https://hamatti.org/posts/automate-filling-form-with-bookmarklet/&quot; class=&quot;notion-text-href&quot;&gt;how I like to create bookmarklets to help me fill in forms&lt;/a&gt;
  on apps and sites I develop. It’s not uncommon to have a dozen or even two
  fields in a form and filling them up over and over again by hand while
  developing gets boring real fast.
&lt;/p&gt;

&lt;p&gt;In that 2024 blog post, I mention&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Not only is it boring but that boredom can lead to us entering silly or funny
  entries that can sometimes accidentally leak during demos or screenshots or
  database dumps and lead to negative outcomes.
&lt;/blockquote&gt;

&lt;p&gt;
  Until now, I’ve been doing them by hand but this week I wanted to explore this
  problem space a bit more. I figured a nicer interface would be to have a spec
  file (in my case, written in YAML) where I could define all my fields and
  values and then run a script to generate the bookmarklet.
&lt;/p&gt;

&lt;p&gt;
  I wrote the first version of
  &lt;a href=&quot;https://github.com/Hamatti/form-filler&quot; class=&quot;notion-text-href&quot;&gt;form-filler&lt;/a&gt;
  to satisfy my own needs. It’s an open source Python script and if you’re
  interested in simplifying a rather boring aspect of your web dev work, check
  it out.
&lt;/p&gt;

&lt;p&gt;
  Each bookmarklet represents a single use case and is defined in a YAML
  specification file as the example:
&lt;/p&gt;

&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;inputs:
  name:
    type: text
    value: &quot;Jane Doe&quot;
    selector: &quot;#name&quot;
  age:
    type: text
    value: 23
    selector: &quot;#age&quot;
  confirmation:
    type: checkbox
    value: false
    selector: &quot;#confirmation&quot;
  date:
    type: date
    value: &quot;2026-05-25&quot;
    selector: &quot;#date&quot;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  Running the script with this example specification will generate a bookmarklet
  that when run, will fill in the given form with the values provided.
&lt;/p&gt;

&lt;p&gt;
  I tend to create a bookmark folder per form and create a bunch of bookmarklets
  to test different scenarios.
&lt;/p&gt;


    </content>
  </entry>
   
  
  <entry>
    <title>How much change is the right amount of change?</title>
    <link href="https://hamatti.org/posts/how-much-change-is-the-right-amount-of-change/" />
    <updated>2026-03-21T00:00:00Z</updated>
    <id>https://hamatti.org/posts/how-much-change-is-the-right-amount-of-change/</id>
    <content type="html">
      &lt;p&gt;
  A fellow Blaugustan Steve from Frostilyte Writes published
  &lt;a href=&quot;https://frostilyte.ca/2026/03/17/i-wish-slay-the-spire-2-had-borrowed-more-from-other-games/&quot; class=&quot;notion-text-href&quot;&gt;a great piece about Slay the Spire 2 this week&lt;/a&gt;. In it, he wished that the developers would have made more changes and
  especially points out how dull and repetitive the early game — especially Act
  1 — can get in a game where you always start with the same deck of cards
  before you get to build your own build.
&lt;/p&gt;

&lt;p&gt;Overall, his criticism of the sequel is very good.&lt;/p&gt;

&lt;p&gt;What stood out for me was this quote:&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  As you might’ve surmised, I’m fairly lukewarm overall on the sequel. A big
  part of that stems from how Slay the Spire 2 doesn’t do much to actually move
  the needle forward. The new artwork is nice, as is the rebalancing of a subset
  of cards from the first game. However, it’s hard to shake the feeling that
  I’ve already played this game before given how much it has in common with its
  predecessor.
&lt;/blockquote&gt;

&lt;p&gt;
  We had a bit of a back and forth discussion about it because for me, that was
  the best part of Slay the Spire 2. I opened the discussion in our Discord chat
  with:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  For me, that was the biggest relieve when I bought the game. I was worried
  they&#39;d change the game I really enjoyed too much for the sake of changing
  things and so far I&#39;ve been really happy with the new stuff that breath new
  life into the well proven basic gameplay loop.
&lt;/blockquote&gt;

&lt;p&gt;
  This lead to a great discussion about different expectations for sequels and
  what makes a sequel worthy of full price game rather than updates or DLC to
  the original.
&lt;/p&gt;

&lt;hr class=&quot;notion-divider&quot; /&gt;

&lt;p&gt;
  After our discussion, the thought stayed with me and simmered in my mind for a
  few days.
&lt;/p&gt;

&lt;p&gt;
  For a while now, I’ve been planning to write about the difficulty of sequels
  or 2nd seasons for movies and TV shows. There are two shows that have recently
  pushed me towards disappointment with their strong first season and meh second
  season: first one is
  &lt;a href=&quot;https://www.imdb.com/title/tt6794990&quot; class=&quot;notion-text-href&quot;&gt;Absentia&lt;/a&gt;
  and second one is
  &lt;a href=&quot;https://www.imdb.com/title/tt13918776/&quot; class=&quot;notion-text-href&quot;&gt;The Night Agent&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Both of them had strong opening seasons. They had a good gimmick that
  separated them from other run-of-the-mill agent/alphabet agency stories and
  that kept me immersed to the stories. Their appeal was in the strong storyline
  and less so about specifically interesting characters or world building. So
  when the second seasons rolled out, they lost their charm. They became regular
  stories that unfortunately didn’t carry it for me to enjoy.
&lt;/p&gt;

&lt;p&gt;
  It happens way too often: someone writes a great story, it gets popular and
  then someone decides they need to make a continuation. Not for the purposes of
  telling more great stories but to make money on something popular.
&lt;/p&gt;

&lt;hr class=&quot;notion-divider&quot; /&gt;

&lt;p&gt;
  When it comes to video games, I think there is a fine line between a cheap
  cash grab and not breaking a working, proven model. And it’s very subjective
  too. I can’t always tell why I like minimal changes for one game but am
  disappointed by it for another one.
&lt;/p&gt;

&lt;p&gt;
  With Slay the Spire 2 (by the way, I have written
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/slay-the-spire-2&quot; class=&quot;notion-text-href&quot;&gt;about it more in my digital garden&lt;/a&gt;, spoiler alert), I was worried the game would change too much. I really
  really liked the first one and was genuinely hesitant to buy the sequel when
  it hit Early Access because I worried they’d change things I loved about it.
  (Spoilers: they didn’t).
&lt;/p&gt;

&lt;p&gt;
  So far, after ~20 hours of play time under my belt, I’m really satisfied with
  the balance of good old stuff and new fresh additions and tweaks. Could the
  new stuff have been a DLC instead of a full game? Probably. Especially the
  parts that I care about. But I’m still happy to pay full price and don’t feel
  like I’ve been duped.
&lt;/p&gt;

&lt;p&gt;
  A related point is controller schemes in games. So much of video gaming for me
  is muscle memory — especially when playing with a controller — that when games
  change how controls work, it irritates me so much. I recently replayed
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/the-last-of-us&quot; class=&quot;notion-text-href&quot;&gt;The Last of Us&lt;/a&gt;
  and
  &lt;a href=&quot;https://notes.hamatti.org/gaming/video-games/reviews/the-last-of-us-part-ii&quot; class=&quot;notion-text-href&quot;&gt;The Last of Us Part 2&lt;/a&gt;
  and even really small changes to controls took me roughly 80% of the game to
  adjust to and I died a bunch of times because in a heated moment where quick
  reactions needed to happen, I pressed the wrong button.
&lt;/p&gt;

&lt;p&gt;
  Even if the new way of controlling is objectively better and fixes some issues
  with the old one, I would rather have the memorised old system than having to
  learn a new one because that stuff is hard.
&lt;/p&gt;

&lt;p&gt;
  Otherwise Last of Us Part 2 is a brilliant example of a good balance between
  new things while sticking to a good working base. The gameplay is very
  familiar to anyone who has played the first one and most elements are there
  as-is from the original. Yet, through masterful storytelling, the game feels
  like a completely different experience.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>New protocol proposal for indie web: human.json</title>
    <link href="https://hamatti.org/posts/new-protocol-proposal-for-indie-web-human-json/" />
    <updated>2026-03-18T00:00:00Z</updated>
    <id>https://hamatti.org/posts/new-protocol-proposal-for-indie-web-human-json/</id>
    <content type="html">
      
&lt;p&gt;
  The past week or so, the indie web circles have been talking about this
  &lt;a href=&quot;https://codeberg.org/robida/human.json&quot; class=&quot;notion-text-href&quot;&gt;new protocol proposal for a human.json file by Beto Dealmeida&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;Beto describes the background as:&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  One of the problems with the internet today is that a lot of the content is AI
  generated. There&#39;s no way to know for sure if a site is maintained by a real
  human or if it&#39;s just slop. The only way to know for sure is by getting to
  know the authors, which usually takes time and requires developing a
  relationship with them through other channels, like email or social media. But
  what if we could expand that trust by building a web of vouches between sites?
&lt;/blockquote&gt;

&lt;p&gt;
  I really like these kinds of ways of
  &lt;a href=&quot;https://hamatti.org/posts/verifying-identity-online/&quot; class=&quot;notion-text-href&quot;&gt;verifying identity&lt;/a&gt;
  or building trust between people. Not through
  &lt;a href=&quot;https://thelocalstack.eu/posts/linkedin-identity-verification-privacy/&quot; class=&quot;notion-text-href&quot;&gt;corporations destroying our privacy&lt;/a&gt;
  or through governmental proof of identity which can have its own problems.
&lt;/p&gt;

&lt;p&gt;
  For me, it’s not crucial that someone is who they claim in some absolute
  sense. Rather — for example in the case of Mastodon verification — if I know
  you through your website, it’s enough of verification for me to know that the
  person who runs that website is the same person who runs the Fediverse
  account.
&lt;/p&gt;

&lt;p&gt;
  Same kind of thinking applies with the human.json idea. The way it works is
  that you can put a file to your website and then add a
&lt;/p&gt;

&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;#60;link rel=&quot;human-json&quot; href=&quot;/human.json&quot; /&amp;#62; &lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  Inside that file, you state which version of the protocol it’s written for and
  what domain/subdomain/subpath it covers, like
  &lt;a href=&quot;https://hamatti.org/human.json&quot; class=&quot;notion-text-href&quot;&gt;mine&lt;/a&gt;.
&lt;/p&gt;

&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;version&quot;: &quot;0.1.1&quot;,
  &quot;url&quot;: &quot;https://hamatti.org&quot;
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  Additionally, you can &lt;b class=&quot;notion-text-bold&quot;&gt;vouch&lt;/b&gt; for other
  websites. For example, if you have a file in your site and you want to vouch
  for me, you can add:
&lt;/p&gt;

&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;vouches&quot;: [
    {
      &quot;url&quot;: &quot;https://hamatti.org&quot;,
      &quot;vouched_at&quot;: &quot;2026-03-18&quot;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;to your human.json.&lt;/p&gt;

&lt;p&gt;
  I started by adding the base version and I’ll be working over the vouches as I
  go forward.
&lt;/p&gt;

&lt;p&gt;
  Other people have been writing about this too.
  &lt;a href=&quot;https://evanhahn.com/human-dot-json/&quot; class=&quot;notion-text-href&quot;&gt;Evan Hahn shared it&lt;/a&gt;
  on Saturday,
  &lt;a href=&quot;https://sethmlarson.dev/ive-added-human-dot-json-to-my-website&quot; class=&quot;notion-text-href&quot;&gt;followed by Seth Larsen&lt;/a&gt;
  the same day who also wrote a Python script that checks who in his RSS feeds
  has added it to their site.
  &lt;a href=&quot;https://foosel.net/til/humanjson/&quot; class=&quot;notion-text-href&quot;&gt;Gina Häußge wrote about it too&lt;/a&gt;.
  &lt;a href=&quot;https://evilgeniuschronicles.org/posts/2026/03/16/human-json/&quot; class=&quot;notion-text-href&quot;&gt;As did Dave Slusher&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Beto Dealmeida has also written
  &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/human-json-verifier/&quot; class=&quot;notion-text-href&quot;&gt;a Firefox extension&lt;/a&gt;
  that helps you see if sites you visit are within a trust network of people you
  trust.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;What about humans.txt?&lt;/h2&gt;

&lt;p&gt;
  A similar but slightly different approach is
  &lt;a href=&quot;https://humanstxt.org/&quot; class=&quot;notion-text-href&quot;&gt;humans.txt&lt;/a&gt;
  that’s been around for quite a while and is a human counterpart for
  &lt;a href=&quot;https://en.wikipedia.org/wiki/Robots.txt&quot; class=&quot;notion-text-href&quot;&gt;robots.txt&lt;/a&gt;. It’s described as:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  It&#39;s an initiative for knowing the people behind a website. It&#39;s a TXT file
  that contains information about the different people who have contributed to
  building the website.
&lt;/blockquote&gt;

&lt;p&gt;
  Ned Batchelder explored this idea further in his blog post
  &lt;a href=&quot;https://nedbatchelder.com/blog/202603/humanjson&quot;&gt;Human.json&lt;/a&gt;,
  taking a look at its benefits and pitfalls as well as previous attempts at
  similar things.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>Markdown content split to sections in Eleventy and Nunjucks</title>
    <link href="https://hamatti.org/posts/markdown-content-split-to-sections-in-eleventy-and-nunjucks/" />
    <updated>2026-03-13T00:00:00Z</updated>
    <id>https://hamatti.org/posts/markdown-content-split-to-sections-in-eleventy-and-nunjucks/</id>
    <content type="html">
      
&lt;p&gt;
  Last night, while sitting in the train on my way home, I got
  &lt;b class=&quot;notion-text-bold&quot;&gt;&lt;a href=&quot;https://fediscience.org/@tlohde/116217614055899048&quot; class=&quot;notion-text-href&quot;&gt;nerdsniped&lt;/a&gt;&lt;/b&gt;&lt;a href=&quot;https://fediscience.org/@tlohde/116217614055899048&quot; class=&quot;notion-text-href&quot;&gt;
    into writing another Eleventy post by tlohde&lt;/a&gt;
  who asked if there was a way to separate content from a Markdown post so it
  could be used in multiple parts in the layout. You can read the full question
  in the toot linked earlier.
&lt;/p&gt;
&lt;p&gt;
  I couldn’t resist figuring the puzzle out. Before I had my solution tested,
  &lt;a href=&quot;https://markllobrera.com/posts/eleventy-video-loop-shortcode/&quot; class=&quot;notion-text-href&quot;&gt;Mark Llobrera shared his approach with shortcodes&lt;/a&gt;
  but I wanted to offer an alternative with Filters.
&lt;/p&gt;

&lt;p&gt;Let’s start with the filter. In your Eleventy config, add:&lt;/p&gt;

&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;eleventyConfig.addNunjucksFilter(&quot;split_by_keyword&quot;, (body, index) =&amp;#62; {
  return body.split(&quot;=~=~=~=&quot;)[index];
});&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  Here, I decided to use &lt;code class=&quot;notion-text-code&quot;&gt;=~=~=~=&lt;/code&gt; as the
  splitting keyword as that is a beautiful section marker in Markdown but you
  can use whatever you like.
&lt;/p&gt;

&lt;p&gt;
  In your layout (let’s call it
  &lt;code class=&quot;notion-text-code&quot;&gt;layouts/two-parter.njk&lt;/code&gt;), you can then
  do:
&lt;/p&gt;

&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;#60;body&amp;#62;
  {{ content | split_by_keyword(0) | safe }}
  &amp;#60;h2&amp;#62;Second part&amp;#60;/h2&amp;#62;
  {{ content | split_by_keyword(1) | safe }}
&amp;#60;/body&amp;#62;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
  Here, I’m splitting into two. If you sometimes have a need for a three-section
  layout, create a new layout and add another call to content with the filter.
  The same filter works with as many sections as you like but the amount of
  section splits in the layout needs to match the amount of splitting keywords
  in your content or otherwise some parts will be left out.
&lt;/p&gt;

&lt;p&gt;Finally, to use this layout with your Markdown file, you can do&lt;/p&gt;
&lt;pre class=&quot;language-markdown&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;---
layout: layouts/two-parter.njk
---


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus et
ultricies diam. Vivamus sodales felis sed neque pellentesque, ut
elementum orci laoreet. Quisque lorem est, tempor in lectus sodales,
bibendum faucibus elit.

=~=~=~=

Sed iaculis ligula in volutpat feugiat. Nam eu lacus rhoncus, gravida
eros eget, aliquet mauris. Fusce sit amet convallis purus. Nam sagittis
sit amet ex id sagittis. Nullam mattis urna ut dapibus aliquam. In
imperdiet vitae elit vitae faucibus.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
  and it will render with the first paragraph, then a h2 from the layout and
  then the second paragraph.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;Update:&lt;/strong&gt; anydigital shared
  &lt;a href=&quot;https://11ty.blades.ninja/filters/section/&quot;&gt;this section filter solution&lt;/a&gt;
  in Mastodon that is basically the same idea but with bit more robust code than
  my quick prototype.
&lt;/p&gt;

    </content>
  </entry>
   
  
  <entry>
    <title>I completed Stardew Valley’s shipping collection — in reverse</title>
    <link href="https://hamatti.org/posts/i-completed-stardew-valleys-shipping-collection-in-reverse/" />
    <updated>2026-03-11T00:00:00Z</updated>
    <id>https://hamatti.org/posts/i-completed-stardew-valleys-shipping-collection-in-reverse/</id>
    <content type="html">
      
&lt;p&gt;
  Gvendolynn’s video
  &lt;a href=&quot;https://www.youtube.com/watch?v=lz37CHoBlTg&quot; class=&quot;notion-text-href&quot;&gt;Completing the Entire Stardew Valley Shipping List in Reverse Order&lt;/a&gt;
  inspired me to give the challenge a go and experience the game in a new way.
  It was more fun than I expected.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;
  The rules and goals of this challenge
&lt;/h2&gt;

&lt;p&gt;
  &lt;a href=&quot;https://www.stardewvalley.net/&quot; class=&quot;notion-text-href&quot;&gt;Stardew Valley&lt;/a&gt;
  is a RPG style farming game that was published 10 years ago where the player
  engages in variety of activities like farming, combat, fishing, mining,
  foraging and relationships. There are multiple things the game tracks for what
  it calls Perfection, an achievement of doing mostly everything in the game.
&lt;/p&gt;

&lt;p&gt;
  One of these things is
  &lt;a href=&quot;https://stardewvalleywiki.com/Collections#Items_Shipped&quot; class=&quot;notion-text-href&quot;&gt;a shipping list&lt;/a&gt;. There are — at the time of this challenge — 154 unique items in this list.
&lt;/p&gt;
&lt;img src=&quot;https://hamatti.org/assets/img/posts/i-completed-stardew-valleys-shipping-collection-in-reverse/1.png.webp&quot; alt=&quot;154 items of Stardew Valley shipping collection, split to three individual screens. A full list of these items can be found in the wiki linked above. &quot; /&gt;
&lt;p&gt;
  The goal of this challenge is to ship
  &lt;b class=&quot;notion-text-bold&quot;&gt;at least one of each item, &lt;/b&gt;filling the
  collection tab.
&lt;/p&gt;

&lt;p&gt;
  &lt;b class=&quot;notion-text-bold&quot;&gt;Rule #1: &lt;/b&gt;On any given day, you can only ship
  items that have already been shipped on previous days or is the last item on
  the list that has not yet been shipped. So the first item you can ship is a
  Powdermelon, then the following day you can ship Broccoli, then Summer Squash
  and so on.
&lt;/p&gt;

&lt;p&gt;
  &lt;b class=&quot;notion-text-bold&quot;&gt;Rule #2: &lt;/b&gt;You are not allowed to sell anything
  outside this list or through any other means. This means you can’t sell
  regular fish, artifacts, gems and so on.
&lt;/p&gt;

&lt;p&gt;&lt;b class=&quot;notion-text-bold&quot;&gt;Rule #3: &lt;/b&gt;No mods.&lt;/p&gt;

&lt;p&gt;
  These three are my rules and if you want to complete the challenge with
  different rules or don’t agree with mine, you’re welcome to do it however you
  want.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Preparing and planning&lt;/h2&gt;

&lt;p&gt;
  I started preparing for this challenge by copying the list of items in reverse
  order and making notes about how I figure this would go.
&lt;/p&gt;

&lt;p&gt;
  I identified a couple of items I considered “chokepoints”. Items that I cannot
  just decide to buy and grow and ship.
&lt;/p&gt;

&lt;p&gt;These are:&lt;/p&gt;
&lt;ul class=&quot;notion-bulleted_list&quot;&gt;
  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://stardewvalleywiki.com/Mystic_Syrup&quot; class=&quot;notion-text-href&quot;&gt;#8 Mystic Syrup&lt;/a&gt;
    that requires reaching Foraging
    &lt;a href=&quot;https://stardewvalleywiki.com/Mastery_Cave&quot; class=&quot;notion-text-href&quot;&gt;Mastery&lt;/a&gt;
    which means you need to first reach level 10 on each of the five skills
    (Farming, Foraging, Mining, Fishing and Combat) and then gain another 10 000
    experience points to reach first level of Mastery and using that to unlock
    Foraging Mastery.
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://stardewvalleywiki.com/Radioactive_Bar&quot; class=&quot;notion-text-href&quot;&gt;#11 Radioactive Bar&lt;/a&gt;
    and
    &lt;a href=&quot;https://stardewvalleywiki.com/Radioactive_Ore&quot; class=&quot;notion-text-href&quot;&gt;#12 Radioactive Ore&lt;/a&gt;
    that require either
    &lt;a href=&quot;https://stardewvalleywiki.com/Quests#Danger_In_The_Deep&quot; class=&quot;notion-text-href&quot;&gt;Danger in the Deep&lt;/a&gt;
    or
    &lt;a href=&quot;https://stardewvalleywiki.com/Quests#Skull_Cavern_Invasion&quot; class=&quot;notion-text-href&quot;&gt;Skull Cavern Invasion&lt;/a&gt;
    Mr. Qi’s Special Order to be active. For that to be active, you need to 1)
    complete either the Community Center or JojaMart Community Development
    Projects to unlock Ginger Island and 2) gather 100 golden walnuts to unlock
    Mr Qi’s room.
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://stardewvalleywiki.com/Ostrich_Egg&quot; class=&quot;notion-text-href&quot;&gt;Ostrich Egg&lt;/a&gt;
    which is quite an elusive item that requires Ginger Island access and either
    finding
    &lt;a href=&quot;https://stardewvalleywiki.com/Journal_Scraps&quot; class=&quot;notion-text-href&quot;&gt;10 Journal Scraps&lt;/a&gt;
    or a tiny probability of finding one in a rare chest in the Volcano. This
    has usually been one of the last things I get in a regular full Perfection
    run.
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    &lt;a href=&quot;https://stardewvalleywiki.com/Void_Egg&quot; class=&quot;notion-text-href&quot;&gt;Void Egg&lt;/a&gt;
    and
    &lt;a href=&quot;https://stardewvalleywiki.com/Void_Mayonnaise&quot; class=&quot;notion-text-href&quot;&gt;Void Mayonnaise&lt;/a&gt;
    require either an upgraded Coop and a low-probability Witch event or
    donating 60 items to the Museum and gaining access to Krobus.
  &lt;/li&gt;

  &lt;li class=&quot;notion-bulleted_list_item notion-color-default&quot;&gt;
    Not quite a chokepoint because it’s easy to achieve but needs to be taken
    into account: to gain access to
    &lt;a href=&quot;https://stardewvalleywiki.com/Tea_Leaves&quot; class=&quot;notion-text-href&quot;&gt;Tea Leaves&lt;/a&gt;
    (and then Green Tea), you need 2 hearts friendship with
    &lt;a href=&quot;https://stardewvalleywiki.com/Caroline&quot; class=&quot;notion-text-href&quot;&gt;Caroline&lt;/a&gt;. It’s not hard but it takes a bit of time so if you want to guarantee you
    don’t get a gap between days, you should do it early.
  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
  On my early notes before starting, I considered
  &lt;a href=&quot;https://stardewvalleywiki.com/Smoked_Fish&quot; class=&quot;notion-text-href&quot;&gt;#10 Smoked Fish&lt;/a&gt;
  to be the main money maker in this run and I did focus quite a lot on it
  during the run. We’ll learn later I was wrong.
&lt;/p&gt;
&lt;h3&gt;My planned approach&lt;/h3&gt;
&lt;p&gt;
  Since
  &lt;a href=&quot;https://stardewvalleywiki.com/Dried_Fruit&quot; class=&quot;notion-text-href&quot;&gt;Dried Fruits&lt;/a&gt;
  and Smoked Fish are very early on the list, I made a decision to start on a
  &lt;a href=&quot;https://stardewvalleywiki.com/Farm_Maps#Map_Types&quot; class=&quot;notion-text-href&quot;&gt;Riverlands Farm&lt;/a&gt;
  because that comes with a free
  &lt;a href=&quot;https://stardewvalleywiki.com/Fish_Smoker&quot; class=&quot;notion-text-href&quot;&gt;Fish Smoker&lt;/a&gt;
  and that I would choose the Bat Cave when presented with that because it comes
  with a free
  &lt;a href=&quot;https://stardewvalleywiki.com/Dehydrator&quot; class=&quot;notion-text-href&quot;&gt;Dehydrator&lt;/a&gt;. What I didn’t think at this point was that you unlock the cave once you’ve
  earned 25 000 money so that didn’t come into play at all because that was very
  late.
&lt;/p&gt;

&lt;p&gt;
  While you cannot sell anything, you can gain income through
  &lt;a href=&quot;https://stardewvalleywiki.com/Quests#Help_Wanted_Quests&quot; class=&quot;notion-text-href&quot;&gt;Help Wanted quests&lt;/a&gt;
  and
  &lt;a href=&quot;https://stardewvalleywiki.com/Quests#List_of_Special_Orders&quot; class=&quot;notion-text-href&quot;&gt;Special Orders&lt;/a&gt;
  but until you can sell your first crops in the winter of year 1, you’ll be
  very limited with your money.
&lt;/p&gt;

&lt;p&gt;
  Since money is tight and we still need a ton of farming experience to reach
  Mastery, I focused on crops that regrow: strawberries in Spring, blueberries
  in Summer and cranberries in Fall. This way, I could maximize the amount of
  experience points I gain per money spent and all of these are fruit so I can
  sell them relatively early as Dried Fruit once I reach that point.
&lt;/p&gt;

&lt;p&gt;
  Another early money maker is
  &lt;a href=&quot;https://stardewvalleywiki.com/Dried_Mushrooms&quot; class=&quot;notion-text-href&quot;&gt;Dried Mushrooms&lt;/a&gt;
  so as soon as I was able to, I crafted a dozen
  &lt;a href=&quot;https://stardewvalleywiki.com/Mushroom_Log&quot; class=&quot;notion-text-href&quot;&gt;Mushroom Logs&lt;/a&gt;
  to gain consistent supply of mushrooms to dry and sell.
&lt;/p&gt;

&lt;p&gt;
  Lastly, I decided for the first time in my life to go with the Joja route. I
  have owned this game for over 9 years and have played for way over 1000 hours
  but I have never bought a Joja membership before. This time I did because I
  figured I need to get to Ginger Island early and getting all the specific
  items for the Community Center would be very difficult given I had almost no
  money to spend.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;The actual gameplay&lt;/h2&gt;

&lt;p&gt;
  I mostly followed my plan, realizing way too late that smoking fish didn’t
  matter at all.
&lt;/p&gt;

&lt;p&gt;
  I can’t remember when was the last time I played this game without mods. It
  was kinda painful. Not having access to quality of life improvements like the
  information UI Info Suite 2 displays makes planning way harder when you can’t
  know what crops are growing, when they’ll be ready or where you are in your
  skill progression.
&lt;/p&gt;

&lt;p&gt;
  One of the first realizations was that reaching Fishing level 10 with just the
  Bamboo Rod is so much harder and time consuming compared to buying a better
  rod and using bait like I usually do. Spending money on the fishing rods
  wasn’t a smart thing since you can’t get money back from fishing until year 2
  or so. I got to level 10 fishing around mid-summer, year 1.
&lt;/p&gt;

&lt;p&gt;
  As is usual, Foraging was the hardest skill to complete. I crafted
  &lt;a href=&quot;https://stardewvalleywiki.com/Crafting#Seeds&quot; class=&quot;notion-text-href&quot;&gt;Wild Seeds&lt;/a&gt;
  and prioritized getting to Steel Axe to access Secret Woods to get hardwood
  and experience.
&lt;/p&gt;

&lt;p&gt;
  I completed Joja Community Development Projects in Winter 20th, Year 1 and
  after fixing the boat, I gained access to Ginger Island Winter 22nd, Year 1
  which was way faster than I expected. The Special Orders that open in the
  beginning of Fall net you a ton of money that I wasn’t expecting to be that
  big.
&lt;/p&gt;

&lt;p&gt;
  I eventually gained Mastery on Spring 8, Year 2 and reached the first level of
  Mastery on the 18th. I gained access to Mr. Qi’s room on Spring 22, Year 2.
&lt;/p&gt;

&lt;p&gt;
  I got super duper lucky that my first Qi’s task was the Skull Cavern Invasion
  that I needed. That was a lucky strike as I that could have been weeks, even
  months before it showed up. I kept spamming the first floor of Skull Cavern
  over and over again until I was able to get 6 Radioactive Ore and got even
  luckier that I got a Rabbit’s foot on the first trip to the Skull Cavern.
&lt;/p&gt;

&lt;p&gt;
  I managed to get a
  &lt;a href=&quot;https://stardewvalleywiki.com/Banana_Sapling&quot; class=&quot;notion-text-href&quot;&gt;Banana Sapling&lt;/a&gt;
  by trading 5 Dragon Tooth to Island Trader on Spring 26, Year 2 and the Rusty
  Key by donating 60 items to the Museum on Summer 3, Year 2.
&lt;/p&gt;

&lt;p&gt;
  Finally, Summer 14th Year 2 I collected my first Mystic Syrup and then kept
  shipping items one by one until the end of the challenge. At the time I got
  the Mystic Syrup, I had everything else ready as I spent the time waiting for
  that tree to grow and the syrup to happen building the required animal
  buildings. Basically after that day, I slept, shipped the new allowed item and
  slept some more.
&lt;/p&gt;

&lt;p&gt;
  I made 90% of my money from selling Dried Strawberries. As soon as I got the
  Greenhouse unlocked, I filled it with strawberries and did the same in Ginger
  Island. When I shipped my first Smoked Fish, I already had all the money I
  needed to complete the challenge.
&lt;/p&gt;

&lt;h2 class=&quot;notion-heading_2 notion-color-default&quot;&gt;Challenge retrospective&lt;/h2&gt;

&lt;p&gt;
  I had a lot of fun with this challenge, even though some aspects like reaching
  Mastery without upgrading other tools than my axe was kinda painful and
  annoying. But it forced me to play in a very different way than I usually do:
  I couldn’t go my regular route of buying ~500 blueberry seeds on Summer 1 to
  finance everything. I think I had money to buy like 20 of them instead and
  couldn’t even sell them.
&lt;/p&gt;

&lt;p&gt;
  I finished the run in 35 hours. I may have done nothing else all weekend and
  I’m not sure if it was worth it but I had a blast and had no other
  responsibilities so I’m kinda happy I did.
&lt;/p&gt;

&lt;p&gt;
  What surprised me, I only had one gap between shipping. That was the gap from
  Winter 14, Year 1 after I had shipped Raisins to Summer 14, Year 2 when I
  managed to ship a Mystic Syrup. Everything else was shipped the day after the
  previous. So there were only 56 days when I didn’t ship something.
&lt;/p&gt;

&lt;p&gt;
  I also expected to need Skull Cavern much more. I expected to need it to gain
  majority of my experience for mining and combat but I didn’t as the regular
  mines provided more than enough. I only did one run there.
&lt;/p&gt;


    </content>
  </entry>
   
  
  <entry>
    <title>Au revoir, Eleventy</title>
    <link href="https://hamatti.org/posts/au-revoir-eleventy/" />
    <updated>2026-03-04T00:00:00Z</updated>
    <id>https://hamatti.org/posts/au-revoir-eleventy/</id>
    <content type="html">
      &lt;p&gt;
  I learned about the
  &lt;a href=&quot;https://www.11ty.dev/&quot; class=&quot;notion-text-href&quot;&gt;static site generator Eleventy&lt;/a&gt;
  in the spring of 2018 from a colleague of mine. It had
  &lt;a href=&quot;https://www.11ty.dev/docs/versions/&quot; class=&quot;notion-text-href&quot;&gt;just released&lt;/a&gt;
  version 0.3.1 when I built the first Eleventy-based version of this website.
&lt;/p&gt;

&lt;p&gt;
  Ever since, it’s been my go-to tool for all my website needs. It would be an
  understatement to say I’ve enjoyed building sites with it. Its simplicity and
  the full control it provides have been unchallenged and I haven’t felt the
  need to even look elsewhere.
&lt;/p&gt;

&lt;p&gt;
  I’ve built dozens of websites with it in the past 6 years. I’ve
  &lt;a href=&quot;https://hamatti.org/blog/eleventy/&quot; class=&quot;notion-text-href&quot;&gt;written about it&lt;/a&gt;
  (according to 11ty Bundle’s listing, I’m a top 10 author which is kinda cool),
  taught others how to build sites with it and talked about it in various
  meetups.
&lt;/p&gt;

&lt;p&gt;
  Now, Eleventy is no more. Yesterday, it was rebranded as
  &lt;a href=&quot;https://www.kickstarter.com/projects/fontawesome/build-awesome&quot; class=&quot;notion-text-href&quot;&gt;Build Awesome&lt;/a&gt;
  with a start of a crowdfunding campaign by Font Awesome.
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Eleventy becomes Build Awesome. The engine stays the same. The scope grows.
&lt;/blockquote&gt;

&lt;p&gt;
  It’s going to a direction I won’t follow. Almost everything in that campaign
  is making me feel that the direction is not towards something I care about.
  It’s corporate, it’s &lt;i class=&quot;notion-text-italic&quot;&gt;product &lt;/i&gt;and it’s about
  features I don’t care about. While I don’t believe big changes will come to
  the core static site generator, I’ve seen this kind of change enough times to
  know when it’s my time to part ways.
&lt;/p&gt;

&lt;p&gt;
  1.5 years ago I
  &lt;a href=&quot;https://hamatti.org/posts/website-self-sustenance-checkup/&quot; class=&quot;notion-text-href&quot;&gt;wrote about how it’s important for me that I have limited amount of
    external dependencies&lt;/a&gt;
  for building my website:
&lt;/p&gt;

&lt;blockquote class=&quot;notion-quote notion-color-default&quot;&gt;
  Eleventy itself is also a 3rd party dependency but since it’s a Javascript
  library that I download to my computers when I install it, it’s not gonna be
  able to “just disappear” like a SaaS service like Notion could.
&lt;/blockquote&gt;

&lt;p&gt;
  I’m really happy about that: I’ll pin my Eleventy to the current version and
  store a forever copy on my computer so I can keep using it in the future as
  well.
&lt;/p&gt;

&lt;p&gt;
  In a fast moving technology industry having been able to use the same tool for
  almost 6 years is amazing. Zach has been an excellent developer and driver for
  the project and the amazing community has been a key reason for me to get so
  excited about the tool itself. And in this economy, I can’t blame anyone for
  wanting to figure out a more sustainable way to finance their work.
&lt;/p&gt;

    </content>
  </entry>
   
  
</feed>
