profile image

Hello, world! I am Shogo Watanabe, a software engineer from Japan. nownabe is my internet name. I love dogs, coding, watching animes, reading comics, playing drums, and playing online video games. Now, I work as a Cloud Customer Engineer at Google in Tokyo, Japan.



Brainfuck Board

Brainfuck Board is an interpreter for Brainfuck that works on browsers. It run brainfuck programs and visualizes the instruction flow and memory states. It's implemented with React/Redux and written in TypeScript.

x86 Board

An emulator of x86 CPU to learn about x86 assembly, created with React/Redux. This emulator can execute i386 assembly programs and show data in registers and memory step by step. It allows you to learn x86 assembly.

Union Fes '15

Designed and built a website for a live concert. It's responsive and parallax. Deployed by Wercker, generated by Middleman.

Open Source Softwares



A CLI tool to encrypt/decrypt Kubernetes Secret YAMLs. Developers can create and edit Secret as plain YAMLs, not encrypted, not encoded to Base64. To specify encryption keys, developers can choose a command line option or an environment variable. It is written in Go.


A simple CLI tool to encrypt/decrypt files with secret password. It is written in Golang.


A brainf*ck processor. You can create your original programming language like brainf*ck with it.



easy_settings is a gem to manage constants from yaml very easily. It can be used as standalone and also integrated into Rails.


black_company is a gem to provide thread pool with simple and flexible interface.


erlang_config_parser is a parser to parse Erlang data structures. The parser in it is generated by Racc.


app_root gem can detect the application's root directory, inspired by Rails.root. It is expected to be embedded in frameworks.


rack-rsync is a rack middleware to sync files to other server with rsync. It was created to make Gem in a Box server redundant.


bq_guess guesses BigQuery schemas from existing logs. Now it supports JSON Lines and LTSV logs.


bq_coaster is a tool set for Google Cloud Dataflow and BigQuery. It can automatically generate BigQuery schemas, Java classes wrapping logs and Java converter classes for Dataflow to convert logs into BigQuery Rows from a schema file.

All other gems

Itamae Plugins


It is an Itamae resource plugin to configure linux user's SSH authorized_keys file. It can get authorized_keys from string data, local files and GitHub.


itamae-node_env is an Itamae wrapper to provide itamae-env command. With itamae-env, environment variables can be used for node attributes.

Ruboty Plugins


A Ruboty plugin to store brain in LevelDB.


A Ruboty plugin to store brain in a JSON file.



Percona XtraDB Cluster

(Japanese) Overview of Percona XtraDB Cluster at Percona Meetup Tokyo vol.1.

Scalable Architecture with RabbitMQ

(Japanese) Explains scalable microservices with RabbitMQ.