Benjamin's Projects' Page

The GitHub page for my coding projects and published papers.

View on GitHub

Welcome

Dear visitor,

Welcome to my personal coding page.


Coding Projects

A small collection of 5 coding projects.

Published in papers but not open source:

Open source:


About me

Here are some personal preferences when it comes to programming, writing, and analysing data. The only reason to have them here is because they make my profile page look fancy with all these badges.

Programming languages (in a descending order)
( … this is very political and I am heavily biased … )
PythonJuliaRustCC++JavaScriptJava
Data Science packages Markup Typesetting
NumPy Pandas Matplotlib SciPy Markdown LaTeX
CI: AI: OS: IDE:
GitLab CI GitHub Actions ChatGPT GitHub Copilot macOS Arch Linux Ubuntu Visual Studio Code PyCharm

Descriptions of the coding projects

Beneath is a short description of the small collection of 5 coding projects.

Multi-Dimensional Spectrogram Application for Live Visualization and Manipulation of Large Waveforms

Collect, manipulate and visualize large waveforms at high repetition rates (tested with up to 14Hz) in real time or archived data in 2D (using heatmaps) or 3D, utilizing Python and the pure-python graphics and GUI library PyQtGraph and PyQt5 with Python-OpenGL bindings.

Link to Publication

Dynamic Control Room Interfaces for Complex Particle Accelerator Systems

Commissioning of complex machines for the first time is the same as commissioning something one knows nothing about. This paper describes three well-used dynamic control room interfaces.

Link to Publication

Shift Scheduling tool

A Computational Approach to Generate Multi-Shift Rotational Workforce Schedules.

Phase 1: The algorithm takes into account a list of inputs (constraints) and returns all possible solutions. The schedule maker can then select the most feasible solution(s) to proceed with.

Phase 2: A feasible solution was selected and is constructed to its final shape, and is then ready for exportation (in .txt or .CSV format).

DOI

Link to RSW repo

DynaGUI

DynaGUI stands for Dynamic Graphical User Interface and is a method to construct temporary, permanent and/or a set of GUI:s for users in a simple and fast manner. Developed during shift works at a particle accelerator, the initial goal was to fill in some functions that were then missing: Fast dynamic construction of new control system GUIs for various purposes. The code is fully built in Python.

DOI

Link to DynaGUI repo

SPMTUI spmtui

SPMTUI stands for Simple Project Management Text-based User Interface and was made for myself for logging and keeping track of tasks and projects to do, in progress, and completed. The code is fully built in Python. SPMTUI functionalities includes:

I ended up not using this tool but instead rely on structured Markdown weekly planning checklists instead.

Link to SPMTUI repo