Developers are the heart of Algorithmia’s marketplace: every day, you create and share amazing algorithms, build upon and remix each others’ work, and provide critical feedback which helps us to improve as a service. Thanks to you, we have over 5000 algorithms and 60,000 individuals working together on the Algorithmia platform — making AI accessible to any developer, anywhere, anytime.
We owe you a huge debt, and try to give back a little with programs such as our free-forever promise which delivers 5k credits monthly to every user. But it’s also important to publicly recognize individuals who contribute to the ecosystem, so today we’re shining a spotlight on Daniël Heres.
Daniël’s algorithms are focused mostly on image and language processing, with a special focus on programming languages. He’s developed models for classifying which programming language any source code is written in, predicting the next line in a sequence of Python code, and printing the first 100 numbers of FizzBuzz using AI. We caught up with Daniël to learn a bit more about his background and interests.
Daniël finished his Research Masters in Computing Science last year. He studies Programming Language Technology, a track about language theory like lambda calculus, type theory, proofing systems, and advanced functional programming. He’s very interested in Machine Learning, Languages, and Computer Science research in general. His master’s thesis was about automatic plagiarism detection for source code using ML techniques.
Currently, Daniël works at a Dutch online retail company called Bol.com, where he focuses on applying AI/ML towards improving customer service. He publishes a newsletter about AI research that covers the latest developments in the field called “The Latest in AI Research.”
One thing that Daniël finds frustrating about the current state of the “data world” is how difficult it is to access quality structured data. In his words, “ideally, all data would be in a relatively structured format in the same place. But in practice, at large organizations you have to combine datasets that come from files, logs, databases, and distributed databases in various ways.”
Daniël also wonders whether all of the new research around neural nets and deep learning is really pushing the field forward as much as people percieve. He argues that “for practical usage of algorithms, the small things are sometimes more relevant: how do algorithms compare on specific tasks, what hyperparameters can be important, how can we make these algorithms as fast as possible? These are questions that are less often noticed, especially by popular press, but they still matter!”
As far as languages, Daniël writes mostly in Python and utilizes packages like Keras and Tensorflow on a project-specific basis. He also writes a lot in Java/Kotlin at work, and is experienced in the functional language Haskell. Rust is one of his favorite new languages, and he suspects it will be one of the most influential long term.
“With a few coworkers also with an interest in AI, we are also talking a bit about generating programs using AI models. I think this could be called the holy grail of AI: designing algorithms to design algorithms. This could make the design of algorithms much simpler: you just give a few examples and the system generates a program. We made some progress on this, but we are still discussing about how to improve.”
Algorithmia runs on the strength of our community of developers – without you we wouldn’t be here. Contribute to our platform by publishing your first algorithm or checking out some of the great ones we already have.
Know a developer that we should feature? Tell us all about them!