Running Desktop Applications on Containers

Docker is an important tool for running web applications in both production and development environments nowadays. Actually, it can also be used for running desktop applications. That means you can take advantage of Docker’s mobility even on the desktop. However, there are some tricks to make that work well. In short, you have to enable applications inside containers to use some resources on the host machine. Using X11 via Unix Socket As you may know, X11 originally supports remote use and it can be accessed via TCP or Unix Domain sockets. To use this function via Unix socket, mount /tmp/.X11-unix directory with docker’s --volume (-v) option.

Read more →

Testing Rails Application via Browsers with System Tests

I’m developing a small application which is built on Ruby on Rails, React and Relay. Since the project is based on my personal hobby and just a prototype, I preferred to write application codes rather than to write tests at first. However, as the application grows larger, I had to test the application manually every time when I make changes to make sure it doesn’t break other features. The lack of tests made development speed slower. So I decided to write automated tests.

Read more →

Why You Need a Proper Init Process on Docker

You have to use proper init process when you create a docker image. Running a process on docker without it might lead unexpected results. Today, I’ll explain about that. The “init” Process and Orphans On a Linux system, the process which has PID 1 is the root of the process tree. It is called “init”. The default signal handlers of the init process is different from other ordinary processes. And the init process has a special responsibility.

Read more →

KJ Method to Get New Ideas

KJ method is a way to integrate classified and arranged information and encourage to conceive new ideas. This will be useful to make better solutions for difficult issues. Today I introduce the outline of that. 1. Explore and Record To begin with, collect and record information as much as possible from all the participants by any method such as brainstorming. Summarize each idea into short title and write it to a little paper (e.g. Post-it). As a rough standard, there may be several dozen to one hundred plus several dozen ideas during 2 hours session. To keep an essence or context of each idea, keep casual expression. In other word, a title should not be abstracted too much.

Read more →

Calling C Function from Assembly Code

I’m developing a tiny kernel to learn how software works from the bottom to up. That’s why I write assembly code. However, doing everything with that is very hard. So I’d like to use C or higher level programming language as far as possible. By the way, there are many calling conventions to call C function. Which convention can be used depends on CPU architecture and compiler. Today I tried two of them.

Read more →

Gentaro "hibariya" Terada

Otakanomori, Nagareyama, Chiba, Japan
Email me

Likes Ruby, Internet, and Programming.