March 11, 2018

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. Read more

October 7, 2017

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

September 16, 2017

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. Read more

June 19, 2016

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

June 4, 2016

Show Register Values of QEMU Emulator

To accomplish it, you can pass -monitor stdio option to qemu-system-TARGET. This option provides a monitor console for interacting with QEMU. And then info registers command prints the register values to stdout. $ qemu-system-x86_64 -monitor stdio -kernel kernel.elf (qemu) info registers EAX=cafebabe EBX=00009500 ECX=0010000c EDX=00000511 Also, it can be done with gdb. If -s option was passed, QEMU listen on port 1234 and wait for gdb connection. $ qemu-system-x86_64 -s -kernel kernel. Read more

© Hibariya 2020

Powered by Hugo & Kiss.