Hi there, my name is Oliver and I’m a software developer currently working at the Danish software company Hesehus, where we build excellent ecommerce solutions for some of the largest Danish webshops.

I have a great interest in software as a whole, and have worked on projects related to web development, robotics, machine learning, and game development. To hone my skills and display my work, I decided to put this portfolio site together, to tie a nice bow on my various projects.

I also currently reside in Tokyo, Japan, and I am actively looking for work so definitely feel free to reach out, if your company is interested in someone with my profile!

Semantic Search with OpenAI and Elasticsearch

Overview Recently, I’ve been researching semantic search, since elasticsearch 8 has added support for doing vector search as part of an ordinary search request. I’ve written a post about this topic, providing an introduction to the uninitiated. I wanted to build a simple semantic search proof-of-concept project with OpenAI embeddings and searching with the elasticsearch knn option. The result is this small project with an ASP.NET API, which allows for product ingestion and searching.

Introduction to Semantic Search

Overview Recently, I’ve been researching semantic search, since elasticsearch 8 has added support for doing vector search as part of an ordinary search request. Semantic search is a searching algorithm that builds on the rapid progress made in NLP with deep learning methods. It is possible to get high-dimensional vectors, called embeddings, which approximate the semantic meaning of any text. To leverage this for searching, all the searchable documents can be embedded with this semantic vector.

Fuzzy Logic with Fluent Syntax

Overview FluentFuzzy is a .NET package for adding fuzzy logic to a project in an easily readable, fluent way. The project is freely available on Github. I’ve written an introductory post on fuzzy logic here, which explains the basic concept and how it works. The project includes four source projects and a test project. The FluentFuzzy project contains the code for the core logic and fluent syntax builder of the package.

Introduction to Fuzzy Logic

Introduction As part of developing my dungeon-based RPG, I’ve recently been tinkering with fuzzy logic as a way to transform what non-player agents observe into what actions they choose to perform. The benefit of using fuzzy logic in this way is that given a set of input parameters, I can make human-understandable and -interpretable rules which can result in a very complex output. I haven’t yet integrated fuzzy logic into my game, but I thought I would make an explanatory article, which I can follow up with an update on my side-project afterwards.

.NET package for code timing

Overview Veachron is an application which can help storing and displaying timings. The main use-case is for debugging, as it can be embedded into code and used to get actual timings. The project is freely available on Github. The project consists of a Python application, using the Flask framework to host a REST API. The API is documented through swagger, to ensure ease of use. The application can be hosted directly, but alternatively, two Docker images are provided, with the application and a PostgreSQL database, for storing the timer logs.