 Hello, good morning. Just to confuse the translators. ¿Quién es de vosotros, sois españoles? Pues gracias por venir el viernes por la noche a escucharnos y ahora de nuevo en inglés. Nuestra presentación, vamos a hacerla en tandem. Ah, sorry. Please, can you make it work again? No, this is a prototype, so it's always like this. Make it mirror this place, look here. This was not wanted, this is not the part of the demo. Ok, so the presentation title you can see it. We are going to tell you about a kind of fruitful collaboration that we have me and Valek. Me, I am the straight engineer and Valek is the reverse engineer. So we are working together in reverse engineering file formats so that, am I in a cloud? Ok. So that free and open software can open it and read formats that are not documented. That was again not intended. Make it not sleep. Make it not sleep in power option presentation. Anyway, we have 20 minutes and we don't have much to say so. This is just our Android remote and we just realized that it can work from those two phones and it was working all day yesterday and we were playing it like a... Ok, so let me go the next one. Ah no, again too much. Ah, you. No. Ok, it normally works. Ok, so LibreOffice, I don't know some of you might know what LibreOffice is. It's a productivity software package that we inherited from something that used to be called OpenOfficeOrc, but we didn't like how it was going so we took the code and we started to develop it in a real cooperative way and applied and then go there, go to the settings of the computer system settings and power options or something. Yes, keep this configuration. Ah, ok. That's why it was... Put the presentation again. Ah no, it's somewhere there. Ok, apart that it's quite a good package. So, now I can actually start. So, we produced this reverse engineer, these graphic libraries, we produced them as a standard libraries. You can see the list of what we have for the while. We have libraries for work perfect, graphics for Visio, for CoralDraw and for Microsoft Publisher formats. We parse them and we... All these libraries they use the same interface which makes it a bit easy. We have a standalone framework to generate ODG from the API calls and also internal class in each library that is generating SVG for programmers that actually don't want to program. So, who is our user outside LibreOffice? So, Inkscape reuses for the 0.49 version it will reuse LibVisio and LibCDR. Caligra, last time I looked, it was a year ago, was reusing LibVisio and someone contacted me for wanting also to reuse LibCDR but I didn't check really whether it was reused. And recently we received an email of Franz Schmidt that said that he integrated LibMS Pub with Scribus. I didn't check, but it might be true. Since he published it in our mailing list. The advantage of this development model is just that not only we don't want to... We are already so good that we don't want to exclude others from having the same functionality that they have. But also the other advantage is that more user we receive, more bugs are reported and we can improve because with reverse engineered format the problem is that we can only reverse engineered what we see and we can make assumption on a finite set of data that we have and every time we release in public we receive bug reports of people who have documents that have structures that we never saw before. Now, what was done? So, very quickly what was done? So, Visio Import Filter and the library LibVisio it was a project of Google Summer of Code 2011. It was a very talented Scottish girl called Ely McAdam, who as a result of her Google Summer of Code work on LibVisio was hired by Lanedo that is a GTK company that is employing, for example, Mitch from GIMP. We started with Visio 2000 to Visio 2010 file formats and that was part of our Libro Office 3.5 release. In 2012 we extended that to all Visio file format versions that ever existed so now we can open all Visio file formats that the Earth was carrying and we also before it was actually even released we supported the Visio 2013 XML file format and we added stencils and shape extraction that is used now in trunk in Inkscape. So, how we did it? It is always bug driven rewrite. We, for example, got a document that was we never saw the structure. It was most probably generated by an SDK so when we saw the document we realized that what we did it was not very useful so we have to refactor the parser. It was an additional work but it helped us then to be more generic and be able to little by little support other versions. With Microsoft Visio 2013 when the preview came out I downloaded it and I realized that they completely changed file format. They made it an XML based OXM-ish style file format. The advantage with Microsoft is that basically the XML file formats are damp of what is there in binary so you actually have just to change the parser but the information is the same so we had to rewrite the parsers so they are more generic and then as a side effect we supported also Visio XML drawing Now, for version 1 and 5 with these rewrites we realized that we were able to support versions 1 and 5 also. For CoralDraw import filter work started in late 2011 was released with LibreOffice 3.6 It was an interesting challenge after the success of Lib Visio and it was a continuation of a fruitful collaboration between the Strait and the reverse engineering team I mean me and Valek We support now all CoralDraw file format starting from version 1 that not even CoralDraw can load and we end by CoralDraw X6 that is the latest version that was released for the time being We go to the... how we extended it we were extending it let's keep this because Femke she was already showing me that I was picking very slowly then the latest library that we added is LibMSPAP it's a library to... Microsoft publisher file format it was again a Google Summer of Code 2012 by American students called Brennan T. Vincent and he... as a result of this Google Summer of Code with us he was hired by Amazon and it was our flagship feature for LibreOffice 4.0 and this is the version support since it was just released we wait for people to use it and bug us with bugs we can go further and now the reverse engineering tools ok we have two tools to do all this reverse engineering work we are called Altoy this one was started to reverse engineering MS publisher and now supports probably two dozens of different file formats and also Colopator which is derived from Russian word which means to... scrub something it's developed straightly to reverse engineering not useful for any other regular task and also it supports collaboration between reverse and straight engineers and used a lot for root cause analysis for import issues so when I see some bug reports for LibreOffice on import doc, xls, ppt or any other file I look inside to find out possible reason why it fails Altoy supports a couple of dozens of file formats it has knobs to do a quick search of the parts of the file for navigation, information gathering and so on and Colopator you can probably say that it's a HXU program yet another HXU problem on steroids it supports a variable string length it supports hints for values which you highlight in Colopator it provides ability to do comments for the parts of the code you select it has its own format which you can use to send files to each other and it also have HTML expert because now we have our first official windows user specifically for him I've made some changes to make it possible to run these tools on windows it's a musical teacher from Czechia who was interested a couple of weeks ago he just contacted me he's interested to reverse engineer Yamaha extension pack files and he progressed pretty well so probably Yamaha user would be able to create these files on their own last year it's an update for tools there was another support for Coral Photopay and picked CDW which is a Russian CAD program CPL, CDEX, ICCC, CMX QPVR, CFIBR, BGR, ZIP YEP which is Yamaha files improved support for a few formats and added 3 hands, 7, 8 and 9 support how you can help us and join to VRT first of all LibreOffice is a mentoring organization for this year Google Summer of Code we are looking for a talented student to join us to work on a freehand import filter import library the same way as LibCDR LibVisio and LibMSPub was done we cannot promise that you will be famous but we expect that probably you will be hired by someone after that as two previous students were hired and that will be a significant contribution whereas still a lot of freehands user who want to be able to open their old files file format partly reverse engineered so it would not be from scratch and you are supposed to be successful with a project thank you very much and if you have a situation just just a little correction Valek he said something that is not accurate we can promise you that you will be famous but we cannot promise that you will be rich ok we have time for one or two questions yes thank you for publisher format from the scribu side not sure that we can help much but we have a wish from our user and a big wish is in design files everybody wants to read in design files I don't know if it's interesting also for OpenOff and LibreOffice but this is a big wish so in design files is it a rich user is it a big user with a lot of money ok well for we can probably do that the problem with any reverse engineering of something which we don't know is we have to have user who knows the program like in design and can generate various files and wish to do that and who can explain what actually is in the file and follow instructions if you say please do the file with one rectangle located on that place and you receive something which is probably close to that but not exact when you screw it on a reverse engineering part because you expect some values and you receive something completely different but if we have a user who can do that we can do reverse engineering we cannot promise result but we will do our best to support it ok so they need a user that can do a structured response to their questions so that they can from the file that's produced understand what's happening no, we need an in just we need an in design user we need an in design user that can be a bit of extended hand we don't have in design we are not going to pay for it so we need someone whom you tell please position a frame that is big 2 cm wide 3 cm on this coordinate and it has to be that thing because then we open the file and we try to look for different numbers and try to find and chop the structure so that we can more or less in this part of the file is this and this kind of stuff and it requires a lot of iteration so the user would be good if it was not someone who is addicted to sleep ok we are going to look for this person thank you very much