 My presentation is very quick. I want to show you how we can help the documentation guys with contents that you can produce. So basically what I will show you is the following. LibreOffice has an extension that you can download and install into your writer module. This extension is here. It is in this website. It is www.libreoffice.org. There is a small extension, OXT, that you can just click and download and install into your writer. So the results is the following. You have writer, it gives you another menu called Help Authoring and a new toolbar with specific functions to generate the help files. So what to do? Let's say that you want to explain or create a page of feature XYZ. What my recommendation is is the following. You write it as it is in a page normally in a writer document. So a title, feature XYZ, and then after a small description of the feature and then a section how to access this function and then you describe the steps that you need to go through to get to the extension and then you describe a little bit more about the feature and you talk about the parameters that you have to fill into the dialogue if you have a dialogue to fill. Give examples, right? Give examples. And if you have some specific issues to address, give tips and give warnings. And then put a section on related topics. So write this page, fill the contents, write the best you can to be objective and then you can try to use the extension to create the help page. So now with this menu, the Help Authoring, you can go and create a new file. It opens a new file and immediately you have to save it given a name with the extension already available. So here we are. And in this dialogue, I will cancel this dialogue and show you how to proceed. Later on with more details, we can understand better this dialogue. So I will cancel it and I have this here. So now I take all my contents that I wrote in the other document, copy and then paste into this new file. And what happens? It has a very ugly layout. Why? Because the extension will use the style to generate the proper XML with the parameters. So we have to change the styles. And then with the styles here, you will see a lot of styles and a specific set of styles that start with three letters, HLP, which are the good styles to use. So this first title here will just assign head 1 and then we have head 1. The second paragraph is HLP default. So I use this style. Let me see HLP default. And successively, to access this function is a specific feature of the help authoring extension. So I can introduce here an insert here, insert how to get section. And I can take this content here, Ctrl C, Ctrl V, and we assign the proper style. The proper style is here. And so on. And you see some yellow markings. Then you save this file. Thank you so much, Olivier. And now we will have Magnus from Thunderbird Project. Hello, everybody. I'm Magnus Mellin and I'm here for Thunderbird. If you don't know it already, Thunderbird is the open source for cross-platform email client under the MPL license. I want to tell you where we are currently at. We have a user base of approximately 25 million users. Our user base is growing, though, fairly slowly, with top countries being Germany, Japan, United States, and France, Italy. We do major releases every 42 weeks or so. These are the same schedule as Firefox. And we also have security and stability updates every six weeks to follow the Firefox code because we share probably way over 90% of the code with Firefox. So when they do security updates, we should do them, too. Now, organizationally, we are under Mozilla. Our project governance is handled by a group called the Thunderbird Council. It started a few years ago. And the problem for us is that Mozilla wants to be laser focused on Firefox, which causes some issues for us. We don't want to be a third wheel. We have problems accessing data and stuff. So that's why we're looking for a new organization at home. And so that's why we're here. We're a group of four people who have attended this conference, enjoying it very much so far. Thank you. And you can think a little bit about what Thunderbird and TDF might look like together. We believe we have probably fairly similar target customers, people moving away from Microsoft products. And, of course, we share similar open source values. There are potential synergy effects within administration, marketing, probably a lot of other smaller things, too. And, well, TDF merged from open offices with a great track record. You did it, how many years ago? Well, anyway, we're facing similar challenges probably when we moved to a different home. So we could have a lot of things to learn from you guys. Of course, size does matter. And we believe also there could be increased relevance for both projects if we work together. So there was a lot of mix-up with, shall I say, the public relations when Mozilla announced that they would be dropping Thunderbird, but we're very much alive, still kicking and releasing. And if you didn't do it, already go download us today. Awesome. And next is yours. He needs a web browser. He needs a web browser. Hello, everyone. I'm just quickly going to try and open a browser here. So this morning very early I talked about a website where we can do ODF testing. And part of that website is the ability to actually edit ODF, war XML ODF in the browser. And I want to use this lightning talk to quickly give a small demo of how that works and what's underneath it. So this is not about the main part of this testing site, but just about, well, I have ODF. And I think very few people even have a text editor which helps to autocomplete or validate ODF files in a text editor. If somebody does, does somebody have an autocomplete text editor for ODF? Exactly. Well, one exists and it's in the cloud. So yeah, so I'm going to click make test here. And what you see here, this box is a code mirror instance. Code mirror is a JavaScript library that you can use to have a code editor in your browser. It's used by lots of projects and they have the ability to do autocompletion of XML. What you do need to tell this editor is what elements exist, what attributes exist, what values you might have in your attributes and which elements are allowed in which other elements. So for example, let's, in this sex paragraph, add a link. Oh, a is not allowed. Let's just say... Oh, great, thank you. Excellent. I can type with two hands. Do you want to come stand here? No, I'm not here. Okay. Yeah, so element text a. Great. What attributes do we have? Oh, a whole choice. Let's do href. And, well, let's link to ccplibro-office.org. Libro-office. Okay, well, great. Oh, apparently this is not valid. That's the second feature we have in here. We have validation of the XML typing. Apparently there's something wrong with this a. And that's very simple. We haven't told it what kind of link it is. In ODF you also have to say it's a simple link. I don't know why, but you do. And now it's valid. So, if you want to have a feature where you have autocomplete of ODF in your browser or on your desktop, you can go and look for XML mirror on the web and you will come to our code repository. That's it. Thank you so much. So next is Bubbly. You need to switch. USB disk. Just down there. I'm going to say a few words about what you're doing. It was briefly mentioned here today during one of the extension talks. It is a Java library which is built around Libro-office UNO API and it provides some high abstraction of many UNO interfaces. So if one of you has ever written some code using UNO in Java, you know what I'm talking about when I say that this code is very hard to read and very verbous and it's simply pain in the rear to read and write. So if you don't want to do that, then you probably want to use Noah Libro to talk to Libro-office via UNO from Java. One of the nice features is that this library allows embedding Libro-office into your applications with Java AVT and one of the new features is embedding with SVT done by my wonderful spouse who's sitting over there. This is not just some random library but it's actually used by a couple of free software projects to mention GNU Accounting which is a free accounting software or therapy which is some doctors, ambulance, whatever appointments management software. As my colleague sometimes says we're not programming with UNO API but against UNO API so Noah Libro is some kind of remedy. So what's new in Noah Libro at 3.0 which we released earlier this year? So we adopted that project from Google Code. There were no commits for some six years and I can allow me a bit of Java bashing. The project suffered from some common ailment of many Java projects that were shipping the UNO Runtime Jars in one FED jar and since the old jars couldn't talk to the new UNO environment jars anymore we had to somehow ditch them and well so we don't ship them with Noah anymore but since we don't ship them we have to get them from somewhere and that somewhere is the Maven Central Repository where UNO Runtime Environment LibreOffice jars are now uploaded and once we pull the jars from the Maven Central Repository we have to somehow use them so we have to tell our application where UNO on the system is and for that, that was a good exercise in writing you were a class loader in Java, I will never forget it. Then the new feature I already mentioned that was embedding through Java SVT is now supported because the old AVT to SVT bridge was kind of ancient and buggy and of course many bug fixes there is some work to do in Noah Libre it is currently using Maven Untasks which is a dead project from Apache to pull the jars from the Maven Central Repository so this needs to be replaced by something it will probably be Apache or Maven most of the users of the Simplified UNO interface, most of the users and writers, so the writer interface like Noah interface is the best one, the nicest one but for example Calc interface would need some laugh and some improvement and as you can see on the screenshot below we have a couple of easy hacks too which could be useful for the easy hack is coming to Libre of this project and wanting to hack on Java in Java there is not much work for them to do so this is something where they can put their skills to good use so if any of this walk any interest here is where you find Noah Libre it is on GitHub so feel free to pull the repository and for example work on some easy hacks if you are looking for something nice in Java to do and we are looking forward to some pull requests and the next is Miklos as I am opening the slides talk reasonably about clang and everything that is not a plugin because basically we always identify clang as the compiler that has some plugin interface clang equals plugins but that is not really true use the USB down there great so in case you don't just want to use clang as a C++ compiler but actually you want to build on top of that clang has three different interfaces one is the compiler plugins we heard a lot about those so I am not really talking as you so it allows you automatic rewriting and also if you have some extra restrictions on what C++ subset we are supposed to use then it can be guaranteed that as the code changes this rules has to hold or respected but actually it has two different interfaces and in some situations it is much better to use this so from the other two one is lip tooling that is part of clang and also it has a lip clang clang itself has a clang tools it has a lip tool it has a lip tool so you can get an idea what is possible with lip tooling the first is clang apply replacements that is a tool that can basically read a list of changes you did in multiple translation units and it can de-applicate and apply on the source code because in case you are modifying multiple flies then we are reparsing the headers again and again and we will do these changes in the headers multiple times and it is not trivial to de-applicate these changes in case you deleted the character and the header is and the character was in a header and it was included twice you want to only remove it once there is also clang format that can do stylistic formatting on the code that takes a compiler error message and if it has a database to know what symbol comes from which header it can automatically insert the header for you I showed this myself working nicely on the online repo which is quite smaller I'm not sure if it is up to in scaling with the core repo there is also clang rename that can take a symbol and it can rename the variable at every place in case there is some shadowing warning appearing it's quite non-trivial to fix the warning correctly because you have to know which variable with the same name is which one clang rename can do this in a fast and correct way there is also clang tidy that's something you can see on the screenshot it tries to point out a few more stupidity that's actually valid C++ code but you probably didn't want to do that and of course some of these checks are part of the compiler but in case the analysis for that would be too long then clang tidy is the place where the clang developers place these warnings for example this not ptr conversion that was done in the core repo previously the very same conversion can be done with clang tidy as well I'm not sure which one was implemented and what are the implementation differences but the end result is very similar and this is not a complete list there are many other tools now based on lip tooling actually our devtools repo contains two example tools one can rename files and one can analyze the code and based on that issue some output so in case you are working on a class and you see that for example it has these prefixes what we use quite consistently in some modules then that can be added in an automatic way also we love C++ 11 except one that auto the code is somewhere and you have no idea what it is and it wasn't you who wrote the code for example using lip clang you can deduce the type of that auto and print it out either in vim or imax thank you for your attention and the last one is Cisco USB disk down there yes hello I'm Cisco from QA so I would like to talk about a couple of topics that I know during the QA meeting in the hackfest so first one we discussed how to we could get more contributors to the QA team so we thought about what Jan has done mentoring new developer contributors so one thing we thought is that we can rework the getting both page and just give some easy to follow steps so without like triaging unconfirmed bugs could be more or less easy not always is like that that could be and also to retest all bugs because we have some bugs that has been there for quite a while and well to see if they are already fixed or not then another idea we brought to the table is to send a welcoming email to new commerce well that's something that we would like to do it not to everyone because sometimes we just have people like opening like well like not informative bugs and but to focus on more people who is like giving good information or already doing some like triaging at the time they report the bug or they comment the bug so to focus on that people and then well it could be nice if we could use social networks in a way we could also well recruit new people so something like Reddit or Twitter and then well another thing we could do is to find ways to give well visibility to the work that QA people is doing to so recognize the work they do so they like may feel useful for the project and then another idea we had well right now we have basically the status when a bug it's open it goes to unconfirm then when someone verifies it it goes to new and then from new like well a developer can assign it and then fix it or well there are like other workflows but we thought that maybe we could add a new status which is a 3H 3H sorry and then basically we would like to well like a bug would be set to 3H when we have check whether it's a duplicative one whether it's a regression we ensure that it has been tested in two operative systems and we set the priority and severity so this is that contributors could focus more on 3H in bugs and newcomers could focus more on unconfirming bugs but well just that's just an idea so well we have to work on that but yeah we talk about other things as well but these two are like like big like well big topics that we could try and in the QA team so yeah that's all yeah thank you