Johan Sokrates Wind
Verified Expert in Engineering
Software Developer
With experience as a world-class competitive programmer and as a software developer at ARM, Johan enjoys doing projects using advanced algorithms, data structures, and numerical methods, writing high-performance implementations in C++, possibly combined with some scripting in python. His specialties are complex algorithms and advanced computer vision algorithms such as simultaneous localization and mapping (SLAM). You can check out his competitive programming achievements below.
Portfolio
Experience
Availability
Preferred Environment
Python, C++, Linux
The most amazing...
...competition I've won might be the Abstraction and Reasoning Challenge, an artificial general intelligence contest hosted by François Chollet on Kaggle.
Work Experience
Software Engineer
Freelance Work
- Developed an automatic logo creation script that takes as input an institution name and outputs a simple logo using web scraped images.
- Optimized a solver of a video game. Before optimization, it ran too slow to find a solution to the harder levels, after optimization it found the shortest solution to all the levels in a few minutes.
- Developed a mapping-and-positioning algorithm and implementation based on featureless markers. An accurate map was created by marker tracking and fine-tuned using bundle adjustment. The map was then used for real-time, accurate positioning.
- Gave competitive programming tutoring. Regular meetings teaching algorithms, data structures and implementation tricks.
Software Engineer
Arm
- Developed and implemented a working simultaneous localization and mapping (SLAM) solution running in real-time on mobile phones, using optimized C++ with no library dependencies. Delivered training sessions teaching about my SLAM solution.
- Analyzed the performance of Mali GPUs by writing micro-benchmarks in OpenGL/GLSL. Benchmarked and investigated memory latency, volumetric lighting efficiency, and problems relating to shadow volumes.
- Developed an efficient pruning algorithm which was implemented in hardware improving rendering performance in subsequent ARM GPUs.
- Wrote highly optimized GLSL code used in ARM's rendering pipeline.
Experience
First Place in the TrackML Contest by CERN on Kaggle
http://github.com/top-quarks/top-quarksAll details can be found at Kaggle.com/c/trackml-particle-identification.
My solution was based on a physical model of particle trajectories and statistical models for the trajectory noise and maximum probability track assignments. I applied advanced data structures in C++ to make my code fast compared to most of my competitors. Additionally, I made my algorithm and code completely modular so that I could benchmark and improve each part of the code separately. This allowed me to rapidly implement new features, testing, and hyperparameter tuning, ultimately leading to a first-place solution.
First Place in Abstraction and Reasoning Challenge — A Kaggle Contest Hosted by François Chollet
http://github.com/top-quarks/ARC-solutionMore than 900 teams competed for a prize pool of $20,000. In addition to winning, I was also the only one to receive the $3,000 bonus prize for exceptional performance on the test set.
All details about the competitions can be found at Kaggle.com/c/abstraction-and-reasoning-challenge.
My solution was based on program synthesis using a powerful domain-specific language (DSL) that I implemented in C++. By applying advanced algorithms, data structures, and optimization techniques, I searched a large number of candidate programs compared to most of my competitors.
Quick and Easy 3D Scanning and Printing of Human Heads
1. Spin once on a rotating chair in front of a Kinect v2 depth camera.
2. Inspect a visualization of the reconstructed 3D model.
3. 3D print the reconstructed model.
The software was installed as a showcase at my university.
The 3D reconstruction extracted the raw depth and color data from the Kinect using the API. It ran a custom dense, visual odometry solution written in optimized OpenCL to get the camera positions. Then it fused the depth data into a point cloud using the camera positions and pruned outlier points using some heuristics. Finally, it ran a publicly available implementation of "SSD: Smooth Signed Distance Surface Reconstruction" to convert the point cloud to a surface mesh.
The reconstructed 3D model could then easily be printed using a nearby 3D printer.
Education
Master's Degree in Applied Mathematics
Norwegian University of Science and Technology - Norway
Certifications
Google Code Jam 2020 World Finalist
Skills
Libraries/APIs
Scikit-learn
Platforms
Linux
Languages
C++, Python
Frameworks
OpenCL
Other
Statistics, Computational Statistics, Numerical Methods, Numerical Optimization, Numerical Modeling, Machine Learning, Algorithms, Data Structures, Computer Vision Algorithms, Simultaneous Localization & Mapping (SLAM), Visual Odometry, 3D Graphics, 3D Rendering, Performance Optimization, Statistical Modeling, Competitive Programming, Computer Vision, Mechanics, GPU Computing, Program Synthesis, 3D Reconstruction, Point Clouds, Optimization
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring