Hi, my name is Joost van Ham, full stack software engineer with over 15 years of professional experience. I'm located at Breda, the Netherlands,
working often remotely. Also known as Xoppa, which is the name of the company that I founded in 2001.
I've been working professionally in software development in server, desktop, web and mobile spaces with experience across the trading, accounting, e-commerce,
security, health and media domains. Since 2012 I am core developer of libGDX, a widely used cross platform gaming library, where I'm focussing on linear algebra, 3D physics
and 3D graphics. I have a strong background in C-family languages, like C++, C# and Java.
In my FAFF time I like to play with artificial intelligence using ANN in parallel programming with for example OpenCL, CUDA and SIMD.
Joost has been a corner stone in the development of libGDX for the past few years. Apart from being highly diligent in maintaining the existing code base and being one of the go-to guys for any community inquiries, he's spear headed many of the new developments within the framework. His most notable work has been on all 3D functionality, from a highly intuitive and flexible API and format for 3D graphics programming to seamlessly integrating 3rd party physics support.
I'm proud we could win Joost to be part of our team, we would not be where we are without him.
Mario Zechner, founder of libGDX
-
Joost van Ham
-
Breda, the Netherlands
-
born in 1980 - 45 years young
-
male
-
Dutch (native), English (business)
-
Bachelor (HBO) computer science, Associate (MBO) telematics
Some of my work
Practically everything I do for my work is covered by a NDA. This is a very incomplete listing. Please feel free to contact me if you like to see more references.
Color Cube
Made in 1999, my first experience with OpenGL, created in Borland C++ Builder (my favorite IDE/language at that time). I would include my first DirectX
game (which was a tetris like game) or even QBasic game (a gorilla.bas mod I made in 1993), but unfortunately most of my earlier work is long lost.
So I'll just leave this here for my nostalgia.
Technical analysis and trading
Over the years I've made several custom trading and analysis applications. Obtaining real-time data using DDE, API (e.g. TWS) or other sources as well as
using historical data for back-testing. Both the graphical respresentation of the data (not only candle sticks, but also market depth and spread), as well
as the indicator algorithms, all the way up to automated or simulated trading algorithms.
Shoot!
Made early 2012, my first Android game, created using AndEngine. I created this game in my spare time in around two months to familiarize myself with
mobile game development. It got over 50.000 downloads which encouraged me to further look into mobile games.
Download on Google Play.
Learn English with Amy
Made in 2015/2016, freelance project in a team with handful members. A cross-platform (iOS and Android) game to help children teach another language. The
game itself is written in Java managed using Gradle, uses Dagger 2 for dependency injection and fastlane for publication.
Download from App Store. or
Google Play
Bullet physics wrapper
Started late 2012, Java wrapper for the Bullet 3D physics library, created in C++, Java and SWIG, using Visual Studio and Eclipse. It is probably still the most
performant, up-to-date and widely used Java wrapper for Bullet physics as of today. It's part of the libGDX open source project. I wrote the majority of
the wrapper (open source), the tests/examples (open source), the documentation and two comprehensive tutorials.
3D Graphics API
First released mid 2013, 3D graphics API, created in Java and C++. A complete cross platform 3D Java API. It's part of the libGDX open source project.
Ranges from assets and models, including animation and skinning, sorting and optimising draw calls, multiple render passes, dynamic shadows and particles all the
way up to the shaders, including multiple uber-shaders with dynamic lighting, normal mapping, reflections, etc. I wrote the majority of
the API (open source), the tests/examples, the documentation and
quite a few tutorials.
Race game
A demo mobile race game I made for testing the 3D physics and graphics API I created. The models are quickly made in Blender and Maya or free online available resources.
Since I finalized the API's not long after that, most of the code of the game became obsolete. Yet I still get quite some positive comments referring specifically
for this game.
libGDX
Since late 2012, I am core developer of
libGDX. One of the most used
libraries for mobile game development. According to AppBrain,
an average of around 2% of all Android applications, ranging up to almost 10% of all Arcade games, uses libGDX. Fun fact:
someone calculated that I come next to the founder of libGDX when it comes to
the Truck Factor.
fbx-conv
Made in 2013, cross platform open-source utility to convert 3D models, created in C++ using Visual Studio. It's build on top of
Autodesk's FBX SDK and converts 3D models to the
more runtime suitable G3DJ (readable JSON) and G3DB (binary JSON) file-formats. Download, source and more info on Github.
Technical reviewer
In 2014 I was asked by David Saltares to be a technical reviewer for the book: "Libgdx Cross-platform Game Development Cookbook".
It was a very enlightening and learning experience to see how a book comes together.
Get it on Amazon or Packt.
Originally, Xoppa is a company that provides business automation services for small and medium local companies. The customers of Xoppa
are not specifically technical of nature, but instead hire Xoppa to provide a technical solution for their business needs. For example, they hire Xoppa to
create a mobile application, a customer webportal, custom business software, automate repetitive tasks, etc. It's a very wide range, not necesarily
solely writing new software, but often also incorporating existing software. Overall it are mostly many relatively short, delimited and small projects.
My tasks, as only employee of Xoppa, is to make each project a success, from beginning to end. This includes fully understanding the problem,
investigating the possibilities and existing solutions, finding the right tools, hiring a designer, setting up the server(s), creating custom software,
etc. all the way up to actually implementing it and tutoring end-users.
From time to time I get hired for a bigger project where I can be part of a development team, which I've always found very energizing and comfortable.
Therefor I've decided to move the focus towards freelancing me as a person. Freelance is the most natural
choice in my situation, but I'm not retained to it. I am open for a freelance job to grow into a permanent position.
Get In Touch
You can contact me directly by sending an e-mail to joost at xoppa dot com, or click on one of the following links to learn more about me: