PURP

Around 1996, when being a young computer science student in Linköping, I began running Linux on my computer. I have loved that OS since that day. Back then I used the Red Hat distribution, which distributed software in form of RPM packages. I was a bit annoyed about the lack of good utils that could help managing installation, upgrade and removal of packages. I also wanted some programming project from which I could learn more about programming. Therefore I started to develop Purp.

Purp was some sort of achronym for Pugo RPM and was a ncurses based RPM manager. Initially I did the development in pure C code. I remember that I was so very green that I didn't really know about how to store the internal representation of the installed and available packages. I soon learned about list structures and created a monster due to lack of abstraction. After months of abstracting parts of the program it reached some sort of stability and could be released.

After about a year of developing the C code base I realized that I wanted to rewrite it to C++, to make use of object oriented abstractions of UI, packages and other parts of the program. I began the work, but when I was almost finished I had lost interest in the Red Hat platform. Since many years I now run the Debian distribution on my computers and Purp is since long a dead project. Still it has a sweet spot in my heart, since it was my first bigger program and I learned a lot when programming on it.

Below you can see some screenshots of Purp in action