Close

Nobutaka Kim

キム ノブタカ

Software Engineer

フリーランス

About Me・自己紹介

I have a Bachelor of Computer Science from Thompson Rivers University in Canada, Bachelor of Commerce from UBC in Canada, MSCS from Georgia Tech and speak fluent Japanese. At OMSCS I completed Software Analysis and Test so have a good background in static and dynamic analysis and testing including instrumenting LLVM IR and using symbolic execution engines such as KLEE. Other courses I completed in the past year include Game AI (Unity) where I used fuzzy logic and neural networks (ML Agents, PPO algorithm) to train a race car to drive on its own, Information Security where I learned how to mitigate OWASP top ten threats, binary exploitation, RSA exploits and other security issues. My strongest language is Python but I am also proficient in those listed below. I had a couple of web apps deployed on Heroku but they were deleted, one with a CI/CD pipeline using CircleCI (one I moved over to pythonanywhere), and many other projects in computational photography, AI for Robotics and machine learning among others showcased below. My other interests in computing include HPC (high performance computing) using openMP, Cuda and MPI, theoretical computer science such as NP-completeness, bioinformatics, robotics algorithms and functional programming. I also recently learned POSIX multithreading and IPC (shared memory, semaphores, message queue). In my free time, I enjoy playing tennis, mountain biking, golf, snowboarding, ice skating, reading and cooking (trying to be more plant based nowadays).


2017年にプログラミングを始めましたが、2020年にカナダ・BC州のトンプソンリバーズ大学・コンピューターサイエンス学部を卒業しました。 GPA(成績平均点)は卒業生のうち、トップ3に入りましたが、好きな授業はバイオインフォマティクス、アルゴリズム、 コンピューターサイエンス理論、暗号手法等でした。現在はジョージア工科大学・コンピューターサイエンス学部・オンライン大学院を2023年7月に卒業しましたが、計算者進学、ロボット工学のAI、大学院アルゴリズムの単位は取得済みです。その他にソフトウェア品質向上に必須なソフトウェア・テストに関する専門知識を身につけました (LLVM、Symbolic Execution等)。 HPCの世界ではOpenMP、Cuda、MPI等を勉強中です。POSIXのマルチスレッド、IPC等にも精通しています。 セオリーではNP完全問題や関数型プログラミング(Haskell, Elm)に大変興味が有りますが、勉強を続けたいと思います。趣味はテニス、ゴルフ、、 スノボー、マウンテンバイク、読書と料理等ですが、最近はプラントベースを意識してます。

Experience・経験

Freelance

Developer/Translator/English Teacher/Tennis Coach/Personal Trainer

This is quite a varied background which I feel helps me as a developer since I bring many different perspectives to solving problems. For instance my teaching background helps me write code that is highly readable since I am used to writing things down in a way that my students could follow. This also makes it more modular and reusable. As a translator, I developed strong research skills so anytime I have run into problems while coding, I have always been able to Google my way to working solutions. I also have a good grasp on linguistics which helps me when building neural networks for NLP (natural language processing). As a tennis coach and personal trainer, I know the value of chipping away at problems bit-by-bit and making incremental improvements to myself and to code I write which accumulates over time into positive results. As a developer, my current focus is to make code more extensible by use of paradigms such as dependency injection which I learned while studying the concept of using interfaces for these purposes when developing web applications in C# .NET


フリーランス活動にて翻訳・通訳・英語講師・パーソナルトレーナー・テニスコーチ・SWEを掛け持ちしましたが、SWEは2018年からです。 様々なお仕事を実施した経歴がデベロッパーとして活動する際に役立っています。例えば、講師として「生徒が読みやすい文書」を心がけていましたが、 それがデベロッパーとしては「他人が読みやすいコードを書く」につながりましたが結果的にそれが「モジュール式及び再利用可能」なコードになっています。 翻訳経験では機械翻訳の技術やAPIに触れる機会が多かったためにNLP系ニューラルネットワークのチューニングができます。及び新たなジャンルの翻訳業務を 実施する場合にはネット上でのリサーチが重要でしたので、デベロッパーとしてライブラリ・フレームワーク・実装の手法等のリサーチは得意分野です。 スポーツ指導者・選手の経験の教訓は「日々コツコツと実力を上げていく」でしたが、Leetcodeにて問題を解いたり、現在はRust言語、Haskell言語、Unityゲームエンジンにてシミュレーションの開発の勉強を日々続けています。

Education・学歴

Georgia Institute of Technology・ジョージア工科大学

Sept 2019 - July 2023

Masters of Science in Computer Science

コンピューターサイエンス学部大学院

Overall GPA >= 3.75 成績平均 >= 3.75

Thompson Rivers University・トンプソンリバーズ大学

Jan 2017 - Dec 2020

Bachelor of Science in Computer Science

コンピューターサイエンス学士号

Overall GPA >= 3.43 成績平均 >= 3.43

University of British Columbia・ブリティッシュコロンビア大学

Sept 1994 - June 1999

Bachelor of Commerce in Finance

商学部金融学科学士号

Overall GPA >= 3.3 成績平均 >= 3.3


Projects・主なプロジェクト

Static Plant Based Food Website

Made with HTML5, CSS, Bootstrap and a tiny bit of JavaScript to make the case for plant-based diets. The font is difficult to read but I just treated this as an experiment to try out different fonts downloaded, layouts such as parallax, etc.

ビーガン(粗食主義)の食生活がどう温暖化対策に貢献できるか、そしてビーガンの健康効果を説明しています。 Link to ecoWarriors static site

Bioactive Food Ingredients

Made with PHP, JavaScript, CSS, Bootstrap, HTML5, MySQL and deployed to Heroku (was deleted), this app focuses on disease prevention through diet based on data taken from a Japanese university's databases using Python BeautifulSoup and translated using Google Translate API (it was GCP or Azure) services accessed via a PyPi package.

Link to bioactive peptides app repo

Bioinformatics sequence alignment app

Python Plotly Dash bioinformatics web app with CI/CD pipeline (CircleCI and pythonanywhere) and browser testing with Selenium was made for my final project in an intro to bioinformatics class.

Link to bioinformatics app

Canadian food database app

This was made with Python, Plotly Dash and MySQL and MongoDB. However, the app in development is shown operating in the following videos. Also, the repo is listed on my resume.

video part 1 video part 2

C++ Qt Calculator App

Made with Qt GUI and C++, this calculator uses the Exprtk Math Engine under the hood. My calculator is fairly basic but can be expanded to do more. The repo is listed in my resume.

Link to C++ Qt Calculator repo

Ninja Survival Game made with Unity

A ninja survival game made with Unity 3D game engine. Please see below.

Robotics AI Projects・ロボット工学のAIプロジェクト

Kalman Filter カルマンフィルタ

The video shows a simulation of a spaceship navigating an asteroid field using Kalman filters to detect asteroids and predict possible collisions so it can get from the start at the bottom to the goal at the top.

Spaceship navigates asteroid field video Project Description

AI Racecar made with Unity

Using fuzzy logic to autonomously race a truck in Unity. Also used Unity ML-Agents PPO algorithm (reinforcement learning) to train the race car.

fuzzy logic race car neural network race car

Computer Vision, Perception Projects・コンピュータービジョンのプロジェクト

Face Landmark Detection

This was more about tuning open source face landmark detectors to work with my dataset but as I have written a dog breed detector in Tensorflow and Keras, I am confident I can replicate this quite easily.

Link to face landmarks video

CNN for Defect Detection in Windshields

I passed a test for a German Manufacturing Execution System company's test for machine learning engineers. I used transfer learning with the VGG16 backbone and data augmentation to find the cracks in the car windshields.

Link to video part 1 Link to video part 2 link to code repo

Particle filter on tennis player

I wrote a particle filter that uses Gaussian probabilities to localize objects. There is a demo video for the Mars Glider simulation as well as for using a particle filter to localize tennis players on broadcast TV tennis. I added another link to a tennis video where I used Tracknet to track the tennis ball and Openpose to track the players' poses.

Link to particle fitler video Openpose and Tracknet in tennis video

Seam carving images around key points

The midterm project, seam-carving by Avidan and Shamir was a good exercise in dynamic programming and OpenCV. It is introduced again later in the computational photography PDF below.

Link to seam carving video

Computational Photography in Python

Please scroll through the portfolio below.

Skills

Get in Touch・連絡