About
About this Blog
Working notes, side projects, and things I want to remember. Some posts are rough, some are more considered. I also write on Medium.
Resume
Embedded software engineer. Firmware, tools, and simulators for SoCs and related hardware, plus detours through networking, web, and mobile.
- Embedded control firmware for SoCs. Power conversion, USB-PD (v1.0 through v3.0), USB Type-C, TCPC. (C)
- CPU bring-up and verification using baremetal code, RTOS and Linux. Simulators and emulators. (C/C++/Asm)
- Pre-silicon test automation. System and conformance testing. Putting firmware in ROM and having it functional in the first samples back from the fab is one of the rewards. (C++/Python/System Verilog)
- Tools and middleware for interfacing to hardware via GUIs, CLIs and libraries. (C++)
- Device interfaces: SPI, I2C, USB, DisplayPort, UART. Flashing, log reading, host register access.
- Control and data interfaces for reconfigurable computing accelerator boards.
- Simulator development for embedded systems.
- Modeling SoCs, IO peripherals and boards. (SystemC/C++/Python)
- Simulink toolboxes for reconfigurable computing. (C++/Matlab)
- Network monitoring tools and server appliances. (C++/Ruby/TCL/Custom DSLs)
- Line speed (1G->10G) full packet analysis/filtering and capture to disk.
- Acceleration kernels and middleware for accelerated NICs.
- System control scripts for headless appliances. (Ruby/Bash)
- Acceleration kernel developer targeting reconfigurable computing devices.
- Image and network processing kernels. (Machine Code/Custom DSLs, similar to CUDA/OpenCL)
- Simulator, high level code generation and compiler development. (C++/Simulink Coder)
- Digital design engineer.
- RTL co-simulation for pre-silicon firmware development. (System Verilog)
- RTL development/logic synthesis/STA for micro-controllers and DSPs. (Verilog/TCL)
- Front end/backend web development. (Ruby on Rails/MySQL/SQLite/Javascript)
- iOS app/game development. (C++/Objective C++/OpenGLES)
- Multi-lingual user interfaces, Japanese localization.
Some older apps are also on this site.
About ShinCBM.com
The domain name was inspired after seeing an unexpected Commodore (CBM) Amiga sign in the Tokyo neighborhood of Shimokitazawa.

The banner image was taken from a hike near Mitsutogeyama in Yamanashi. You can get there via Mitsutoge station, on the Fujikyu railway.

Contact
Credits: Theme derived from Centrarium. Search uses lunr. Search code from CloudCannon.