Akihiko Odaki (小田喜 陽彦)
- email@example.com (when I was a student of Hosei University)
- firstname.lastname@example.org (the first email address I got at pixiv Inc.)
- email@example.com (the second email address I got at pixiv Inc.)
Telling Something to Me
If you thank me or something, just please give a star on GitHub. If you have a question on this document, comment on GitHub.
If you want to tell me anything else or if you don't want to use GitHub:
- email to firstname.lastname@example.org,
- mention email@example.com on Mastodon,
- send a message to @aodaki:matrix.org via Matrix,
- send a message to firstname.lastname@example.org on Google Hangouts, or
- aodaki#7967 on Discord.
I have a Twitter account, but I may not be that active. https://twitter.com/aodaki
I'm kind of talkative so feel free.
I'm a human so I have human characteristics (e.g. I operate best in 20-30 celsius degree). Other charactersitics are:
- I have never left Japan and am optimized for its environment. I'm a native Japanese speaker.
- I have English language ability sufficient to write this.
- I prefer FLOSS.
- I'm kind of a low-level programmer and familiar with C language. I ocasionally wrote MIPS, ARM, and C++. I read x86-64 for debugging but my understanding is kind of fragile.
- I have some knowledge of UI programming paradigms since I learned them to build Mux, a UI programming thing for Unity, and coded some Web applications.
- I use GNU/Linux with GNOME.
- I prefer to work in a team because humans are interesting by nature and a team also helps me determine my role. However, it is also fine for me to work alone.
- I do any kind of programming if I'm sufficiently motivated.
- I'm from Ibaraki.
- I love chocolate.
Before July, 2017
I was a occasional FLOSS contributer.
- Capstone, mainly ARM support bugs https://github.com/aquynh/capstone/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed
- Radare2 ARM support bugs https://github.com/radareorg/radare2/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed
- GNU binutils' ARM linker bug https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=5025eb7c0d87b01507116353b5d63b163d7add3d
- elfutils improvements https://sourceware.org/git/?p=elfutils.git&a=search&h=35e49cac53a97ae6c51190c8e2d35a215e188bba&st=author&s=Akihiko+Odaki
- cv2pdb https://github.com/rainers/cv2pdb/pull/38
- ARM and EGL support for QtWebEngine https://code.qt.io/cgit/qt/qtwebengine.git/log/?qt=author&q=Akihiko+Odaki
- buildroot https://git.buildroot.net/buildroot/log/?qt=grep&q=Akihiko+Odaki
- Xamarin.Forms bug https://github.com/xamarin/Xamarin.Forms/pull/303
- Xamarin.Android Linux host bugs https://github.com/xamarin/xamarin-android/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed
- Ruby bug https://bugs.ruby-lang.org/issues/13648
- Mattermost https://github.com/mattermost/mattermost-server/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed
- Paperclip https://github.com/thoughtbot/paperclip/pull/2545
- Sapper https://github.com/sveltejs/sapper/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed https://github.com/sveltejs/sapper-template/pull/70
- parcel-plugin-svelte https://github.com/DeMoorJasper/parcel-plugin-svelte/pull/11
- react-virtualized https://github.com/bvaughn/react-virtualized/pull/663
- YARD https://github.com/lsegal/yard/pull/1099
- extract-text-webpack-plugin https://github.com/webpack-contrib/extract-text-webpack-plugin/pull/601
July, 2017 - June, 2018
Mastodon is Web application and built with Ruby on Rails. It has RESTful APIs and ActivityPub, a federation protocol. The UI is built with React and its state is managed with Redux. It stores data to PostgreSQL and Redis. I developed for all of its subsystems.
Speaking of Pawoo-specific feature development, I assisted the full-time workers of the team and developed a feature relatively independent of the other aspects of the software.
- Contributed to Mastodon.
- Contributed to rspec-sidekiq.
- Developed Pawoo Music, a discontinued variant of Mastodon. I was responsible for a feature to generate a music video suitable for video-sharing websites like YouTube and Twitter. The feature had the interactive preview and the actual video was generated on the server.
- Suggested and conducted an experiment to integrate Mastodon and Matrix, although it was suspended before yielding any results and canceled later. Contributed to Matrix (https://github.com/matrix-org/matrix-react-sdk/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed) in the process.
July, 2018 - March, 2019
I was relocated for developing VRoid Studio, a software to build humanoid 3D models without special expertise. My involvement began just before its first release. My focus was to improve the productivity of the team because the relocation was regarded as "temporal" in the first place.
- Constructed and maintained a CI infrastructure with Unity, Linux, and GitLab CI. GitLab CI was managed by a colleague so I wrote application-specific code and communicated with him for the integration.
- Designed and implemented Mux, a tool to build the UI with XAML (eXtensible Application Markup Language) and data binding, and reimplemented the UI of VRoid Studio with Mux.
- Minor FLOSS contributions
- Fixed many bugs of Xamarin.Forms' XAML processor used in Mux. https://github.com/xamarin/Xamarin.Forms/pulls?q=author%3Aakihikodaki+
- Contributed to XR.Baboon https://github.com/inorton/XR.Baboon/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed
- Contributed to docfx https://github.com/dotnet/docfx/pulls?q=is%3Apr+author%3Aakihikodaki+is%3Aclosed
- Contributed to UniVRM https://github.com/vrm-c/UniVRM/pull/21
- Contributed to UniGLTF https://github.com/ousttrue/UniGLTF/pull/15
May, 2019 - Augest, 2019
I was employed as a full-time worker, and had some training in April. Later, I joined the development of VRoid Mobile, designed for more casual humanoid model creation and including AR feature. I left the team just after its release.
- Designed the architecture of the application as whole. (It was modeled as MVVM and integrated subsystems designed and implemented independently.)
- Clicked the "New Project" button of Unity and wrote the integration of different subsystems and many of its UI components (of course in Mux).
- Ported the CI infrastructure developed for VRoid Studio.
- Instructed other developers to enforce the application architecture and Mux best practices and to provide some generic programming advices. My intention was to maintain the steady development until the release and after I left.
- Minor FLOSS contributions
- Contributed to bitrise/steps-cache-push https://github.com/bitrise-steplib/steps-cache-push/pull/32
- Contributed to better-apk-expansion https://github.com/auxility/better-apk-expansion/pull/16
September, 2019 - October, 2019
Technically I had never had the "On-the-Job Training", so I completed it by temporarily working for ImageFlux team.
WebRTC bindings for .NET, mainly targeting for Unity are its results. The library avoids common pitfalls of such bindings like multi-platform support and garbage-collector awareness.
I also contributed to mono/sdb. https://github.com/mono/sdb/pull/58
November, 2019 - Februrary, 2020
I was relocated for pixiv Sketch team. pixiv Sketch is a social network where users can casually post drawings (i.e. it is totally fine to post incomplete works). It has drawing tools and a live broadcast feature.
I had no particular job to do, so I just did any technical things the others don't do.
pixiv Sketch had a backend server application providing RESTful APIs representing its resources and frontends providing the UI. Such a combination is called Backend-for-Frontend, or BFF. The backend was a Ruby on Rails application, and the frontends were Web, Android, and iOS applications.
I modified the WebRTC library for additional features on iOS like screencasting with audio and an extra audio configuration. https://github.com/pixiv/webrtc
March, 2020 - Februrary, 2021
The backend and the Web frontend of pixiv Sketch was assigned to me. I focused on reliability.
- Contributed to ClusterWS/cWS https://github.com/ClusterWS/cWS/pull/35
- Debugged and patched Mozilla Firefox to fix CSRF. https://bugzilla.mozilla.org/show_bug.cgi?id=1605305
I become an unemployed FLOSS contributor again.
- QEMU https://gitlab.com/search?utf8=✓&search=Akihiko+Odaki&group_id=3038080&project_id=11167699&scope=commits&search_code=false&snippets=false&repository_ref=master&nav_source=navbar
- virglrenderer https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests?scope=all&utf8=✓&state=all&author_username=akihiko.odaki
- UTM https://github.com/utmapp/UTM/pull/2361
- Mutter https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1737
Actually I'm working on QEMU on macOS. Especially I'm focusing on Virgil 3D, a bridge to expose host OpenGL to guest, and Apple Silicon/M1. https://gist.github.com/akihikodaki/87df4149e7ca87f18dc56807ec5a1bc5
Akihiko is my given name. Aki (陽) means "sun". Hiko (彦) means, well, I don't know.
Odaki is my family name. The literal meaning probably just doesn't make sense, but:
- O (小) means "small".
- Da (田) means "rice field".
- Ki (喜) means "happy".
So it may mean "I'm happy with a small rice field" or I don't know. Indeed, I prefer to get things done with smaller code base.