Juha-Matti Santala
Community Builder. Dreamer. Adventurer.

Blog posts in category “Javascript”

Frontend or backend, Javascript content lives here.

  • May 12th, 2024
    Two small hockey web projects

    Spring is the best time of hockey fans: NHL playoffs and IIHF World Championships fill days and nights with hockey. For me, that means running fun community projects and building software for them.

  • Jan 24th, 2024
    Community websites with Eleventy

    With Eleventy’s data files, I’ve come up with a good setup to build landing pages for communities that organize events.

  • Jan 10th, 2024
    Join us at Future Frontend 2024

    Our next conference is coming June 13-14 and I want to invite you to join our lovely community of developers.

  • 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.

  • May 3rd, 2023
    In a beautiful world, APIs would be open

    In a world where the APIs and data would be open and everyone could build their own UIs and apps on top, the digital world would be more usable and beautiful for all of us.

  • Apr 19th, 2023
    A look at my on-going projects

    I have a few developer community initiatives and software projects that I've been working on for a while so I decided to give an update on all of them at once.

  • Apr 12th, 2023
    How to sort a Pokemon deck list?

    I've started building my new hobby project, a deck builder for Pokemon TCG players. One of the first interesting avenus in that was to figure out how to write a compare function for sort.

  • Jan 20th, 2023
    My Pokemon apps updated for Crown Zenith

    Pokemon TCG's newest set Crown Zenith dropped this Friday and for me, a release date means updating my projects.

  • Nov 23rd, 2022
    New Firefox extension to help Pokemon TCG players

    My newest Firefox extension helps Pokemon TCG players with their online code redeem process by improving the UX, reducing errors and making it easier to keep track of codes.

  • Nov 16th, 2022
    My overengineered tooling for Pokemon TCG Card Viewer extension

    Pokemon TCG Card Viewer is a Firefox extension with development tooling that's overengineered but fun. In this blog post, I'll go through how I use web-ext and make to streamline the development and build process.

  • Nov 9th, 2022
    How to wait for user input from Firefox extension page before continuing

    I recently explored a few ways for a Firefox extension to ask for user input via an extension page and continuing the extension execution once that has been provided.

  • Oct 12th, 2022
    React Finland 2022 Recap

    In September 2022, I spent a week organizing and participating in React Finland. Here is my recap of the conference and my picks for interesting talks to check out.

  • Sep 28th, 2022
    kittens-everywhere – how to build a browser extension

    A tutorial for building your first browser extension - kittens-everywhere - that replaces images in the web with pictures of cute kittens.

  • Sep 7th, 2022
    I built a Firefox extension for Pokemon TCG players

    I built a Firefox extension for Pokemon TCG players who like me, want a better way to read PTCGO decklists in the web.

  • Jun 29th, 2022
    Javascript's console is so much more than just console.log

    I previously wrote how print statements are the best debugging tool. This time, I'll dive deeper into debugging via printing in Javascript/Typescript land. console.log is well known but there's more than meets the eye.

  • Jun 8th, 2022
    print is your best debugging tool

    One tool to rule them all, one tool to find them (bugs). One tool to bring them all, and in the editor fix them.

  • Jun 1st, 2022
    GLC Decklist Validator updated with Astral Radiance

    Last week I updated my GLC Decklist Validator with the newest Pokemon TCG set Astral Radiance and wrote a short introduction to the app and how its built.

  • Nov 24th, 2021
    Hello code, my old friend

    It's been a while since had time and energy to code but when I got into the flow, I ended up doing a major rewrite of an application I had built earlier in the fall.

  • Sep 8th, 2021
    React Finland 2021 Recap

    I spent the previous week at React Finland 2021 conference that was full of very interesting sessions. Here's my thoughts about the conference and recommendations for talks to watch from the event.

  • Aug 25th, 2021
    Syntax highlight all the things

    Prism.js is a popular Javascript library that enables syntax highlighting for code examples on a website. I created syntax parser for PTCGO deck lists to give them a bit of more life.

  • Jul 28th, 2021
    Blog post filter with Netlify Functions

    I built my first ever serverless feature to add tag filtering to my blog listing. Here's how I integrated that to my Ghost & Eleventy setup with Netlify Functions.

  • Jul 21st, 2021
    Javascript Basics: Scope

    One abstract concept Javascript developers need to learn quite early on is the concept of scope. In this blog post, I'll walk you through what scope is and how it works in Javascript.

  • Nov 25th, 2020
    Customize your Internet experience

    Sometimes websites and web apps need a bit of customization to make them fit your personal workflow (or to hide things that distract you). Bookmarklets, browser extensions and user scripts are tools that you can use to customize the experience to your liking.

  • Nov 18th, 2020
    Added keyboard support to ON24 with bookmarklet

    ON24 webinar platform didn't support keyboard usage for changing slides so I wrote a bookmarklet for me and my colleague to get through an online meetup.

  • Nov 11th, 2020
    Functions 101

    There is a brief moment in new software developer's life when the concept of functions (or subroutines or methods as they are called in some languages) is bit fuzzy. This post aims to be a good starting point on your journey to understand functions, how they are built and how they are used.

  • Nov 4th, 2020
    Validating dynamic data conditionally with Joi

    How to validate dynamic data using conditional validations using Joi library? In this post, I explore a use case from last week to see how we can check that all numeric values are positive values.

  • Oct 28th, 2020
    How to ask help for technical problems?

    Asking for help in technical problems can end up in a lot of back and forth before even getting to the bottom of the issue. Here are some tips how to effectively ask for help.

  • Aug 12th, 2020
    Adding keyboard shortcuts to Viaplay

    Viaplay's video player was lacking some shortcuts that I had gotten used to with other streaming sites. I built a Chrome Extension to add support for mute and fullscreen shortcuts to make my life a bit nicer during the NHL playoff season.

  • Apr 18th, 2020
    Morning Coffee Projects: Youtube extension

    Youtube constantly recommends me old videos that I've already seen or are not relevant anymore. So I built a Chrome extension for myself to alleviate the issue.

  • Mar 6th, 2020
    How my site is built with Eleventy + Ghost

    This website is run with Eleventy, using Markdown and Ghost CMS for blog posts. I've iterated in a couple of ways to build the CMS integration.

  • Mar 4th, 2020
    New Guide - Humane Guide to Debugging Web Apps

    Humane Guide to Debugging Web Apps walks the reader through the fundamentals of the mindset and process, provides practical tools and tips for debugging Javascript and CSS code and finally talks about some of my favorite non-technical approaches.

  • May 29th, 2019
    Simple backend system for frontend workshops in Javascript

    When teaching Javascript with or without React or Vue, it's hard to figure out what to do with backend. I built a simple system that can be plugged into any of them to act as backend, storage and API.

  • May 23rd, 2019
    Make your function calls more readable

    Default arguments in Javascript cannot be named when calling the function. This post takes a look at different approaches to make the code more readable.