A software engineer in Tokyo. Has unique development experience ranging from CPU, OS, hypervisor and programming languages
to one of the largest online dating services in Japan and one of the largest web search services in the world.
Noah is a novel system to run Linux’s binary on macOS by system call translation.
Noah is implemented as a hypervisor that traps linux system calls and translates them into Darwin’s system calls.
This approach of Noah is a novel one presented at VEE 2020, which is a famous academic conference in the field of virtualization.
Please refer to the paper
for the detail.
Or, you can look at this presentation slides
.
Have you designed your own ISA? Have you built a CPU on FPGA and a compiler for it?
Have you even run an operating system on that processor?
Actually, I have.
I ported Xv6, a simple UNIX like operating system to our own architecture and MIPS.
Please read my post
about our four months of building a home-built CPU of a home-built RISC ISA,
building a home-built C toolchain, and porting Xv6, a Unix-like OS, to that CPU.
Distrod is a systemd-based meta-distro for WSL2 that allows you to install Ubuntu,
Arch Linux, Gentoo and many other distros with systemd in a minute,
or make your current distro run systemd.
Distrod also provides built-in auto-start feature and port forwarding service.
This allows you to start systemd-managed services, such as ssh,
on Windows startup and make it accessible from outside Windows.
Let’s sudo by face recognition of Windows Hello on Windows Subsystem for Linux (WSL).
This PAM module allows you to authenticate sudo via face recognition,
fingerprint authentication, and of couse machine-local PIN.
It runs in both WSL and WSL 2.
Dbgee is a handy utility that frees you from the hassle of writing launch.json for VSCode.
Just start your program by a simple command in a terminal,
and the debugger will automatically attach to it with zero configuration.
Dbgee is very useful especially when your program is launched by some script.
SourceWinBat is a CLI utility to run Windows batch scripts in WSL/MSYS2/Cygwin,
and sync the shell environments between Bash and the Windows command line.
It’s an essential tool for me to do my daily work on WSL,
which requires me to run initialization scripts written for Windows.
$ cat init.bat
@echo off
set ENV1=bar! ; Environment variables will be synced
echo foo! ; Execute Windows echo commands
$ sw init.bat # init.bat is executedfoo!
$ echo $ENV1 # ENV1 is synced!bar!
$ export ENV2=baz! # ENV2 is set in Linux$ cat env2.bat
@echo off
echo %ENV2%
$ sw env2.bat # ENV2 is exported to Windows command linebaz!
$ sw echo %ENV2% # You also can run commands directlybaz!
Programming Language that Runs on Feature Phones
When I was in high school,
I created a script language for feature phones to play with programming in a dormitory where PCs were not allowed to be brought in.
It was based on an existing out-of-maintainence language, but with significant improvements;
it was downloaded by over 500 users in 2009.
Try the JS version app here
, which is ported by a user.
It’s not strictly a port of my version, but it has all the features of mine, including the undocumented ones.