 Hello. My name is Lasko Nimet, and I will present about my developments, but with a tricky title. And I will try to explain in the next few slides why so tricky to be fun always or happy during the development or in a software project. Sorry. People need. OK. So this is an extended version of my presentation this year. So I've added more examples and fortunately I have more time, but I will start from project by design. What it means by design that we have fortunately we have a lot of contributors. We have a foundation as staff to handle a lot of things helping the development, the main goal of a software project. But what about how a liberal development can be full of flow? Flow is a term of the positive psychology and created by Mikhaj Chikszentmihae, who used the optimal experience term, scientific term in his works. The other interesting thing that his name came from a village in Transylvania, Romania, Chikszentmihae. So there is some little connection. What is flow is a highly focused mental state, which helps to be productive. So other quotient, optimal functioning of people, groups and institutions. It's like optimization for us during the development of software. Optimization is a crucial part of the development, but not the first part. Not always the first part, but it's good to have a big picture about development. The other good thing here that anyone can experience flow. So the especially an open source project like liberal office development is open for everyone. And the other interesting thing that flow is achieving the challenges of the situation meets one's personal abilities. So my first patch was a single line in 2002. And for me it was very important because it modified the length of the hyphen between the words. And instead of the very long hyphen used in English language document, not only in Hungary, but in Romania. There is a shorter version named N dash. And I was very happy to find the place in the code where it was possible to solve this problem. So I was in a state of flow when I was successful at that time. And later tried to improve myself, but officially I became full time liberal office developer since six years ago. So I tried to show some experience or some fun moment in my last year work. The first one is the Wikipedia one liner. This is related to the Hungarian dictionary development, but it's like a case study for every other languages extending the spelling dictionary. I downloaded a five gigabytes text content on the Hungarian Wikipedia. This is an XML file. And with the following single line I was able to select the most important words for the dictionary extension. It's like the Google's page rank algorithm because this single line using the links, the hyper links between the Wikipedia pages can create a ranking between the terms. If you are interested in UNIX programming, I made some more information about the beginners. And I hope you can enjoy the result. But everyone can enjoy the result because there is an example that the most important missing word in the Hungarian dictionary was the McLaren, a bitiš formula van racing team. And you check the other words, you can see something similar. What was the most interesting that Nauchni is a city in Ukraine, or in Ukraine, cream island, semi island, which is a physical observatory. And in the last hundred years this observatory discovered a lot of flying objects in the solar system or in more far distance. And all of these objects get a Wikipedia page. So that is a problem for me to select the words. But it's possible, it is a proper name and that is an interesting thing. The other example for the other words, for example, the trite serotops, the dinosaur is very frequently used in the Hungarian Wikipedia. So I added it to the Hungarian spelling dictionary, helping children and less and grow ups too. The other project in the last ten years, but especially in the last year, is developing a mini-language term, which is used by Eric Sremond in the famous book Katerdelen Bazar. Two and the other unit's textbooks, the mini-language is designed for a very special task. Here it converting the numbers, the digits, with a spelled out version of the numbers. So in this example, for example, converting the digit 1 to in in Dutch, can you help me please call to pronounce the one in Dutch? In. Thank you very much. So that is the Shodosh language cannot do. So only the written form that is works here. The complexity of the task in the next slide, that Eke Ratke, the Kalk developer of our project, wrote for user request that defining a general purpose number text would be a nightmare. So because indeed it could be a nightmare, but if you thinking a little bit, it's possible to create something simple solution to handle this situation. That was creating a mini-language to define using regular expressions to expand a very long number to sequence of words with correct spelling. That was interesting using the correct orthography here. But it's possible to convert for instance the old asian Chinese numbering system with converting Arabic digits to these Chinese numbers used in Chinese markets still or in the last few decades. For example that somehow finding the flow is not an easy task. It's more like psychology than IT expertise or something else. So it's an example that one of the main problem in the code was this single line for me. So I wasn't able to fix the problem for years because I know that is a very hard problem because so complex that part of the code so I didn't want to touch it waiting for years. And after that when I asked the question from Stefan, the secretary of TDF last year, I not only was able to fix this problem, but I finished the development adding the user interface to LibreOffice integrated the code. The integration was available. For example it was possible to the heading in the right tab to use this new format. But now it's possible to use in COC2. There are more number of formats. You can see in the 100 with the title casings, so all the letters of the English transcription of the big is again capitalized or only the first letter or only used small letters in the code. So it is part of the format says Dialogue window of COC. And there is a currency version when you can select the language and you can select the type related to the case, title case, upper case, et cetera. But you can select the currency too. And related to that there is a relatively short text file in written in this mini language and if the definition is correct you can get in the cells the top of the screen shot you can see that 10 US dollars and 25 cents. For example 1 US dollar without the plural as result. So it's an advantage related for example Microsoft Excel that we have a feature which sometimes used and as I heard from Stefan Fichte he really likes it and using it frequently and always thinking always for me. So it was a nice feedback. The other nice development Libre logo is also a mini language or some type, not a mini language, it is in fact a language over Python, ambush Python interpreter of LibreOffice and is LibreGo using a mix of the original logo language with turtle graphics features with some Python syntaxes especially the data structure. So it is like an easier language for Python especially possible to write codes in the writer in the logo toolbar and some composite picture about the new developments. For example that is it's possible to use the font transparency features all the comments are localized. So it's an example the localized strings and over the localized source code you can see the example that this text, the big letters created by LibreLogo using the new font transparency command. The LibreLogo development is sometimes useful, more useful than using this LibreOffice extension. The right top side you can see that there was a problem in the SVG export. All the pictures can get a very thin, tight, ghost line. So this is the bad state of the export. Now it's removed by thanks to the LibreLogo development. As an example that you can the label and the text command get some speed up and there is an optional speed speeding function of LibreLogo using the sleep command with a negative argument. Sleep minus one can lock the painting until the end of the program or until the slap zero command. So it's 100 times, sometimes 100 times faster to generate a nice graphics in LibreLogo, in LibreOffice. The other useful thing in the label and the text command is possible to use HTML-like formatting but localized to create some graphics. It doesn't like, but I can show you a little bit. These letters in these examples are colorful, red and blue. And using not only this feature, the color, but font size and all the font features of the open type and the graphite fonts. So it's sometimes very useful if you want to create some nice, fancy text or postcard based on a database or some very simple program. The other improvement that creating a portable SVG export is an example here. It's showed the before state with completely fallen apart and at the right it's the correct export when we try to use different settings. The interesting thing also a fun moment in during the development that there was only a single line to fix the last problem is the portable, missing portable SVG export. In this project it's about to create some typography-related thing. For example, you can see the new features of the paragraph formatting of LibreOffice. Don't hyphenate the last word of the paragraph and minimum word length in characters. It's some interpretability functions especially the hyphenation zone. This is a document level setting. This is in LibreOffice. It's a paragraph level setting. It's useful and thanks to it. I added to the help. Only we mentioned something. It would be fine to extend the help and I did it here. One of the most important missing features is the interoperability. 2013 or over maybe that since this version Microsoft Office uses a different text line breaking algorithm. I started to fix this problem and you can see the first results. This is the left side. It's a Microsoft Office version. You can see the previous state that, for example, the second line that hand read it said is the end of the second line. It is broken differently in LibreOffice. It's a huge problem because it is a single difference that can generate different more pages in LibreOffice losing the interoperability. It definitely is a new feature of Microsoft Office implementing a shrinking feature in the line resulting immediately losing the interoperability for one of the most important part of this office, the document editor interoperability. And the other example showed that it's not a complete version but it's a test version with my development code that there is no more lines during the line breaking but there is no shrinking yet. If you can check the second line the dot is over the end of the line especially the other example when you can see the mognis in the second line of the second paragraph show that this is a test code. It's about an other book project of me and other fixes I can show you the three shorts and I will try to say a sentence about it more than or near 450 bucks fixed for the Hungarian public administration and this is the bug fixes in January before the FOSDEM conference and one of in the last few months I tried to fix the table change tracking especially for columns and interesting example that after implementing the table row insertion deletion change tracking I tried to fix the column for columns the same but it seems to me it's impossible so I've got I left the problem waiting a few months and after that I realized that we don't need column change tracking because it's enough to use cell tracking inserting a cell because column insertion deletion is in fact a set of cell insertions and deletions so after that it was much easier to fix the problem that I know that it's possible to do it and you can see that for example that it's I don't know how much patch is related in the code but a few dozen I think so it's simple problem for example the moving big part of text with tables now it results different color change tracking color tables showing the pink deletion and showing the light blue the insertion of the table in the text before it was all the tables white so it was not possible to notice that it's part of the change tracking some new functions for spell checking it's possible for languages like German, Dutch Swedish languages uses it's a very free or open compound word generation so every word in English it's separated by spaces but not in these languages or in Hungarian so it is a spell checking dictionary use a heuristic to handle this situation generating a lot of problem accepting during the spell checking the typos so making a mistake in a single character but it seems it's a good compound word so the spell checker doesn't notice the problem or doesn't show the problem for the users now it's possible to switch off this heuristic in the library office for all the languages so for the German for example if somebody a proof reader want to the best for example it's better to a once or twice to disable this heuristics in the spell checking and check the result in the text sometimes it's very funny to check that spelling phrase checking it's also an interesting it's possible to add to the spell dictionary in fact two word phrases and using in the text for checking and custom dictionary somebody wrote in the book tracker but why not change the language for example a Latin phrase this mayor can use the Latin dictionary yes sometimes it's possible but every languages use different Latin for example Latin phrases it's a sometimes the legal language can different related example some languages write with i some with j or in Hungarian language it's possible to add it's a suffixes for example to the word about in the Hungarian language so we can use the Latin dictionary here sorry a few numbers at the end the google sheets got a number text extension this is a number text extension contain near more than yes there is a 52 language modules and used to converting the digits to words but not only words but it's possible to create for example the aglutinative languages like the Hungarian, Finnish, Turkish language to create special date fields or special fields for example with suffixes it seems for me related to the my experience with the Hungarian administration that it's some big companies Microsoft etc. I showed examples try to handle this language problem somehow but they couldn't so that is why the one of the most important thing in an open source office suite that we can make everything for the users but the best when the users can make everything themselves asking the help of free software ecosystem companies or trying to learn liberal office development at NIS the Hungarian company the option was the second I led the development trying to have the colleagues and the result not only my near 500 patches liberal office it's not only patches but it's fixed bugs in the bug tracker but near 700 fixes thanks to my colleagues in the liberal office too so thank you very much the help all of your help because asking anything from a developer or making suggestions it could be a very good starting point to follow development or trying to think about it about the solution thank you