 Okay Okay I've now learned the value of These were the goals that I was going to go over now when I had first proposed a talk I was hoping to have from 1.0 almost ready for this conference and Unfortunately, we're nowhere near there But what we are close to is deciding what's going to be in that and setting a timeline for that sort of time now prom started off as Basically a project in which lots of people donated to me because I asked them to support me to do a good source I decided to do PDF because that's what the community seemed like they really wanted most and during that time I was doing regular releases at least once a month maybe more frequently But then after I had to go back to work Which is bad of course, but let me just quickly run through these goals. We want to have a high-level interface for basic reports and So this hits a several goals at once you could see there that that's just using a font That's a true Ted font and then rendering some youth UTF 8 text and that's all you need to do to use fun for basic reports If anyone saw my RubyConf 2008 talk, which is well on concrete. I also reverse engineer the github invoices that they send out to you guys And that took like maybe 20 25 So Prada is good for basic stuff. It's fast. It does all of that It's also the fastest pure Ruby PDF implementation with its feature set if you go to that URL You'll see that if you're not dealing with pure Ruby prongs out that fast, but as compared to something like our girls But as compared to something like PDF writer, it's a hell of a lot faster We also don't rely on any third-party packages either see extensions or any other gems Everything was written by the people who are working up front Which if you know anything about PDF that was a lot of work Primary stuff and all of that so Our goal is to keep that and as a result we run on MRI we went on YARV. We ran a Rubinius J Ruby and Racker B04 and pretty much probably everywhere Internet actualization is a top priority We have big support for Unicode if you're running on Ruby 1.9 It will transcode to you so long as you have Unicode as long as your encoding works with Unicode and We plan to support Ruby 1.86 and Ruby 1.9 And every sub-scheme release of Ruby 1.9 all the way up to the 1.0 release. Our very first release has this We're one of the first Libraries to actually actively support Ruby 1.9 and we'll continue to do that moving forward with the project We may eventually drop Ruby 1.8 support, but don't worry. It won't be any time soon We also want to replace PDF writer and I would like to know how many of you have used or are using PDF writer for something Okay, so how many of you have migrated everything that you put over to prod? Not that many So PDF writer the biggest problem is one that is slow and two that is buggy If we made you an API compatibility layer that basically allowed you to drop in for all the functionality We haven't prod now would you use that? Yes, okay, so that will be on the roadmap for 1.0 So another thing is that we want to have a readable and hackable core implementation And if you look in my book, Ruby Best Practices, I use a lot of the examples. I was working on prod while I was writing the book and the design in a lot of places is really quite good The fact that we've had over 40 contributors to something as low-level as a PDF generation library That makes me feel like we've done a good job there But there are certainly areas that are scary and right now. I don't know how many people are familiar with the PDF format, but it's got a 1,300 page specification That's a little bit scary and it actually sort of implements its own object system So you're basically building pointers and things like that that part of prawn sucks really really bad And that's why we can't do things like page one of hen because we can't go backwards We basically are continuously moving a pointer across all of our pages and that is bad We also can't do things like group together a bunch of stuff and say if it's on the page put it there otherwise move it to the next page, but Last night and throughout the rest of the day today, we are working on replacing that object system and as of 1.0 You will certainly have a way to do all of that stuff and you may have a way to do it in the next few weeks So that's basically my talk I don't know if I have any more time at all to take a question one minute. Okay. Does anyone have a question? Oh? Well, can't talk about that until I hear about it, but But my book has in the contract it will definitely be open source by March 15 We're trying to get it done sooner, but I can't do any more detail than that But the book may be available for free sooner than March 15, so take a look for that Okay You're going to be working on object system until we need And ask questions about prom or work on prom Okay, thank you everybody