Publications are texts and documents I have written over the years that are not blog posts. Typically they were part of some university course work or job. Not everything here is peer-reviewed.
Unums and Posits: A Replacement for IEEE 754 Floating Point? While IEEE floating point has proven itself practical for many applications, some things are left to be desired. Novel unum arithmetic promises to solve some if not all these problems. This master thesis reviews developments in computer arithmetic on the reals and looks at ways of extending unum arithmetic. A final evaluation compares accuracy and usability of both float and new unum arithmetic based on various benchmarks and applications from different domains.
Notes on Systems Programming 1 (German, Lecture 1, Lecture 2, Lecture 3, Lecture 4). In 2021, I taught a class on systems programming in C. For my students I created slides that emphasize the importance of proper error handling and easy to understand code.
ulo-storage: Indexing and Querying Organizational Data in Mathematical Libraries. Organizational knowledge extracted from existing formal libraries has the potential to be usable in the design of a universal search engine for mathematical research.
ulo-storageis a suggested architecture for collecting such organizational knowledge and making it available for querying.
Notes on Systems Programming 2 (German, Lecture 1, Lecture 2). In 2020, I taught a class on systems programming in C. I created two sets of slides that emphasize the importance of proper error handling (tricky in C) and how to avoid heap allocations by using
- Discrete Alternatives to the Sines. This work focuses on one tidbit Donald Knuth mentions in his discussion of n-tuples, namely the theory of Rademacher and Walsh functions. They are similar to the well-known sines and can be used in some of the same applications.
- Design and Implementation of an Editor for Creating and Simulating Heterogeneous Systems. During work on system on a chip designs, different CPU and GPU simulators are used. This thesis develops a framework for design and evaluation of SoCs that combines different existing simulators into one package.
- Design Challenges of Scalable Operating Systems for Many-Core Architectures. Presented in this paper are three design challenges for operating systems on many-core architectures: Locks which do not scale, poor locality offered when sharing cores between applications and OS and a potential future with no more cache coherent shared memory.