Developer Interview: Joseph Powers

We are grateful to our next interviewee whom has contributed a lot to cleaning up the code-base, improving the efficiency of icon theming, and getting stuck into making LibreOffice something more beautiful. Anyhow without further fuss:

Joseph and Abelita

Joseph and Abelita


Programming is about people: so please ! tell us a bit about yourself:

I’m Joseph Powers, JoeP on IRC, based on the American West Coast in Las Vegas, in my very early fourties, married to a wonderful woman: Abelita – a beautiful Philipina lady. I spent around four years in the US army working on computer repair, and now I work in the Entertainment industry, and live in Vegas – sadly not in the old Irish Powers’ family pile.

What was your very first program ?

I started program in high school on the Apple IIe. I’m a little bit of a math geek so most of my early programs where related to graphing math equations. I quickly moved on from BASIC and when into Pascal when my parents purchased an PC-XT for me.

What do you do when you’re not hacking on LibreOffice ?

Currently I’m employed by a Hotel/Casino group out of Las Vegas, Nevada. At work I mostly customize and maintain interfaces to our Info/Infinium supplied Human Resources, Payroll, General Ledger, Accounts Payable, Fixed Assets, and Project Accounting software running on an IBM i system. The current environment is mostly RPGLE, DB2, & CL with a little JSP work (HTML, Java, & CSS).


When do you usually spend time on the project ?

I’m a morning person so I’m normally awake about 2 hours before the wife (05:00-07:00). I also spend a hour or two after work (18:00+). I also send some time on Sundays.

Which is your preferred text editor? And why?

Currently I’m using Text Wrangler (Mac OS X). Mostly it was free and seems to work well plus they created a command line interface for it (edit) which most Mac programs seem to have forgotten about. I should try and get the XCode environment to work with the project since it’s editors are a little more capable.

How did you hear about LibreOffice ?

I’ve actually used OpenOffice.org for the past few years. I don’t like MS-Office since the Mac version is always a little incompatible with the MS-Windows version. I also follow a little site called OSnews which one day had an article talking about the creation of the DocumentFoundation.

Why did you get involved ?

I was getting tired of only working on RPGLE code and wanted to get back into C/C++ program. I’ve been looking at several projects; however, some of them where maintained by such a small team that joining the project would mean having to learn the code base by myself and take over support and other aspects of the project. Some were just too big; like the linux kernel were things change too fast to keep up with. I’d looked at the OOo source code in the past; however at the time, the code base was still a mess and Sun wanted copyright assignments so I basically gave up.

With the announcement of the LibreOffice project, I went back and looked at the code base again. It’s a little cleaner now then it was and I could get it to build. The development group is large enough that I didn’t have to jump in and take over the entire project (I want to help and not run it). With the lack of copyright assignment, a buildable code base, and a group of friendly co-developers, I decided that this would be a good project to work on.

What was your first contribution to LibreOffice ?

I started out just submitting patches/suggestions to get the code to build on Mac OS X. When the project first started, very little was documented about what the dependencies are required for building on Mac OS X.

What was your initial experience of contributing to LibreOffice like ?

The current team of programmers are very friendly and they took my suggestions and patches with no complaints and applied them to the build system.

What do you think was your most important contribution to LibreOffice so far ?

My biggest project to date was the removing the code that implemented the high-contrast icons in each theme. It seems that with the inclusion of icon themes, having a 2nd set of high-contrast icons for each theme was a little overkill since someone created a high-contrast theme. So I spent a few weeks identifying and removing the code.

How will that improve things for users ?

First it removes the requirement to have a 2nd set of high-contrast icons for each theme; this reduces the size of the install. Since most of the code was loading the references to both sets and determining which one to display later, my changes also reduced memory overhead and processing overhead; both of these will lead to a faster and more responsive system.

What is your vision for the future and/or what would you most like to see improved ?

Currently I’m just trying to get back into C/C++ programming; thus, I’m mostly focusing on code cleanup. The current code base needs a lot of work: the pre-template macros are my current target. I love the idea that someone came up with the ability to create templates before the ability was added to the C++ standard; however, today these macros just add more confusion to the code base. My near term goals are to clean up the obvious issues caused by years of neglect.

Later I’d like to look into converting from the current Carbon based API to the newer Cocoa based APIs. This should let us move from OS X 10.4 to 10.5 and to allow for a 64bit build. I’ve noticed that we already have the start of a cocoa port in the code base; so most of the issue would be in determining how to modify the build system to refer to the cocoa source and then to add any missing functionally.

Anything else interesting you get up to when not hacking ?

Sure, I like to travel the world; I caught the bug early, and enjoyed being posted to Italy for two years (and enjoyed some great Chinese food there). I’ve also enjoyed seeing the sights in all manner of places from Germany, the Philipines, Hong Kong, and even Canada. Its fun to experiences both the differences and continuity between cultures.

Hopefully that love for travel means we’ll meet Joseph at a LibreOffice conference soon; thanks !

Comments