As a kid I really wanted a dog. After begging my mum, she gave in with the proviso that I would be in charge of feeding and walking it twice| Emma Goto
I've had the honor of being featured in the weekly newsletter People and Blogs! You can read my full interview here, and I've also re-publis| Emma Goto
I’ve been blogging here on emgoto.com for over 5 years now. I initially began in 2020 writing about programming, but have since pivoted to s| Emma Goto
I've climbed over 100 mountains in Japan, and I'm excited to share all my hikes with you - from Tokyo day hikes to tackling Japan's 100 Famous Mountains.| Emma Goto
I've compiled a list of some of my recommended day hikes from Tokyo, ranging from beginner to intermediate difficulties. As well as classic| Emma Goto
Today marks 4 years since I started working 4 days a week - I currently take Fridays off, in exchange for a 20% pay cut. A 4-day work week i| Emma Goto
As well as actually writing blog posts, I spend a fair amount of time tinkering with the code and design of emgoto.com. For me, that's half| Emma Goto
Prior to 2025, I was quite sceptical of the whole AI trend, outside of occasionally using ChatGPT. This changed at the end of 2024 when my w| Emma Goto
One of the ways you can make your blog posts stand out to readers is to add a social card. Even if you haven't heard of them before, you've| Emma Goto
I've previously blogged about my take on digital gardens, and on adding a new notes section on my blog. I've been using it for content that'| Emma Goto
I'm Emma, an Australian-Japanese software engineer living in Tokyo. Welcome to my corner of the internet!| Emma Goto
Following on from my 2023, 2021 and 2020 wrap-up posts, I'm back for another year in review! This marks 5 years of me running my blog, and i| Emma Goto
I've recently been working on building a page to visualise Japan's 100 Famous Mountains. Since these mountains are spread out across Japan,| Emma Goto
If you spend time in tech blogging circles, you may have come across the concept of a digital garden, which offers an alternative for how yo| Emma Goto
2021 was a much more quiet year on my blog than compared to 2020. Continuing the tradition of my 2020 review post, here’s how my site has pe| Emma Goto
On Writing Well’s key message is to be economical in your writing. Find the most efficient way to express your ideas. Skip the fancy prose,| Emma Goto
Since beginning my blog in 2020, I've been using the Ulysses text editor to write all my posts. I publish my posts using a static site gener| Emma Goto
Inline editing allows users to edit content without navigating to a separate edit screen. In this tutorial, we’ll be building an accessible| Emma Goto
One of the ways you can make your Gatsby posts stand out to readers is to add a social card image. In this post, you'll learn how to generat| Emma Goto
A table of contents lets your readers see a high-level summary of your page. In this tutorial, we’ll be building a table of contents (or &qu| Emma Goto
Does your Gatsby blog have a commenting system set up? If not, you could be missing out! Comments help drive engagement by giving your reade| Emma Goto
Sometimes with Jest, you only need to test part of an object exists, or test on a subset of an array. We can do this using Jest’s partial ma| Emma Goto
If you're using the fs module to do things like write to files, or modify file names, you might have wondered - how do I unit test this? In| Emma Goto
In this post we’ll be covering how you can use the fs module in Node.js to write to and modify files with writeFile() and writeFileSync(). W| Emma Goto
Node.js scripts can be a real time-saver when you want to automate common tasks. In this post, you'll learn how to write your own script to| Emma Goto
In 2020 I read a total of 79 books - 78 in English, and one in Japanese. With a burst of last-minute reading in December, I managed to just| Emma Goto
2020 was probably a really strange year for a lot of us. For me, I can definitely see the silver linings - I'm an introvert, and so I've lov| Emma Goto
The Checklist Manifesto may look like yet another self-help or productivity book. But I found it to be a well-written book on the power of t| Emma Goto
A search bar is a great way to make content on your Gatsby site discoverable. In this tutorial, I'll be walking you through how to add local| Emma Goto
A search bar is a great way to make content on your website discoverable. In this tutorial, we'll be building an search bar component using| Emma Goto
Writing unit tests will keep your Gatsby blog bug-free, and leads to more maintainable code. This post covers how you can use Jest and React| Emma Goto
When you share your Gatsby blog to the world, you’ll want to make sure you give a good first impression. With react-helmet and meta tags, we| Emma Goto
When you need to fetch large amounts of data from your GraphQL server with Apollo, you may need to make use of its pagination feature. Pagin| Emma Goto
Code blocks are a great way to explain concepts to your readers, and you'll want to make them as easy to understand as possible. In this pos| Emma Goto
Currently my personal blog site doesn’t support comments. Since I cross-post all of my posts to DEV, I got the idea to show how many comment| Emma Goto
I recently open-sourced my blog built using Gatsby! This post will walk you through why I chose Gatsby, the Gatsby plugins I used, as well a| Emma Goto
Last Friday, I published my blog post on doing a digital declutter, then disconnected (mostly) from the internet. Taking a week off allowed| Emma Goto
In his book, Digital Minimalism, Cal Newport recommends taking a month-long digital declutter. In this time, you should take a break from al| Emma Goto
This week I decided to do something I had been eyeing for a while - contributing to DEV’s Forem repository. Ultimately the pull request I ra| Emma Goto
Recoil, Facebook's experimental state management library for React, has been receiving a lot of hype. With Redux being the most popular stat| Emma Goto
Looking for a simpler state management solution for React? This post will walk you through how to get set up with react-sweet-state. Check| Emma Goto
Redux Toolkit is a library that provides helper functions to simplify how you use Redux. It was created in response to criticisms that Redux| Emma Goto
Among the many libraries available to manage state in React, Redux is the most popular. But with this popularity has also come a reputation| Emma Goto
Choosing a state management library for your React app can be tricky. Some of your options include: Using React’s useReducer hook in combin| Emma Goto
As part of the #100DaysOfCode challenge, I’ve been working on creating a goal-setting app using a Rails + Preact stack. Up until now I’ve be| Emma Goto
In this post we'll be adding web monetization to your Gatsby blog, allowing you to create content that is only visible to users that are sen| Emma Goto
RSS readers allow users to conveniently consume content from multiple websites in the one place. In this post I'll be going through how to c| Emma Goto
After seeing the announcement for the Grant For The Web Hackathon I did a little bit of digging and thinking to try and understand web monet| Emma Goto
In the previous post in this series, we created a Rails app that renders a Preact frontend. In this post we'll be taking a deeper look at ho| Emma Goto
As an alternative to mounting React components during unit tests, you can use Enzyme's shallow() to render your component only "one lev| Emma Goto
Your app's code coverage is what percentage of the code is currently covered by unit tests. In this post I will explain how we can generate| Emma Goto
For 2020, one of my goals was to step outside of my comfort zone and write one blog post per week. I decided to blog as a way to improve my| Emma Goto
Storybook is a useful tool for visualising what your app's front-end components will look like across different scenarios. This guide will c| Emma Goto
After following this guide, you will have created a "Hello world" application that uses Preact, TypeScript and Ruby on Rails. We'l| Emma Goto
If you're looking for a JavaScript drag and drop library that provides snapping to grids, or need to make sure items can only be dropped in| Emma Goto
I recently read the book How to Take Smart Notes by Sönke Ahrens. It explores the note-taking method of a famous German sociologist Niklas L| Emma Goto
If you’re looking for a way to write easily maintainable and portable CSS in React, you may be interested in using the styled-components lib| Emma Goto
In celebration of International Women’s Day, here’s a quick post about my journey into tech! How it all started For me, it all started when| Emma Goto
This week I had the chance to attend ReactConf AU - the first ReactConf to be held in Australia! As the first conference that I had ever att| Emma Goto
React's useRef hook is most commonly used to store references to DOM elements. But did you know you can also use it to store and update valu| Emma Goto
Last month I finished reading The Pragmatic Programmer. I will admit I don’t necessarily enjoy reading software development books in my spar| Emma Goto
Accessing props from state using mergeProps While using Redux, you may come across a situation where you are passing in props from both mapS| Emma Goto
When writing Jest unit tests, I always struggle to remember the syntax for mocking ES6 modules. So this post is intended as a part-guide, pa| Emma Goto
Memoization is the act of storing the result of an expensive function call, and re-using the result whenever it’s required, instead of re-ca| Emma Goto
As your React app gets larger, you may have to start worrying about its bundle size. An app’s bundle size is the amount of JavaScript a use| Emma Goto
If you’ve ever been interested in developing a web app that integrates with Steam using OpenID, this post will help provide you with a quick| Emma Goto
I had a really, really good year for reading in 2019 - I hit my goal of 52 books (which is probably the first time I've actually met a New Y| Emma Goto
I recently realised that every day I do the same set of commands over and over: yarn eslint src/some/folders/**/*.js --fix git add . git com| Emma Goto
When my team starts work on a new feature, a developer is nominated on the team to act as the feature lead. This person is responsible for k| Emma Goto
If you want to get started with developing Trello Power-ups, GitHub Pages allows you to host your Power-Up for free (provided you're fine wi| Emma Goto