tzimmermann dot org

This is the website and blog of Thomas Zimmermann. Topics are picotm, transactions, and low-level software development.
On the web: 

Thomas Zimmermann • Apr 20, 2018 • 11 min read

Safe Integer Conversion in C

Integer conversion is tricky and error prone. When converting from a larger type to a smaller type, overflows and underflows can happen. For conversion of signed values, the rules are often obscure and the compiler seems to perform some dark magic in the background. In this post, we’ll looks at the situation in C and develop a general function to cover all the corner cases. The type-conversion feature is part of picotm 0.11 and later, which also covers integration with larger software applications.  Read →

Thomas Zimmermann • Feb 12, 2018 • 4 min read

System-Level Transactions with picotm

I’ll speak about picotm at this year’s Chemnitzer Linux-Tage. The conference committee asks each presenter to submit a shortpaper containing an overview of the presentation’s content. Now that I have this nice single-page overview of picotm, I decided to post a cleaned-up version here in my blog. A PDF of the text is also available.  Read →

Thomas Zimmermann • Jan 12, 2018 • 8 min read

A picotm Demo Application

Happy new near to you! I spent the first week of 2018 on writing a demo application for picotm. The intention is to show what picotm has to offer and how system-level transactions work in a real program. In this blog post we’ll go through it and see what it does.  Read →

Thomas Zimmermann • Dec 15, 2017 • 10 min read

Porting picotm to Mac OS, Windows and FreeBSD

I spent the previous weeks on porting picotm from Linux to a number of other operating systems. Ports to Mac OS X, Windows and FreeBSD will be available in picotm’s next release. in this blog post we go through them one by one and look at the major points and pitfalls.  Read →

Thomas Zimmermann • Nov 24, 2017 • 14 min read

Transactional Multisets

Besides lists, queues and stacks picotm 0.8 will feature a forth transactional data structures: multisets. A multiset is a sorted set that can contain the same entry multiple times. In this blog post, we’ll go through the interface and how to use multisets from within transactions.  Read →