Juha-Matti Santala
Community Builder. Dreamer. Adventurer.

Blog posts in category “Blaugust”

Blaugust is an annual blogging festival that runs in August.

  • Aug 24th, 2025
    I have found the joy of clipboard managers

    A friend reminded me of how useful clipboard managers are and a few weeks later I’m totally hooked and don’t want to go back.

  • Aug 23rd, 2025
    Linking to books online

    I was wrong on Thursday when I ranted about it being hard to link to books without linking to Amazon.

  • Aug 23rd, 2025
    I’m happy when people learn and are inspired

    Blaugust group project for today invited us to write about tiny things that make us disproportionately happy.

  • Aug 22nd, 2025
    If you had absolutely no worries about money, and no fear, what are ten things you would do this week?

    My favourite exercise in personal reflection and goal setting is to go bold, go big and go beoynd life’s limitations and then find small parts that become achievable.

  • Aug 21st, 2025
    Handwriting is slow which gives me time to think

    When I write with my pen to a notebook, I’m much slower than when I type on my keyboard. It’s a win though because when it comes to thinking, speed isn’t often good.

  • Aug 20th, 2025
    Notes require regular gardening

    Notes can grow into a monster if you just keep adding stuff, never reading or maintaining your existing ones. To keep your notes useful, you need to do regular gardening.

  • Aug 19th, 2025
    Board game nights are my favourite way to socialise and make new friends

    For an introvert like me who sometimes struggles to find something to talk with, board game nights are a perfect place to make new friends.

  • Aug 18th, 2025
    My wallet doesn’t run out of battery

    I used to use anything I could in digital form but running out of battery and the enshittification of everything has made me into using non-digital solutions for important things.

  • Aug 17th, 2025
    Questions and answers about blogging

    Varun challenged me to answer questions about how I blog so here we go

  • Aug 16th, 2025
  • Aug 16th, 2025
    Is writing a hobby for me?

    I spend more time writing than with any of my hobbies, yet I don’t usually list is amongst my hobbies because it feels more part of who I am than an activity I do.

  • Aug 15th, 2025
    Network stress test for my smart home

    I aim to build my home automations so that nothing relies on Internet connection and I got to put that into a test when one morning my internet was disconnected by the ISP.

  • Aug 14th, 2025
    Blog comments, a must-have or fun extra?

    In the Blaugust community, an active discussion sparked on whether a blog needs to have comments enabled for it to be a blog. I say no and here’s why.

  • Aug 13th, 2025
    I really like Home Assistant’s triggers and actions model for its flexibility

    Separating inputs and outputs opens up the opportunities so much that I keep coming up with small improvements that I can implement through Home Assistant. For example, my light switch can boot up my entire home entertainment system in my living room.

  • Aug 11th, 2025
    Newsletters I read

    Here are my favourite newsletters that I follow at the moment.

  • Aug 9th, 2025
    wallabag, I choose you!

    As Mozilla shut down Pocket, I looked at eight alternatives to migrate into and ended up choosing wallabag, an open source, self-hostable solution. Two months later, I know I made the right choice.

  • Aug 7th, 2025
    Do not, I repeat, do not read the comments

    Despite the warning cries of my friends, I couldn’t resist the curiosity and I went and read what people on online forums thought about my blog post — surprise, I didn’t have the best mood afterwards.

  • Aug 6th, 2025
    Dotfiles feel too intimate and personal to share

    I love dotfiles and I love sharing. But I have this weird feeling that sharing my dotfiles is too intimate and personal.

  • Aug 5th, 2025
    Naming devices is fun

    Giving devices creative names is a lot of fun and one of the best things about purchasing a new device.

  • Aug 4th, 2025
    Solutions and references

    When I offer or ask for help for a technical problem, I prefer to not only solve my problem but to learn how to reach the solution and modify it for future needs.

  • Aug 3rd, 2025
    Find new blogs to follow from this year’s Blaugust participants

    We have over 100 blogs participating in this year’s Blaugust blogging festival and even if you’re not a blogger yourself, you can find many great new blogs to read.

  • Aug 2nd, 2025
    "You can't pause an online game" — how childhood gaming formed my work preferences

    As a kid, generational tension with my parents grew from my online multiplayer hobby — as an adult I find myself wanting a heads up early at work just like I did as a kid so I can schedule and prepare.

  • Aug 1st, 2025
    Welcome to Blaugust 2025

    August 1st means it’s time to kick off this year’s Blaugust blogging festival with an introductory post.

  • Jul 14th, 2025
    Blaugust 2025 starts August 1st

    Blaugust is a blogging festival we celebrate in August by writing and publishing blog posts and enjoying our art and craft.

  • Aug 31st, 2024
    Blaugust 2024 retrospective

    Another Blaugust finished with 31 posts in 31 days. I got to share my love for Python and its standard library over a series of posts that hopefully inspired readers to learn something new.

  • Aug 30th, 2024
    Book recommendation: Fluent Python (2nd Edition)

    Fluent Python is one of the best - if not the best - Python books and will help you become better at writing pythonic code.

  • Aug 29th, 2024
    What’s coming to Python in 3.13 and 3.14

    With new Python versions in the horizon, what goodies can we expect to see?

  • Aug 28th, 2024
    Couple of great Python podcasts

    Python community has so many great podcasts to learn more from. Here are 4 picks of the ones I’ve been mostly listening lately.

  • Aug 27th, 2024
    Quick prototyping with sqlite3

    Python’s sqlite3 bindings makes it a great tool for quick prototyping while you’re working out what it is exactly that you’re building and what kind of database schema makes sense.

  • Aug 26th, 2024
    Parse command line arguments with argparse

    In 2021 I wrote a blog post documenting argparse in a way that made more sense to me. This year for Blaugust and Batteries included, I want to resurface that for those who are new to argparse.

  • Aug 25th, 2024
    Pretty print and validate JSON on command line with json.tool

    Python has a variety of command line interfaces that can be run without writing any code or starting a REPL. Json module has one that I use quite regularly.

  • Aug 24th, 2024
    Test your codebase with unittest

    Few weeks ago I wrote about doctest and today, I’m looking into another way to write tests that is built in to Python: unittest.

  • Aug 23rd, 2024
    Branch out with pattern matching

    Since Python 3.10, Python has had support for pattern matching which is made it my all-time most anticipated release when it came out. It makes branching while capturing data to variables a breeze once you get used to it.

  • Aug 22nd, 2024
    Serve local HTML and CSS files with http.server

    python -m http.server provides a handy way to spin up a local server for your files.

  • Aug 21st, 2024
    Bring your custom toolkit to REPL sessions

    You can bring in your favourite tooling and most used imports to every REPL session with environment variable PYTHONSTARTUP.

  • Aug 20th, 2024
    Keep track of happenings with logging

    Python provides good basic functionality for logging in its standard library.

  • Aug 19th, 2024
    Memoize with functools.cache

    Do you have computationally expensive functions that are called often? Memoizing is a strategy that caches results in memory so the full computation can be skipped in future calls.

  • Aug 18th, 2024
    map and filter with list comprehensions

    Python has map and filter functions but we like to use list comprehensions instead because they flow off the tongue so smoothly.

  • Aug 17th, 2024
    Combine iterables with zip

    Combine or iterate over multiple iterators at once by zipping them together.

  • Aug 16th, 2024
    Random number chosen by fair dice roll

    Python’s random module offers tools to generate pseudo-random numbers.

  • Aug 15th, 2024
    Write more pythonic code with context managers

    Context managers enable you to create “template” code with initialisation and clean up to make the code that uses them easier to read and understand

  • Aug 14th, 2024
    Combinatoric iterators from itertools

    itertools module offers four combinatoric iterators that generate different combined outputs from one or more iterable.

  • Aug 13th, 2024
    Rituals build community camaraderie

    Shared rituals help build sense of belonging to a group. In this IndieWeb Carnival entry I discuss a few ways to build them.

  • Aug 12th, 2024
    A bunch of small game reviews: Shogun Showdown, Into the Breach and Fly Corp

    I’ve been recently enjoying three great games on my Steam Deck and I wanted to share them with you

  • Aug 11th, 2024
    Data classes in Python with dataclasses

    Python has a couple of methods to implement data class pattern. Last week, I looked into namedtuples and today, I’m writing about a newer option: dataclasses.

  • Aug 10th, 2024
    Rotating turn order with deque

    deque is a double-ended queue that I’ve used to implement rotating turn order for a (very simplified) game engine.

  • Aug 9th, 2024
    Debug with pdb and breakpoint

    Python’s standard library comes with good tooling to debug your code – and a lot of community-made tooling that can be configured to take your debugging productivity to a whole new level.

  • Aug 8th, 2024
    Document intended usage through tests with doctest

    There’s a lot to like about Python’s doctest module. It enables you to write tests as examples in your documentation, fulfilling two important duties of tests.

  • Aug 7th, 2024
    Improved print readability with pprint

    Pretty print module provides more readable prints for complex data structures

  • Aug 6th, 2024
    help() me Obi-Wan Kenobi, you’re my only hope

    Python’s built-in help system is your companion when developing or debugging Python code.

  • Aug 5th, 2024
    Count ‘em

    Python’s Counter provides a way to count items in iterables or mappings and get them in a dictionary-like object with a small handful of handy methods.

  • Aug 4th, 2024
    Improve your code with namedtuples

    We continue our journey in Python standard library by taking a look one of my absolute favorites: namedtuple. It’s like a regular tuple but adds documentation, making your code cleaner and easier to read.

  • Aug 3rd, 2024
    Reading and writing CSV with Python

    Python has great tools for reading and writing data in CSV format.

  • Aug 2nd, 2024
    Parsing nginx server logs with regular expressions

    Regular expressions are fun. In this series of Batteries included, I write about Python’s standard library with practical examples.

  • Aug 1st, 2024
    Blaugust 2024: Batteries included

    August’s blogging festival Blaugust is here again and this year, I’m writing about the goodies in Python’s standard library.

  • Jul 15th, 2024
    Blaugust starts August 1st

    Blaugust is a festival of blogging that takes place over the 31 beautiful days of August. Here’s what you can expect and how and why you should join!

  • Aug 31st, 2023
    Blaugust 2023: Lessons Learned

    It’s August 31st. I’ve published a blog post on each day of the month and now it’s time to reflect on what I’ve learned throughout this experiment.

  • Aug 30th, 2023
    Use pangrams to avoid mistakes in conference badge prints

    If you have a name that is not just ASCII letters and you’ve participated in an event abroad, it’s likely you’ve had your name messed up in the badge. Organizers can avoid that with pangrams

  • Aug 29th, 2023
    My First 100K

    My blog got over 100 000 views in the last 30 day window for the first time ever.

  • Aug 28th, 2023
    Custom cookie consent for video embeds

    Occasionally I want to embed Youtube videos or social media posts on my blog but wanted a clean and straight-forward way to deal with cookie consent. So I built my first version for Youtube embeds.

  • Aug 27th, 2023
    Compressing overlapping strings in Python

    I developed a solution to a overlapping string puzzle with Python using Test-Driven Development and in this blog post, I share my thinking and development process.

  • Aug 26th, 2023
    Where do my links live?

    Chris wrote last week about his link saving schemes and since I’ve talked about this topic surprisingly lot recently with people, I decided to share my approach as well.

  • Aug 25th, 2023
    6 months of recovery, how is life?

    It’s been about six months since I last wrote about how things are going. Time for an update.

  • Aug 24th, 2023
    Building Dark Mode for hamatti.org

    It’s finally time to make people who can’t stand light themes happy when they visit my page by building the dark mode.

  • Aug 23rd, 2023
    Let’s talk about Steam Deck

    I’ve now had Steam Deck for nearly a year and little by little I’ve gotten more comfortable with it and have opened up new avenues within the system.

  • Aug 22nd, 2023
    Website rewrite and switching to Notion as CMS

    This website served me well for almost 5 years with minor improvements, tweaks and hacks. Now, it was time for a total rewrite and upgrading my stack and tools.

  • Aug 21st, 2023
    Stardew Valley Mods I use

    Stardew Valley is one of my all-time favorite games and I have spent so many hours building farms and making friends. These days, I’ve added so many great mods that extend the playability and story of the game and wanted to share them with you.

  • Aug 20th, 2023
    Youtubers I watch

    I love Youtube and especially its many great indie creators. Since Youtube’s algorithms affect so heavily what everyone sees, I wanted to share some of my favorites so you could maybe find new channels to follow.

  • Aug 19th, 2023
    Bloggers I read: Saturday

    I read a lot of tech blogs to learn new things and stay up to date with my industry. This week I’m sharing a few of them so you can too!

  • Aug 18th, 2023
    Bloggers I read: Friday

    I read a lot of tech blogs to learn new things and stay up to date with my industry. This week I’m sharing a few of them so you can too!

  • Aug 17th, 2023
    Bloggers I read: Thursday

    I read a lot of tech blogs to learn new things and stay up to date with my industry. This week I’m sharing a few of them so you can too!

  • Aug 16th, 2023
    Bloggers I read: Wednesday

    I read a lot of tech blogs to learn new things and stay up to date with my industry. This week I’m sharing a few of them so you can too!

  • Aug 15th, 2023
    Bloggers I read: Tuesday

    I read a lot of tech blogs to learn new things and stay up to date with my industry. This week I’m sharing a few of them so you can too!

  • Aug 14th, 2023
    Pokemon tools updated for Obisidian Flames

    With the newest Pokemon TCG set Obsidian Flames being released last Friday, I’ve updated my tools to support the new set

  • Aug 13th, 2023
    Desert Island Discs

    Desert Island Discs is a BBC radio show where people share 8 songs, a book and a luxury item they'd take with them on a desert island. Here are my picks!

  • Aug 12th, 2023
    Future Frontend 2023 Recap

    In June, we organized Future Frontend conference in Helsinki with a couple of workshop days followed by two great conference days full of amazing talks. Here's my recap and talk recommendations from the bunch.

  • Aug 11th, 2023
    Projects I'm proud of: Teaching programming

    This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. For Friday, my story is an overarching story of a decade of teaching programming.

  • Aug 10th, 2023
    Projects I'm proud of: Potluck

    This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. One of those is Potluck, my latest tabletop design project.

  • Aug 9th, 2023
    Projects I'm proud of: Newsletters

    This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. Today is two-for-one special as I share my work with Dev Breakfast and Syntax Error newsletters.

  • Aug 8th, 2023
    Projects I'm proud of: Turku ❤️ Frontend

    This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. Today, I want to tell you about Turku <3 Frontend.

  • Aug 7th, 2023
    Projects I'm proud of: Boost Turku & Startup Journey

    This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. Today, I'm starting with my journey at Boost Turku.

  • Aug 6th, 2023
    Tools don't matter - until they do

    When starting blogging or coding, it can be overwhelming to choose the right tools. In the beginning, spend your time and energy on doing and learning, not thinking about and tinkering with your tools.

  • Aug 5th, 2023
    What makes a blog post a blog post?

    I have a very powerful inner critic when it comes to my own blog and what kind of posts I write. But I don't have that same filter when reading other people's post. I love the variety. Which makes me think: what does make a blog post and is there some criteria to fill?

  • Aug 4th, 2023
    Where to publish your blog?

    A question every blogger has to go through at the beginning is where to publish their blog. I'll give you a few options that will get you blogging in no time so you can focus on writing.

  • Aug 3rd, 2023
    Build an idea bank and never run out of blog ideas

    Often I get enough ideas throughout a week for my weekly blog posts. But sometimes I don't because I'm too busy or in a non-creative mood. That's why I have an idea bank that grows thoughts into ideas ready to be written into blog posts.

  • Aug 2nd, 2023
    A bunch more of small game reviews: Dredge, Dishonored, Farm Keeper

    I've recently been playing horror fishing simulator Dredge, magical first-person assassin stealth adventure Dishonored and tile-laying farming puzzler Farm Keeper.

  • Aug 1st, 2023
    Blaugust 2023, here we come

    Blaugust is a month-long celebration of blogging and I'm participating for the first time. I'm hoping to find new inspiration, write more, find new blogs to follow and to learn from fellow bloggers in the community. Join me on my journey through Blaugust.