Blog Archive 2024 The Two-Factor Authentication System at CERN Jan 08 2024 2023 Rate limiting in HAProxy and Nginx May 29 2023 2022 Creating a JSON logger for Flask Aug 09 2022 My course portfolio for Computational Photography Apr 15 2022 Building a Camera Obscura Jan 29 2022 2020 Passwordless logins with Yubikey Nov 29 2020 Plotting graphical data using RRDtool and a Python Collectd plugin May 11 2020 2019 The Kerberos Authentication System for Single Sign-On (SSO) Jul 21 2019 Programmatically organising your backpacking trip using Google My Maps May 30 2019 Building RPM packages with rpmbuild, Koji, and GitLab-CI May 06 2019 2018 Google Summer of Code 2018 final evaluation report Aug 09 2018 Using variadic templates with lambda expressions in C++ for constrained optimization Jun 01 2018 Inaccuracy in Boost Geometry geodesic algorithms for nearly antipodal points May 10 2018 2017 An overview of activation functions used in neural networks Nov 13 2017 Parallel tile fetching and CPU-and-memory statistics Sep 09 2017 Google Summer of Code 2017 final evaluation report Aug 28 2017 Fixing tile distortion issue in hips package Aug 10 2017 RGB tile drawing in hips package Jul 23 2017 Parameterized testing using Pytest Jul 13 2017 Creating custom decorators in Python 3.6 Jul 02 2017 HiPS tile drawing Jun 24 2017 Type annotations in Python 3.6 and using Mypy as a static type checker Jun 11 2017 An overview of Hierarchical Progressive Surveys (HiPS) and the HEALPix framework May 31 2017 An introduction to coordinate systems used in Astronomy May 23 2017 A comparison of response times using URLLib, GRequests, and asyncio May 09 2017 My First Article Mar 19 2017