2021 / Andreas Koenzen [Software Engineer]

I just like to build things...

Home

K-Zen

How to contact me?

Latest project / comonuevo.app

comonuevo.app

Mobile App for Android and iOS that allows users to buy and sell used goods. This project was designed and built from scratch by me using the Flutter framework to create the frontend, and the Python built framework FastAPI as the RESTful API backend interface. It allows users to create an account using their mobile phone number (Firebase Phone Authentication), and to list and publish items. It is fully interactive, intuitive and easy to use. It is powered by a Python based manager capable of providing administrative functions, like listing flagged items (system or users), detecting invalid items and other functions pertaining to the management of the platform. The system is powered by PostgreSQL for persistence, and Redis for the PubSub sub-system.

  • Flutter (Android + iOS)
  • FastAPI (Python RESTfull WS + WebSockets)
  • PostgreSQL (Persistence)
  • SQLAlchemy (DBase interaction)
  • Alembic (DBase migration and state handling)
  • Machine Learning

Research / University of Victoria

  • Code Duplication and Reuse in Jupyter Notebooks (M.Sc. Thesis) | [UVicSpace]

    BibTeX

    @mastersthesis{Koenzen:2020, author={Andreas Koenzen}, title={Code Duplication and Reuse in Jupyter Notebooks}, school={University of Victoria}, year=2020, address={Victoria, BC, Canada}, month=9}

  • Code Duplication and Reuse in Jupyter Notebooks | [Pre-print] | [Presentation Slides]

    Duplicating one's own code makes it faster to write software. This expediency is particularly valuable for users of computational notebooks. Duplication allows notebook users to quickly test hypotheses and iterate over data. In this paper, we explore how much, how and from where code duplication occurs in computational notebooks, and identify potential barriers to code reuse. Previous work in the area of computational notebooks describes developers' motivations for reuse and duplication but does not show how much reuse occurs or which barriers they face when reusing code. To address this gap, we first analyzed GitHub repositories for code duplicates contained in a repository's Jupyter notebooks, and then conducted an observational user study of code reuse, where participants solved specific tasks using notebooks. Our findings reveal that repositories in our sample have a mean self-duplication rate of 7.6%. However, in our user study, few participants duplicated their own code, preferring to reuse code from online sources.

    Accepted as a full paper at the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) 2020

    BibTeX

    @inproceedings{Koenzen:2020, author={A. P. {Koenzen} and N. A. {Ernst} and M.-A. D. {Storey}}, booktitle={2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, title={Code Duplication and Reuse in Jupyter Notebooks}, year={2020}, volume={}, number={}, pages={1-9}}

    Plain

    A. P. Koenzen, N. A. Ernst and M.-A. D. Storey, "Code Duplication and Reuse in Jupyter Notebooks" 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Dunedin, New Zealand, 2020, pp. 1-9, doi: 10.1109/VL/HCC50065.2020.9127202.

    DOI