Oleg Katsitadze maintains Eplain and is a contributor to Texinfo.
Dave Walden, interviewer: Please tell me a bit about your personal history independent of TeX.
Oleg Katsitadze, interviewee: I grew up in Dushanbe, Tajikistan, where I completed two years of Systems Engineering in a polytechnic school. This was the closest to computer science they offered, and by that time programming had already been my passion for quite a while.
This was a time of political and economical instability in Tajikistan following the collapse of the Soviet Union, and I had to drop out in 1998 when my family decided to move. After we moved to Simferopol, Ukraine, I had to work for several years to help support my family. It was only in 2002 that I enrolled as a computer science major, and this year (2007) I finally got my MS.
Oh, and I almost forgot to mention one of the best experiences of my life — while in high school, I spent the 1994–95 school year in the US as an exchange student. I lived in LaPorte and Michigan City, both in Indiana.
DW: How did your being an exchange student to the United States come about?
OK: This program was part of the Freedom Support Act (FSA) of the US Congress, and that was its second year in Tajikistan. Although it was called an “exchange program”, there was no exchange, it was one-sided. Selection was merit-based — students had to take a series of English language exams based on TOEFL, and those deemed best got a chance to live in the US for one year, with a monthly scholarship and travel expenses paid by the US government.
DW: Your English is so good and so Americanized; did you spend more time in the United States later? And might you visit the US again at some point? I'd love to meet you in person.
OK: No, I've never been to the US after that program, but I really liked it there — economically, of course, but also culturally. Strangely, I felt more at home there than I do here. Although this is getting increasingly difficult, I'm anxious to live and work in the US. It'll be my pleasure to meet you, if I ever succeed in getting to the US.
DW: I presume you already knew a good bit of English before doing your exchange year in the United States. Was the study of English a standard part of the school curriculum in Tajikistan? I assume you also had to study Russian and the Tajik (?) language; did you also have to learn Ukrainian when you got to Ukraine?
OK: Yes, I studied English for seven years as a standard part of the curriculum. This is standard practice — high-school students have to take a foreign language, usually with a choice between English and German, sometimes also French. Of course, I was studying English a good deal on my own, mostly just reading books — otherwise I'd never have passed the exam.
Russian was mandatory in all high schools in the Soviet Union. In most regions a local language (Tajik for me) was also mandatory, but with fewer hours allocated and a much lower standard of teaching. Even though I officially took, I think, three or four years of Tajik, at the end I knew next to no Tajik. (Tajik is a dialect of Persian, by the way.)
I also had to take the mandatory three semesters, one hour every two weeks, of Ukrainian at the university in Simferopol, but of course, that was not enough to acquire a working knowledge of a language. Besides, the Crimea region where I live is historically Russian-speaking, so I didn't get to practice Ukrainian in real life (and I don't watch television). I can understand Ukrainian quite well, but this is mostly because Russian and Ukrainian are very similar.
DW: Can you say something about what it was like to live through the collapse of the Soviet Union, how your family chose Ukraine to go to, was there physical danger in the move, etc.?
OK: Well, I must say this was the experience of a lifetime for my family. By the end, we had surely seen some action.
As soon as Tajikistan became independent, a civil war broke out, with several clans fighting to gain control over the country. This resulted in shortages of food, gas and electricity, and of course, lower and in some cases no incomes for people. I remember standing in queues for 4–5 hours to buy bread, sometimes at night, and using candles for lighting. We had to sell off some of our old clothes and utensils to buy food.
Of course, being a teenager, it didn't seem so bad — it was fun watching tracer bullets at night zipping over our roof, and skipping school for weeks on end because of the military action in the city (this was the best part :). Once my brother, who's two years younger than me, was let by the soldiers inside a tank which was guarding a television station nearby; I was so sorry I wasn't with him. Our neighbor had a fragment of an artillery shell stuck in his roof — cool! Another time, an adventurous woman from our neighborhood decided to go check out the situation, and when she was about 500 yards away from home, a skirmish started, so she had to crawl all the way back home, being a plump woman. Seemed funny at the time. Good thing she didn't get hurt.
After having so much fun my family decided to emigrate to Georgia, my dad's native country (not the state of Georgia in the US), but were unsuccessful, and so we had to travel back to Tajikistan. We were lucky we didn't (couldn't) sell our apartment in Tajikistan before we left, so we had a place to come back to. On the way back we found ourselves landed on the Caspian shore with no money and the Karakum Desert to cross. Fortunately, we were traveling together with an old woman who said she was happy to pay our fare if we took care of all arrangements for her, like finding a hotel room, buying train tickets, etc. If not for that woman, I'd probably be herding dromedaries in Turkmenistan now.
After the civil war had more-or-less subsided and we could sell our apartment for something more than the cost of traveling out of Tajikistan, we decided to move to Crimea. The choice was mostly arbitrary — we didn't have any relatives or friends there, and hadn't even once been there before — but we'd heard that apartments were cheaper there than, say, in Russia, while universities still taught in Russian. So this is how I ended up in Simferopol.
As for the physical danger in traveling — the return on our first trip (from Georgia) was rather risky, because we had to go by train across Central Asia and the times were really crazy — thousands of people moving back and forth, overcrowded trains, troops all around. If we disappeared, no one would notice or care. But the trip to Ukraine was much less exciting because we took an airplane to Moscow and skipped the dangerous part of the trip.
DW: I'm curious about how programming first became your passion — how and at what age did you come upon programming in Tajikistan?
OK: The first time I saw a computer was at the age of ten, I think, at the place where my mother used to work, at the computer center of the Ministry of Communications of Tajikistan (she was an economist, not a programmer). One of her co-workers, a programmer, let me play Digger on one of the PCs they had, and I was instantly and completely hooked.
Later, my dad gave in to the incessant pestering and purchased “Partner”, a Russian-made 8-bit microcomputer. It was an Intel i8080 clone with 32Kb RAM and no graphics card. At that time I mostly played games, but also did a little BASIC programming, learning from some book or manual, I don't remember now what it was exactly.
Some time later my dad bought “Poisk”, a Ukrainian-made i8088 clone, mainly for typing and printing some documents for his job. For me it was a huge improvement — it had a CGA card, good for games :).
When I was about 14, our school introduced a new course, Informatics and Computers. This immediately became my favorite course, I couldn't get enough of it — we only had it once a week. I took every extracurricular programming course the school offered. This is when I really started learning programming, and I spent most of my free time in front of Poisk.
DW: When and how did you first get involved with TeX?
OK: This was in 2002, I think. At the time I was switching from MS Windows to GNU/Linux and I had to find a way to create and print simple documents, to replace MS Word. I remember trying OpenOffice (or was it StarOffice then?), but after it crashed on me twice within 30 seconds of starting up, I gave up, and now I'm glad I did. (Not that OO is bad — it's just different.)
I'd heard that TeX was the typesetting engine used by the GNU Project for its documentation, so I decided to give it a try. For about a year it was nothing much — mostly exercises from The TeXbook, and an occasional one- or two-page document.
But then I enrolled at the university and had an opportunity to try TeX at something bigger. There was severe shortage of textbooks at the library, and new books were hard to find and too expensive for most students. So I decided to typeset an old textbook on differential equations that was used in the course I was then taking.
I was soon overwhelmed with the amount of work required to develop the macros for cross-references, table of contents, etc., so I started looking for a macro package. I might have used LaTeX, but one of the purposes of this exercise was to learn TeX, and I felt LaTeX, although much friendlier for the task, would happily help me ignore too many low-level details. So I came across Eplain, and it looked just like what I needed.
It took me over a year to typeset a 300-page book (A5), but one thing is for sure — I learned TeX quite well, and differential equations beyond the course requirements :).
DW: What language was the book typeset in? More generally, have you been using TeX for the various different languages you know?
OK: It was in Russian. Besides Russian and English, I used TeX for Ukrainian. Ukrainian, like Russian, uses the Cyrillic alphabet, with four additional letters compared to Russian.
DW: Was the book published?
OK: Oh, no, I didn't do it for publishing. I just put it up on the Web so that anybody could download it, together with the sources in case someone would want to improve it/make corrections. It's still there, by the way, at http://geolsoft.freeshell.org/elsgolts.diff.ur.var.is.
DW: Today you maintain Eplain and I know you help or have helped Karl Berry in a couple of other areas. How did those activities come about?
OK: One of the goals for the differential equations textbook I mentioned was to make it an ebook with hyperlinked cross-references. The choice of the PDF output format was easy, of course, but unlike LaTeX, Eplain had no support or provisions for hyperlinks. I was hoping I could write a macro package to be loaded after Eplain, which would add the hypertext capabilities to Eplain macros. This turned out to be unrealistic — on many occasions I had to copy the original macros from Eplain just to add a couple of my own lines in the middle, so if such an Eplain macro was changed later, my modified macro would fail or break some other Eplain macros.
Hence I suggested to Karl that I add the hypertext support directly to Eplain, and he was very enthusiastic about this (and provided invaluable assistance, by the way). Naturally, I had to delve deep into Eplain source code to do what I wanted, so I became familiar with it.
Then one day Karl asked me if I'd want to take over Eplain maintenance, and it seemed like fun to me, so I agreed.
Occasionally, when Karl was overloaded with the many things he does, he asked me to deal with some bug reports for the texinfo.tex macro package from the Texinfo documentation system. Then, during summer holidays of 2006 I had some free time, so I asked Karl what he'd suggest for a summer project. He said that texinfo.tex badly needed support for different input and font encodings, so I went on with this project. A by-product was a more flexible font management system; the current one focuses on Computer Modern fonts and does not accumulate font face changes. By the end of the summer this was mostly complete as a set of standalone macros, not yet integrated with texinfo.tex. Unfortunately, since then I've had very little time to work on texinfo.tex, and the project is still underway.
DW: Should I infer that now that you have graduated, you have a job that takes precedence?
OK: Yes, I have a job now which takes almost all of my time. It is a programming job — writing a sprite-based game for video game machines. I'm not part of any free software projects other than Texinfo and Eplain, unfortunately — simply no time for that.
DW: Is this for a Ukrainian-based game company, or is the game company somewhere else in the world and hires Ukrainian programmers as part of “globalization”?
OK: This is a very recent local start-up (this is their first game) and the game is for the local market. But globalization did reach Simferopol — there are several locally owned companies which take orders from Western companies and hire local programmers to do the job. Because wages here are much lower, software development costs drop tens of times. This is a booming industry right now in Simferopol. The companies usually try to get graduates or last-year students from universities, but they will hire anybody; they even provide training if needed.
DW: Do you foresee continuing to be involved with TeX; and, if so, will you strictly stick to Eplain, or might you drift into LaTeX, ConTeXt, LuaTeX, etc., at some point?
OK: Of course, as much as the time permits, I'll stay involved with TeX. I still have some unfinished business with Eplain and Texinfo :). As for LaTeX, ConTeXt, etc., they are all very interesting projects, but I don't see where I'm going to find the time to participate, not in the foreseeable future anyway. I hope they stay around until I do find the time :).
DW: Thank you for participating in our interview series. Your story is fascinating, and your diving in to maintain one of the key TeX systems is laudable.
[Endnote: at the end of 2007, Oleg immigrated to the USA and is very happy to now be living in Portland, Oregon, and working for a division of HP.]