Hi there, you may already know me as the artist who paints fluffy animals but I’m also a developer for many years, at least I used to.
I was reminded of a time in my early career when I had a similar experience to the one described in this post:
I noticed there are a few other developers on thins forum too (aside from the obvious krita devs), and I’m sure each of you have some interesting/funny/horror stories too, maybe you want to share? Since this is the Krita forum, of course I really would like to hear some stories from the Krita Team too. I bet they got more than one headache from one or the other API or wiered file format.
Of course I start with one of my own experiences (I have a lot) but this one is what the linked post reminded me of.
How I started to hate generating PDFs
I think it was about 10 ears ago, maybe 8. I worked for a advertisement company. Yes, one of those who track you online and try to sell you even more stuff based on your data. But my struggle with moral and ethics is another story. At that time I worked mostly with PHP on the back-end of our web-services. Tracking, yes, but also simple things like billing and stuff, later mostly APIs to third parties. One day we had to change our recipes, invoices and all those things because of legal changes. Nobody wanted to do the task so I took it assuming it was easy. Just changing a few PDFs couldn’t be that hard, right?
Well it could have been easy but we used a strange proprietary PDF library that was not only poorly documented but also weirdly inconsistent. I remember that it for example took sometimes pixels and sometimes points as sizes for doing seemingly the same things (and sometimes not) it was a mess. I found comments from colleagues to not touch some lines that seem to have no purpose otherwise it would break the PDF (which it did) and then I knew why nobody took the task. Every of my colleagues already battled and suffered with this, obviously.
It took me literal days to get the assignment done. Meanwihle I asked colleagues for advice because I was only working for a few years with PHP (worked only with C++ and a bit Java before), maybe it was just me? No it wasn’t. Eventually I got the assignment done but not without thinking about throwing everything away every five minutes.
After I finished the task, I spend another few days to write a whole wrapper around the library (which turned out already was a wrapper) to make things consistent and easy. I had to ditch a few features but it was worth it for every one editing it after me, the dev after me shouldn’t have to suffer. Editing a few lines of PDF generation shouldn’t take a whole day. While doing this I even found attempts from a colleague to do just the same but he obviously didn’t finish due to time constraints or simply giving up.
At the end I added a long comment explaining my struggle with the library for following generations and committed it with the code. As far as I know it was still there, when I left the company.
What made this especially frustrating was that there was an open source alternative that was much better and easier to use even though I would have to rewrite the whole generation code but we couldn’t use it because the license was incompatible with ours.
Well, this is one of many things I could share. Would love to read some of your experiences.
A sorrow shared is a sorrow halved. Tell me about yours.