Logo TIB AV-Portal Logo TIB AV-Portal

Windows of opportunity

Video in TIB AV-Portal: Windows of opportunity

Formal Metadata

Windows of opportunity
A (biased) personal history of two decades of LaTeX development Are there lessons to be learned?
Title of Series
Part Number
Number of Parts
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Place
Cork, Ireland

Content Metadata

Subject Area
Looking back at twenty–odd years involvement in LaTeX development and maintenance the author highlights the (in his opinion) most important milestones and pitfalls. - What are significant events that came at the right moment? - Which important events came at the wrong moment? - What were the biggest failures and why? From this data the article attempts to draw conclusions as to how the future of LaTeX could be shaped in a way beneficial to everybody involved and what needs to happen to make this possible.
time Development bits Part
web pages Slides round Computer animation program ones machine sets effects Part cores events
versions point Computer animation memory terms program time bits theorems sort form potential
point dots interfaces Development NET simulations bits font Part maintenance Coloured bin mathematics Computer animation speech lies extent freezing
choice standards Development time decision schemes bits font frame information number sign Computer animation program selection Remote sort extent form
time schemes Mass font Part number elements words program input selection encoding metrics Results
web pages programming language interfaces logical consistency bits Part information graphical user interface Computer animation configuration orders model extent Abstract
words Computer animation time phase analysis organization effects bits encoding student Mass font
distribution standards environment terms effects Right information
point Slides suite Actions time functions regular TDD production computational information number versions preprocessing mathematics complex Hacker program level testing model form distribution standards regression interfaces projects bits maintenance system call kernel normal sort Results
email Computer animation Software terms touch Right bits figure maintenance system call
Slides states incident sort maintenance extent
web pages complex decision time interfaces routine bits basis information sort model extent geometric stable
functionality implementation functions limitations Part ease of use means Computer animation website sort model metrics form
alternatives topology sources
point web pages labor code time directions sources student Part second information number production preprocessing mathematics terms profiles program cores level Office classes systems collaboratives relation scale bases Development Prisoner's Dilemma normalization staff basis maintenance system call compiler proof Computer animation sort protocols PDF
point Actions constraints time decision schemes plan translation similar major surgeries information degree mathematics mechanisms Computer animation case different topology level sort model extent macros exception
period overhead Computer animation time speech
OK Peter just as suggested I should do my own introduction but that's something I really didn't want to do it so that neuter comes conspectus reduce does afterward so we just skip that part this the 30 years of talk um it's a long time and I've been around for for most part of it actually so what I was trying to do in doing now is found giving a personal kind of history of a part of it but latex development the and Don so what I'm running you through is kind of a retrospective look what I think is from has been important over the years to the candidates and then we will see and so that we don't have much time but I just learned me have a little bit more but we'll not that much
and he is a kind of legend of whatever marked on the slides on milestones that I think it being I important set something up and if they wear really is of long-lasting events I also marked them that's that's all biased obviously and afterwards you can't beat me for it and then there are things which I also think of really really important but they had no effect whatsoever for different reasons runtime wrong way to presented them you may be misconception on my part now but those are the ones with some standard and then I have downhill slide that's kind of thing when things went so bad in 1 way or the other and that's what I'm going to that
in the rounds from the late eighties to 2 now OK so late eighties I I get in contact was tech uh through the textbook and they amassed tag on a multi-core machine um a page was about the size because we didn't have the right printers so essentially I thought I saw the program but it could use it and then some sometime later like
I gotta PC tech version With the lay tech manual later 208 and I thought great this is kind of the way she thinks should go this has sort of potential and I fired up and the direct and he died because of memory was 500 12 K and they take sort of in the middle of loading articles that OK good bye that's it uh so I had this manual good news it and what I did was I wrote my own 1st take big take program which was kind of a mini latex and 1 of the things that are that there is this to program very very on concise and that was something that was very useful in the years after and now of the 1st I think very important thing that happened was an i've picked up the I'm literate programming ideas from Don and sort the that that should be something I I should use for my own programs and my own take packages and I had developed for that it's not really perfect it's rather bad actually but it was so the best I could do an important bit about it is nowadays we actually have about 85 % all of our all colder this on C time is actually in that form so we have a very firm stand on these days and also in the eighties I started to
build the 1st 1st term array multicolored theorem and other packages and published 1st 1st time in intact boat and the most important part of above that was of for Monte-Carlo I got BOM public-use scholarship I don't think it was really a sort of the best thing around at that point in time all but it wasn't really really good chance for me because of that was the only way for me to actually talk to the big guys personally I mean I had by that Leslie was was e-mails over time but but but that was a chance to come to Stanford on a very very important day namely when when Don was deciding about to decide what to do with this text and I I could go then
stay in front of the crowd and if she gave a talk about um well ladies or which I was kind of a bold thing to do that but I mean the late eighties how was young so I came up and said 0 this is not working and this is not good and again along this I mean this is basically take was good for math late it was bad for math just had rubbish uh interfaces and and couldn't do anything you could use any font is only was computer model uh the bin into sizes at least of 3 so that was better than playing but OK graphics color not know interfaces if you use Carlo graphics and definitely that thing wouldn't work on next door but and if you wear European or at least not english speaking and he had this little problem of this dots and and other fancy character bits that just didn't work quite well on the wooden hyphenate and and all these kind of things and yet a couple of others we come to that later and the other very important part was that we were the what's interesting still left 29 minutes that's probably a lie and the that's let's keep it up from here to here the that's the way is
OK so I the the not going the other very very important point on the Stanford conference was that we we want together with Don there was an open session where we discuss stuff there was discussion before and after we talk try to talk him into into various bits of changes and the good thing about the tech 3 was that it actually provided an extension to attack that enabled it to to be used outside the English-speaking world and end a the bad part of it it actually uh I would say went far enough uh in in many respects and um basically since then there was a freeze completely I mean there are a couple of things that happen on the Indian side but that the reason that in in the the weight Don announced that the end of the story and made a big impact there I should make that wrecked actually but it's not undertake so that's why it OK and the other thing was that after the conference we had hit more discussions and which Leslie and I I I I spoke with them over the a couple of sessions in private and by the end of it he basically are side over LaTeCH development and maintenance to me and christened so Reiner uh and that was kind of a very big change up for for how went for the coming it would have been gone completely different if it wouldn't be so our faults to shape the stray from their own so then we come to the
nineties basically running full speed you could say this bagel development Dionysus here when he is he's instrumental in in in in getting so all the various western languages into the we are most of them latex right and I did the new font selection scheme development and then in 1990 I have the 1st 1 down in my opinion I give a talk in texas think and our on guidelines for future tech extension and the I think it was who actually quite a good 1 or maybe not to talk about the paper and what I get for it was basically a lot of heat I something like you shall not doubt that tech is the best program in the world and on that yes was kind of really religious at that time I which wasn't wasn't what I was doubting anyway but um OK so
the it didn't have an impact on other than I'm yeah being translated in a couple of languages and sitting around for a long time and then we came on in this all happen the same same kind of small small time frame we came to this place a years ago I don't know many of you have been here a couple and we met in some remote whole like can't remember where I'm not sure I would find it but and there was this guy from Canada coming my bicycle he was very instrumental remember that in high yes the at Emily came up with was the fault clock font encoding so that was a was an attempt I I would say it fairly successful 1 to to actually go away from 7 bit forms to a bit Fons's was a huge step forward because it and are able to use start was a lot of languages even so that that tech 3 at the languages um hyphenation everything was still a problem because we didn't have those sort of standards in the forms and coming up with the standard was really really war uh actually was this and this because we went overboard we we we try to squeeze too much into it and and that made of 4 for a large number of largest from some bad design decisions uh which then after was hold us like like like Don date was was making the dollar sign and the pound sign being the same slot and uh if you change fonts you bills go up or down um in value depending on the economy and depending on something else but it was not a good choice by him and be made similar mistakes but anyway it was a very big step forward and and the 8 bit phones had been instrumental take out for long time now we are sort of on the rise of making that less important but it's still there and still important but using fonts was not
just done by new font selection scheme that gave us a model and find the fund encodings uh we also had to have a way of getting PostScript phones and stuff like this into the tech metrics and their important step was was the elements of font and in this program that Wallace did this automatically within Tech programmed as a as a text problem OK and another thing also in the nineties Reiner and I go to a commission from the NMS to to take a mistake and turn it into something that could be used was latex and then about 99 history we released late take to me as a better word better words and Don a little later in June 1994 got officially released so what we did between 9 394 but 94 was was fixing about part of of part uh a number of things input coatings were added at that time and I think some stuff so what's the status now um
actually they take to the result of a lot of the problems that I so boldly said where all wrong from we had a mass
support we have language support we headed different from what we had I think quite a decent graphics interface at abstracted from from the underlying stuff as best as we could I we had for some extension interface from 4 packages so they weren't competing arbitrarily was each other in order I mean they still do this still a hassle but the option of model news packages and so on that that actually gave gave give them so step forward and so yeah and what is remaining that's the hard part
is I would say no consistent internal programming language the no really high-level interfaces end a fairly simple mind not page moral I mean yes but everything else was there and so we struggled on each looking for the other bits
and what also happened that in the early nineties was we were trying to do trying to do mass font encoding of similar to what we did for couldn't Burke the organization sponsored of a student for 3 months to work with selected project and that became of is I think a very very good on so the analysis and proposals proposal and that's it and I think Barbara now with the sticks form side up 10 years later or even even later finally could use a little bit of its in other words it was the 1 time nobody was really we need to step in and so here that brings me to the 1st
consolidation phase and I mark this is doggy book yellow and as a as a very long lasting effect on myself if you buy a not so much because
it so well and gets translated in couple of languages but by chance it became all it made up a big impact in terms of standardization for fully tech they take environment it wasn't intended this way I mean it was on the original idea I think was let's that's a document what is available in so and don't have this nicely packages so that late accuser could use it would turn out to be in the end walls and Wallace this is what should be available in the in latex distributions um unfortunately most of the stuff we documented from from was not too bad so most actually having the right kind of effect but it was really watch on OK
graphics companion as a sideshow also a lot of work but not so much in fact that brings
us to the 2nd half of of the nineties in the 2nd half of was what I was call sort of mainstream we were trying to the run the show would serve as a product because it's important if you want to have a large user base so so we had regular maintenance so that everybody sort of could stay on the same level we developed an actually that was early nineties of thing already and so the regression test suite that automatically was to take note taking changes and checking them against undefined output so that we knew something would break if you change here it breaks there that happened often enough I mean nowadays is all normal edge-on programming test-driven development whatever but we did in the early nineties and and then in the late nineties means the actions of automated of that and the 1st down FIL slide because we we had to work with the end tag distributions and all this kind of stuff to running on very small computers we we did a lot of hacks to get things small and that was now sort of starting to point and that's the way this I mean otherwise we couldn't reach those users we even had a later version I don't know if anybody remembers the precompiler they take form into versions and 1 would mean largely take a lot of the cold out of the kernel and only loaded if you ever needed so the kernel will be even smaller for we we we finally I think around 2000 decided we're not going to support any longer but how and I'm sure they're still and take and distributions of their somewhere anyway the trying to tackle the remaining problems was something we did as well um already in 1992 we wrote of complete kernel in in what you later called the exports 3 language but we never published it and um we only published ex-post real part of it In the wrong 1994 5 or 6 and that was really sort of wrong time and not very well done and the result was basically we missed missed that opportunity to to to actually make an impact there but also it wasn't that stable at the time it was more like look at heated let's discuss this and OK same was the development of of of a design interface I think it is came out very well but because it was based on the stuff that I wasn't going to be used and at this point in time it wasn't going to be used by that we didn't have a critical mass of users trying a wrong with but 1 more important bit I would say we were trying to sort of stroll some of the licensed issues around take world by coming up with 0 on sort of standard license that help people and while this brings us into
2000 project declined yeah and I would on a new output model I got it I think fairly wide and well down the road but it wasn't finished so um and it wasn't wasn't finished and then I basically sort of stopped working on on on late again and that anything for a number of years form personal reasons so that that also of hang in there In the year I came
back when the fight about Leydig is no free software started deviance it took me about 1600 e-mail messages to get it and you remember that right at the to get people call wins that later might be free software in through it predates free software in some sense it's it's it's although in and a lot of us terms some interesting figures actually nowadays we have about 50
% of the licenses on C turn being PPL and given that not everything is like that's not too bad I and the important bit is that we are in that LPP I was trying to solve the maintenance problems people go away and nobody could use it if you use a strict kind of take idea don't touch me on this it's me what rename it anyway
another dance downhill slide maintenance got more and more rigid i is about of thank you you put it in the next release a half a year year 1 and a half years 2 years that didn't really work for for something like there's a typo in um um the Babel on you you did earlier releases but but something like by your RF was badly effective from this OK 2nd incident Peter
Gordon asked me could kill regional the the lady companion together this this like uh Ramesh 0 sorry and so there we foolishly tried to do that in and turn so I was to some extent surprise coming back Malta later equal to see how much actually evolved In the last years and thought it was an enormous amount of effort to to sort of try to capture the state of art if you like basically that was
a complete new book 90 % of the only written about 100 % added on top and it's the important bit is again that I think it's fairly sort of broadly covers what what is currently sort of around I mean obviously biased decisions of what we describing what really filed because in many packages in parallel that that would be equally good but I important data is it gives sort of so a nice concise picture of before this there this point and that brings me to no what's the status
can remaining Lake short comings well I have listed 3 before some extent situation is slightly changed this extra languages now really sort of stable usable the thanks to largely Morton and we have those high-level interfaces the and they could serve as a basis to should produce some of the consistent design identifies and and people are also within the 2 EU world have built into phrases like geometry um talk handling and so on and so forth which could be leveraged and standard and the thing that isn't so good is a complex page model and the extended output routine if I I think a very fascinating based but it's still not production ready and it would take more time but anyway
but 1st of all a large part of the problems in the output retain and and other parts is really due to the underlying engine I mean it's it's a Turing model but not everything you can program doesn't mean you can program it in a way that it is production usable and so this we have this limitations that make the problem for some of these problems and then the other question is do we can reach a critical mass of users to switch to something new because if you have a problem and you want me to solve it and you have a problem but those problems Don don't sort of overlap then solving those problems may site for you I don't want this rubbish over there it's it's it's changing my might include us changing something so I'm not going to change we had the same problem was this 1 later to any really because in the americas people were thinking why all this function so we know that the we
don't have those characters like do I need to install this new forms and metrics and I'm not going to change effectively there still 2 2 online implementations of the in the Americas largely so anyway so is it debt I 3 answers for you and this is so the have which is not very good
source for that but I am actually it's a very small reef shark is he would not kill me I am so probably not choose an alternative answer it's
very fragile that's more like it actually and so on
and so that's a nice tree really but yeah I think I think am largely
it's between 2 and 3 and the question is what it did and how do you go from there so how many seconds to have left not according to my watch on the left from source for that come big points what really
happened over those 2 decades was we had a really big issues pressing a problems and those got so I'm of a lot of consolidation efforts in that that those were important to to make some Leslie this prediction wrong because he said to Chris by 2 thousand I think the they taken taken Iverson is gone but actually yeah but but actually he was of striving I mean it was actually getting more people because it was a usable product and basically standard distribution that's an important part I did mention that I could talk probably whole day but this this kind of history from would start in all the other strand this really focus on 1 part and anyway and then for good or worse um people like like Christian me we were responsible for being fairly conservative and telling you sorry we're not going to change the related article style even if it probably horrible as a design but but there are millions of documents or that that expect to look the way they look and there's no point our the wrong solution to sort of change that in improve proof that make a new class make a new article for for whatever journal you want to do than OK so that's that's sort of the big points there it could have come come up with more some conclusions and teams always well you can challenge that but basically everything that I've seen work well in the tech world was and therefore the of 1 person 2 3 people very small teams any kind of committee approach that was tried failure the typical developer profile yeah no largely students academics and then a couple of dinosaurs like we still hanging around and doing stuff but the problem is that this is good if you want to develop something it's rather bad if you want to maintain it for large community and we have seen that was packages hanging around and seating nobody was able to some change them because the license said don't change and nobody was wrong actually do this 1 reason why became officers maintenance idea and LPP of and then there's this big dilemma I would I would say the B level of tech politics they take is not just the typesetting system it's an exchange protocol people expect that if I write an article for and send it to you it will look at you and expect you like the 1 that I've written and if I submit a paper to journal I don't want to come have become out of page longer than the journal accepts when I made a pages long it should be a pictures of their and this kind of Côte collaboration bases is sort of against rapid development and you have to have to solve this kind of call me would be like if a C compiler would not just be improved to make Foster C code but every once in a while the people will start changing the language In the compiler and expecting this kind of being distributable but the reason that that you can do this is is because the C language essentially is a stable K. is not a very good example for that at the end of the you had to add those preprocessors and everything from hated and sort of look like but what I'm trying to get is is the language itself was stable in in latex terms everybody's things you can change or a lot of people think they can change and twiddle from the packages direct on the district insulation it's fine for themselves but if if they want to run on a on a large scale of collaboration with what about became another conclusion I whenever you try to do this with strange there is always the question is a sexy enough for users because if you don't get those users to change quickly and with a large enough proportion and you will fail and as a said was to read it was touch-and-go um even so I think we had a lot of sexy features in it and it wasn't really at 6 enough for everybody another I think important part 2 classes of activity they take development peak was around early nineties and if I sort of look around there have been over time a number of failed attempts to work on the underlying core engine I mean some improvements some changes nowadays we use the of pdf Tech as a as a as a basis so there has been some in some more but set of the real big staff actually going after the original model and and maybe coming up with something completely different really didn't take off maybe that's a time now I don't know the I'm yeah and it's coming back to later like for take to evil as I said I mean there there are these big open problems but other big enough for the user base that's we know the questions they could could identify that on the other question is some of those big problems can they be so often of that brings me back to the question of the underlying take engine has restrictions I and assuming you can and you come up with a new program was everything around and then you have to get the existing base which is I would define something like the amount of packages that are in the late companion these dice not necessarily the packages themselves but sort of the the topics they have to provide that they want to actually get people potentially go over and that would mean a lot of work manual labor and try of the money to make make so and you not even sure that it she will work yeah and then this is 1 last thing later the that and In the end of the ideas that's it's time for me to do that as
well and turn it was that I would like
to thank you the
thought that the yeah and you introduction of course it low and that that the in it could be and how touchy actually and and the the the John this all and you know and and the the um was granules stuff Our extensions yes if you really go for it kind of different model that would involve the underlying and macro language to such a degree that I was saying no up on the on the top level the to some extent maybe but I think you would need to find new users user buys you wouldn't take hold promise to to change so if you have a new if you if you would be able to attract a new user that and yes it could look sort of similar on top level what there will be too many changes internally on that I would think you would get people that are using led for years what take 4 years to change the of the US in this this is what I meant was this was this last picture of the the the tree it is fairly robust right now it has a certain amount of decline because we get more people getting older not using it and less people younger coming to use it but if you would so radically changing my Foster you might not it would mean very very careful planning so it's not sort of something that I would believe could happen sort of spontaneously at this stage you you want to ask something it was years in really what the do the the question language the you know the most was the use of a woman the group home of is that you it's going to cost you was used the point that the well yeah the question was how many bad design decisions have been introduced or being forced on us because of compatibility of requirements into the and how many of the following question would be introduced in trying to do you compatibility that in in in a follow-up what I said for the follow-up is that I don't believe you can get further the solve a lot of problems in the remaining heart problems would require so much surgery but compatibility in the sense of and as far as we a note in the way we tried it was to be would not be possible when you go further so and yes we make we make design decisions are we kept things working the way they work just for compatibility and some of that would have been better scrapped uh at the time but I don't think as far as the problems we try to resolve and that this wasn't really so much an issue because we really worked on the sort of more localized bits and that the changing the grant scheme was just not possible so if you say it was a bad design decisions have to go and stretch it all and start fresh but Chris you and says something different I'm talking about you know the these are all there is this thing so that is not the I think the and yeah but whether this is what I meant if you want to go over those constraints you would need to change the underlying and whole model and then once you have change that compatibility could be only I sort introducing some external sort of translation kind of mechanism that takes all document but not something like we tried in into but 209 documents except for very specific cases would actually still run
any other questions the OK then I thank you a few what 1 the formal I think that's my oldest you should do you know all that it's speaking speaking of talk a boat and so on another anybody knows it said if the the the old boat that was on the formant after a certain period of time I don't know any on and then later became the president they were the so this is younger but I think that that was the most exciting 1 the overhead in the the the