Niels Bugel

Developer by day, asleep by night

Hi there! I am a software developer passionate about software design, automation, computer graphics, and drinking water. Currently, I am working at CERN as a software engineer in the CTA team. Most of all, I enjoy learning new things, sharing knowledge, and cleaning things up (believe it or not).

Photo

Work Experience

Logo

Computing Engineer: Data Storage

CERN •︎ Meyrin, Switzerland
May 2024 - Current •︎ Full-time

C++ software engineer, CI developer, and operations support in the CERN Tape Archive team.
Logo

Backend Software Engineer

Dataqueue •︎ Groningen, Netherlands
Feb 2024 - Apr 2024 •︎ Contract (32-40 hours per week)

Implemented, tested and deployed the backend infrastructure for a real-time call analytics software platform.

Logo

Teaching Assistant

University of Groningen •︎ Groningen, Netherlands
Feb 2019 - Jul 2023 •︎ Part-time

Teaching Assistant (TA) for a number of courses within the Computing Science programme.

Logo

Numerus Fixus Coordinator CS

University of Groningen •︎ Groningen, Netherlands
Oct 2019 - Jul 2023 •︎ Part-time

Coordinator of the Numerus Fixus procedure for Computing Science.

Logo

Full Stack Developer

University of Groningen •︎ Groningen, Netherlands
Oct 2020 - Jul 2022 •︎ Part-time

A number of positions involving web development.

Education

Logo

MSc. in Computing Science

University of groningen
Data Science & Systems Complexity
Sep 2020 - Jul 2023

GPA: 9.0/10.0 - Cum Laude

Awards & Activities:

Logo

BSc. in Computing Science

University of groningen
Sep 2017 - Jul 2020

GPA: 8.8/10.0 - Cum Laude

Projects

Below you can find some of my personal projects. Sadly, with a full-time job I don't much time to work on personal projects so you won't see much activity on my GitHub account. In case you are curious about what I am working on these days, feel free to have a look on my CERN GitLab account instead.
NITRO
NITRO

NITRO is a powerful tool for building complex image-processing routines in a non-destructive manner. The project was developed and designed with extensibility in mind, which means that it is easy to define custom nodes, data types, or even custom GUI widgets.

C++
QtOpenGLOpenCVCMakeDocker
CONIS
CONIS

A tool developed for manipulating and subdividing curves using a newly developed conic subdivision method. Implements the method detailed in the paper: "A point-normal interpolatory subdivision scheme preserving conics", Computer Aided Geometric Design, Vol. 111, 2024. DOI: 10.1016/j.cagd.2024.102347

C++
QtOpenGLOpenMPCMake
Distributed GPU Convolution
Distributed GPU Convolution

A GPU implementation of generalized convolution operators using CUDA. The framework is designed to work for large image data sets and can run in a distributed system.

C
CUDAMPIpthreadsMake
GPU Catmull-Clark Subdivision
GPU Catmull-Clark Subdivision

A command line tool to subdivide meshes using a CUDA implementation of the method described in the paper: A Halfedge Refinement Rule for Parallel Catmull-Clark Subdivision.

C
CUDAMake