 OK, our first speaker, Felix Zumstein. Do I pronounce it correctly if I do it in German? Yeah, that's absolutely right. We can also speak German. Felix Zumstein, Python and Excel, give him a hand. You're safe. So hello, everybody. My name is Felix, and I do Python for finance. And in the next five minutes, I'm going to show you two packages. They're called Excel Wings and Excel Python. And the smartest amongst you have probably found out that it's all about programming Excel from Python. So Excel Wings is my own package. And Excel Python is a package from a guy called Eric Reynolds. And the good thing about those two packages is that they are totally complementary. So having both of them at hand, you can actually do about anything you want to do with Excel and more. So I'm going to jump in. First thing that I wanted to mention before I jump in is that we are actually planning to merge two packages together into one at some point when they are a bit more mature because currently, they're just a few months old and really just at the beginning. So I'm jumping into demo Excel Wings. And I'm doing this on my Mac because the not yet released version 0.2 is going to have native Mac support. It's going to be the first package ever who is actually caring about supporting Excel on Mac. So you just create a workbook object from the Excel Wings package. It opens Excel if it's not existing yet, if it's not running yet. Then you can type in a familiar fashion as they're used to from VBA. You can read it back. Let's say you can also use, obviously, index notation for your cells. You can also deal with daytime objects and address various cells at the same time. So it's going to be correctly transferred into date cells on Excel side. You can also bring over whole tables as nested cells, as nested lists, sorry. And non-types here is going to be transferred as empty cells. Then there is also an easy mechanism to read back those tables. So you just specify the upper left corner and say table. And you're basically essentially back to whatever you have pushed over to Excel before. The good thing is this also works with non-pay arrays. So if I just say identity matrix assigned to A10, it's just going to push it over there. If I want to read it back, then I simply say here from A7, give it back to me as RA equals to true. It's also automatically going to handle NANs if they are empty cells, for instance. Then pandas data frames work pretty much the same way. So you can efficiently read in your data here. Again, from A6, the table, then you split off the column headers. And the rest, you put it into the data. And you quickly have your data frame back in Python, again, taking care of the NANs. Then pushing it back is as easy as before. You just throw it over into a cell. And if you don't care about the index, for example, you just say index false. You can do the same with the header. The last thing here I'm going to show is a one-liner actually to add charts and automatically control the chart type and the source data. So that's what the upcoming version 0.2 will feature on the Mac. But we have currently a lot more features on the Windows version. So for instance, you can actually invoke those scripts that you write with Excel wings. You can invoke them directly from Excel. So we have a native way from Excel wings. It's a bit slow. But if you combine it with Excel Python, then the first call is slow, but then it's very, very fast. All it needs is one line of VBA in the back. Then now I'm going to completely switch over to Excel Python. Excel Python is just great because it allows you to expose existing Python code without having to do any changes into Excel. So for instance, I have a matrix here. I want to calculate the inverse of it. There's a function for that in Excel. Obviously, I'm inverse. But the thing is, if I change that into a singular matrix, then I'm inverse will not tell me the result anymore because it's not defined. So in NumPy, it's easy. We have the P inverse, the pseudo-inverse that is actually made for these non-singular matrices. And we can still calculate it. So having Excel Python, I can natively expose the PINF function here in Excel. All that's needed is a little wrapper over here in the code section in the VBA. It might look a little bit convoluted right now, but there is an add-in, a developer add-in that can actually produce this code for you. And then the last thing I want to show you is a complex. Well, it's not utterly complex, but still it's two matrix multiplication and the transpose applied to large matrices. So we have a 400 times 400 matrix. And if I change a value here, then I have to wait a long time for the native Excel functionality to calculate almost too long for lightning talk. And if I do the same over here in Excel Python, it's blisteringly fast. Thank you. Thank you so much. Richard Jones, please get your setup. You get the original Lightning Talk Man superhero card for your collection, for giving a lightning talk. Our next speaker will be Richard Jones from Down Under, talking about packaging and awesome. Please can I get Hiroki? Hiroki with a non-asky last name to the stage. Wow. And while we were talking about Excel, I heard that the project management for the new Berlin Airport was also done in one big Excel sheet. That brings us to Mark, an infinite number of mathematicians walk into a bar. The first orders one beer. The second one orders half a beer. The third one orders a quarter of a beer. The next one orders an eight of a beer. The next one, a one sixteenth of a beer. And then the bartender just pulls two beers and says to the guys, you have to know your limits. We are quite in an historic date in the year. What happened yesterday, 45 years ago? Moon landing, very good. Some still say it was faked. And this morning, Constanza told us they spent $51.54 billion in the less black budget on spying. And I learned the moon landing only cost $100 billion. And you know the Blue Marble photo with the Earth, with the planet, the most epic selfie ever? We can get it for two years of spying. We can have this selfie posted every year. And I'm quite sure you could make the same an ad with Tricement on those Twitter page. OK. Richard, you ready? Yeah. Are you ready for that? Richard about packaging and awesome. Well, yeah. OK, so I can't see my notes, so I'm going to have to wing it. OK, so I'm fairly deeply involved in Python packaging. I'm the guy who's the admin for the Python Packaging Index. And I've got a bit of a premise here. Who agrees with this? The packaging is awesome. Really? They don't. Really? OK, so I wouldn't necessarily say that myself. It's certainly getting better. It's been pretty terrible, but we are working on it. It's improving. There's a Python Packaging Authority now, which is a group of people who have been working on tools kind of semi-independently. And we're all kind of working together now to try and make things better. And one of the issues with the Python Packaging story is that there's a lot going on. So Python has this motto about there being one obvious way of doing things. So it's a bit of a complex story. Another issue that we've had is that the story has been told in many different places. So we've got different people documenting their projects in different places. You often end up finding documentation for this stuff on Stack Overflow, all sorts of disparate locations. And some of it is quite out of date, because packaging, it moves on with the times. So what the Python Packaging Authority has done is create a single point of documentation for all of this. And it's packaging.python.org. The nice thing about this is it's being kept up to date. It's not complete, but the stuff that most people need to know about creating packages, installing packages, distributing them, even things like caching them locally and mirroring the whole index, those things are documented. There's some of the edge cases aren't necessarily documented yet. So it's a work in progress, but it is being kept up to date. And the really nice thing about it is that button up the top right-hand side there, where if you see a problem, you can go straight ahead and either suggest a fix or just make the fix and submit it to the people who are looking after it. So I think that's pretty cool and a great improvement over where we've been in the past. So packaging.python.org. If you ever need to know where to look for documentation for how to do anything in packaging, that's the place to go. I'm also organizing an open space about packaging if you're interested and would like to contribute to the general things that are going on in packaging. Then on Thursday at 11 o'clock, out in the garden area, so when we start yelling at each other, you know it's a kind of an open space and we can feel free to run away. That's where we're gonna be talking about those things and it'd be good to get interested people to come along and contribute. So thank you. Rachel is one of the guys who can soon call Bingo because he got four Lightning Talkman cards, the only one in the world. Now, somebody submitted a talk without reading the documentation. It's just a new PSF. Who did it? Yeah, Mark, I was suspecting it. Anyway, please be prepared for the stage. Our next speaker will be Hiroku. What is your last name? Kiyohara. Kiyohara? Yes. Am I doing good? Yeah. Kiyohara is good? Yeah. Have you set up your system? Set it up. Okay. Okay. One thing about that traveling is I always have a lot of luggage with me and I always pay extra fees in those cheap airlines and people say to me, you don't have to change your clothes every day and I'm a little bit maybe special, somebody called OCD or I just have to do it and I did some research. It would be much more expensive to get therapy and just to pay that extra luggage for the next few years. So, with no further ado, Hiroki. Yeah. About Junko Report May. Give him a big hand. Thank you. Yeah, this is really awesome view. Yeah, today I introduce you to Junko Report May, our library I created. Yo. Yo from Kiyohara. My name is Kiyohara coming from Japan. Ralph Pison and Bill and so on. Anyway, what is the Junko Report Mail? It is a Junko library to provide a report mail. What is a report mail? Anyway, some Junko management command used as a night rebouch. Some web application requires some night rebouch creating some summary or running a heavy and slowly circle and so on. Yeah, we need, we need a night rebouch and we need some reports of the command. The command succeed, failed, or what kind of file used and what kind of roads proceed and so on. We need a report. And some of them we can't sleep. The night rebouch failed or something. And we need a report. Yeah, some of you recommend Sentry. Yeah, I know. And Sentry is an application to aggregate logs. So it provides a dashboard, it provides aggregated logs and it provides notifications as an email. Yeah, it's a really great project. I know, I know. But lack of a resource, we can't run the Sentry server. But the lack of resource, we have only this small instance of EC2, something like this. We need tiny, tiny project. We don't have enough resources. So I recommend the Jungle Report Mail. And this is a very common, you know, this is a Jungle Management Command and you need to import the apply report and decorator and apply it to the handle method. When the handle method takes a reporter object as a second argument and you can use the interface like a list, you can append some strings you want to report. Yeah, this is a very, very, very simple example. Let's see the more complex example. Yeah, we use this reporter object in the for loop. And at this report, the loop counters number will be reported. And this command will end. You will receive the admin mail. Admin mail is a very common, you know, that admin mail of Jungle. And the subject, oh, it's pretty bad. Yeah, subject you like you will get. And the body, the top of body of the mail, you will get the information of the command, what kind of file you use, what kind of options applied and so on. And it's separated, but you will get the result of the procedure. This reporter append, this appended string will be appear in this. So you can know, you can know and you can notice the result of the command as a mail. Okay, and more. The command provide an error hand brings when the command, when the nitri virtual failed, automatically extended the other admin mail and some trans, what was that error name of error will be sent. And you can customize the mail template and customize the way to report to the console reporting or manager or admin and so on. Okay, it's end. Pokemon GitHub, hero, KLY, Jungle Reptile Mail. Thank you for listening. Woo! Thank you so much. And I can tell you it's a great module. My business associates in Nigeria are using it to notify me every time they have found some money that they need to transfer to me. It works every time. Thank you so much. I need Alexander, Alexander Kölping about the flying elephant you have prepared. Now our next speaker will be Mark-Anne-Rilenburg about the new Python Software Foundation. And ready! Give him a big hand. Thank you. Hello, I'm Mark Lamberg. I'm one of the board members of the Python Software Foundation. How many of you know the Python Software Foundation? Almost everyone, that's good. How many are members of the Python Software Foundation? So we definitely have a problem there. And we decided to change something about this because the Python Software Foundation has traditionally been a very close kind of organization. And in April this year, we opened up the Python Software Foundation. So now everyone in the Python community can become a Python Software Foundation member and I'm just gonna show you how that's done. It's really easy. So you just go to python.org, you scroll to the very bottom, you have a button here, become a member. You go here, either you already have a sign in for python.org or you register, so you click here. You enter your details, you hit the button sign up, you're signed up to the website. Then you go back to that button again, you can register as PSF member, you enter your details. You have to accept the code of conduct which basically says everyone should treat everyone nicely. You click okay and you're a PSF member. What does that give you? Well, at the moment, not much, but... Ha ha ha ha. But there's an upgrade option. You can get an upgrade to a managing member if you're managing an open source project, for example, that uses Python or you can be a contributing member if you're contributing to some Python open source project. And that gives you voting rights in the PSF, so you actually have influence in the PSF. And we're gonna have a PSF members meeting, so all the people that now take their notebooks out and sign up as PSF member, they can attend this meeting. It's on Wednesday, it's at 5 p.m., room B09, that's right next to the Python Software Foundation display that we have there. And I'd like to invite you all to that meeting. Thank you. Okay, Alexander, please set up your system. And I need on the stage additionally, Max Treprev, you're here and you're prepared, that's good. So, you don't need slides, wonderful. Then I have to press the button to reset, reset. And yeah. Thank you for having me here. My name is Alexander. Alexander Kolbin from West Tech Ventures. So we are sort of an unusual participant here because we are not developers, we are investors. I had one of the shortest way to come here, so it was a big advantage. Our office is in the bug fabric, 10 minutes from here. And what I wanted to tell you is about about our project Flying Elephant. West Tech Ventures is a legal entity. We invest in young startups in a seed phase. Seed phase is usually a phase where you have already developed something like a prototype or you have the first users to show even customers. And we invest 50,000, 100,000, 200,000 euros in this company so that this company has six months, 12 months, depending on how much other people invest to do this product to bring it into the market. We right now have around about a little bit more than 20 portfolio companies. Most of them are here in Germany, in Berlin, Brandenburg and Hamburg. And among these are some software testing companies. One is or was called Test Hub. It's crowd-based software testing. The other one is called Test Object. It's app testing. And if you look at our website at West Tech Ventures, you see that among these 20, there are a lot of different industries, like software testing is one, the others are online education and others. And in our project Elephant, we try to focus on one of these verticals, let's say to invest and to help young founder teams to build their first new company and to make this fly. So that's why our idea was a project Flying Elephant, to make something fly that is really heavy and really difficult to do. That's why we choose to name project Flying Elephant. And that means we are here, we are open for young founders, young people who want to do, want to find a new company, wherever they come from, they all welcome. The only thing we ask is that you come to Berlin for the first three to six months so that they can do the first steps together. So we offer you office space, support and all the things you might not do so well, like the fundraising, forming the company and so on. We also invest 25 to 50,000 euros in this company and help you with a lot of other services. So whenever you feel that you have the feeling that you want to work for yourself or you have friends who want to do that, tell them about project Flying Elephant. We are happy to hear from you, send us an email or give me a call, Alexander Kolben is my name and I leave some of these postcards on the left-hand side when I go out. I'd be happy to at least meet one or two of you again. Thank you very much. Thank you very much, Alexander. Alexander, stop, stop, stop, stop. Mr. Kolben, Alexander, turn around. You earned Farron Square. You can invest in this project. So it's already running longer than one year so maybe it's not in the seed phase anymore. I need Jasek, Jasek for Made Light. Jasek, Jasek, you're here, great, prepared. So there was this MIT language professor who told his students in English, if you have a double negative, it will be positive again. In Russian, if you have a double negative, it still stays negative. And he told his students, there is no language where a double positive will be negative. Yeah, thank you, out of the off. Yeah, that would have been a joke. I have some jokes from the time when Germany was still separated, but they, no, he's not ready. No, no, no, he has to open it. You know the fans at home, the TVs, whatever, it's a big needle. In the former times there were always a reflection in a cross form. There have been two sayings. It's the late revenge of the socialist to the Pope that they got the cross symbol and the other one is the highest plus of socialism. That's the Berlin Tango. Now, architect and optional relational mappers best friend. Give a hand to Max. Hi, everyone. At first, I have to tell you a little story. So last year I was at the Europe Python in Florence and I was given a lightning talk also about the package I made called Django DB Party. The idea of the package is to make table partitioning absolutely automatically on the fly. I won't go into details about what table partitioning is. Basically, the idea is that when a record is inserted into a database table, if that table is partitioned by some condition, for example, we want a table partitioned by month, then a record is inserted into the corresponding partition. The cool thing is that you still receive a record from the main table, but behind the scenes, record is stored into its partition. After that, I also gave a full-length talk on this topic on some other conferences and everywhere people was asking the same question, will this be available for SQL Alchemy or Peewee or some other ORM? And I thought like, why not? So now I would like to present you their architect. Thank you, thank you. Okay, let's get serious for a moment and talk about some features. Architect supports Python through 2.6 to 3.4. It has absolutely no external dependencies, except for the ORM it will be working with, of course. It has extensive documentation that read the docs and it has 92% test coverage at the moment. And supported databases are PostgreSQL and MySQL at the moment, but more are coming. The supported ORMs are Django, Peewee, Pony, SQL Alchemy and SQL Object is coming soon. Okay, now about the installation. It's as usual from PyPI. It's very easy to use and configure. Basically, you just import a partitionable mixing for the needed ORM and add it to the model. This is a Django example, but it can be Peewee, Pony or SQL Alchemy. Then you add a partitionable meter class with the settings for the model and then you run a special initialization command which will insert some triggers and some other database stuff. And that's all. It's very simple. Now every record will be inserted into the respective partition for the needed month absolutely automatically. Okay, plans. Of course, I will add more partitioning methods. We'll support more ORMs, more databases, blah, blah, blah. But the main purpose of this package is to gather a lot of different features like different field types, different model types, utilities and other database related features in one place under a single API so that no matter what ORM you are using you always get the same. Of course, this is a big amount of work, but if anybody is willing to help that would be very cool. You can contact me by Skype, email or just talk to me during the conference. And I hope that together we can make the architect an object relational mapper's best friend. Thank you. Thank you. And thank you for choosing the right database to support as top level. I'm with the PostgreSQL community. I need the trade chain. Trade chain, whoever you are. Can somebody tweet trade chain to come on a stage? Thank you so much. Our next speaker will be talking about mate light. Mate light. Oh, I have to pronounce in German. Mate is the thing you drink. So I assume something with this. And while they're getting ready, three logicians walk into a bar. The bartender asks, do you want to drink a beer? The first logician says, no, I don't know. The second logician says, I don't know. The third logician says, yes. Good. It's hard. This joke in 30 degrees. But wait until this evening when you're in your air conditioned room and tomorrow morning. It took me one week. So Uwe, are you ready? I'm ready. Can you hear me? Can you hear me? So my name is Uwe. This is Sebastian. We're here to present mate light, our 640 pixels display made out of Klub-Marte bottles and crates. And if you're wondering why this is so funny or cool, then you're probably not German because Klub-Marte is, or caffeinated drinks made from South American mate tea have become the signature drink for German hackers. And so we built a display out of used bottles and crates. And this installation is usually based at sea base, which is a crashed space station below Berlin and also a hacker space. You should totally visit it while you're in Berlin. You can find everything about it at c-base.org. And well, during Europe, this thing is here. So it's, well, it's on this level, on level C, come see us after the lighting talks. It's, well, it's 640 LEDs. Each one is placed inside one bottle. This is one crate out of 33. So, and each of the LEDs is connected to the next LED. So it looks kind of like a Christmas light strand. And at the end of the strand, they all connected to a microcontroller, which is connected to a PC. That's running a Python server. And yeah, Yasek will tell you about it. So basically we took this 15 year old laptop computer and I started coding up everything in Python. Notice that it was too slow. Then we made everything that was kind of performance, performance sensitive out into a C-model loaded via C-types. And now we have it running fine at 640 pixels resolution on a like 900 megahertz Pentium. So yeah, there's lots of stuff that you can do with it. So we have two ways you can talk to this thing. One is via TCP. You can basically just send text and it will display the text. There's an app part. Yeah, there's an awesome app on the Google Play Store. So if you have an Android phone, you can just use and search for martylight and you can send like messages to the big display. But there's also people who build games and gaming libraries in Python for this. So we have Tetris, we have a Mario clone, we have a Snake clone. Of course we have Conway's Game of Life. That's always good to have. We have video streaming. So you can start a little Python script on your computer that takes your video of your webcam and then streams it to the martylight. And we have animated GIF players. We also have an emulator for blinking lights if anyone knows what that is. There was an installation with really big pixels in the house next to this building. So there's, yeah. And we have paint and we have libraries for Node.js and Bash and Ruby to use this thing. So yeah, if you'd like to know more, go to github.com slash josex slash martylight or visit us during EuroPython somewhere around here. Thank you. Thank you very much. Now are people tricking to collect two superhero cards with one talk? Okay. That's fine. Trey J. Awesome. Our next talk, very, very good. And once to repeat, if you go outside, there's the Haus des Lehrers, House of the Teacher. It was built. And for those who are not from Germany or Europe like Richard from Australia, there was a big installation, Blinken Lights. They took the windows and they got some programming done so that they could use the windows and switching on lights off and on to have it in the display and they played Tetris on the house. Way cool. Way cool. Now, our last speaker for today will be Trey J. about death assistant. Are you, that's not your slide. Keep on fighting, keep on fighting. Really? It was there. What do you get if you cross an octopus with a cow? Yeah. And a warning from your ethics department. And you lose all your funding. Oh, good. That's a step forward. Yeah, good, good, good, good. Yeah, you're doing fine and we'll still have time enough. That's sort of bad because it doesn't do what I want it to do. But I, one tip, if you prepare a lighting talk for tomorrow or one of the days, just assume that the wireless will not work. Yeah, that's what I did. But I assume that the wireless will not work. Yeah, wireless, but this is why it doesn't work either. Ah, yeah. There's that law, it will take longer even if you take into consideration that it will take longer. This is the new Lenovo, people don't get it. New laptop, PC, no signal, that's great. Okay, whatever, without slides. Can you speak freely? Even better, give him a big hand for doing it without, and you get an extra 29 seconds for speaking without slides. But you need a microphone. Do you have a microphone? I have a microphone, ah, okay. Ladies and gentlemen, my name is Tomas Radjei. I work at Red Hat and I want to present this sort of project we're working on. It's a community project, it's called Dev Assistant, and it's used for automating pretty much anything that is related to programming, except for the actual programming. So if you want to develop your Jango project or Flast project, you need to download dependencies, set up some variables, put things into the right places on the system, and it's always the same thing. So you can either write yourself a shell script which won't be portable, or you can use Dev Assistant which is very much portable. Along with this, you can also make it pretty much destroy agnostic or even operating system agnostic. We're running on Fedora now, we can run on other Linuxes, and we even have rudimentary OSX support. Probably the coolest thing about Dev Assistant is that you can include a script. It's working. Oh, that's kind of bad. So I can show you the GUI, this is what it looks like. If you want to create a Python project, for example, you go with Flask, you get this nice window where you put the project name, you can specify it if you want to run it in virtual N or if you want to push it to GitHub, all these nice things. And we also have the command line interface which works the very same way, and it works with these scripts, it's written in YAML, so that actually no developer can complain that yeah, you use that ad language that we hate. This is a very nice multiple language. Oh, sorry, yeah. This is what the Assistant file looks like. You can specify dependencies, you can specify, you can even subclass the Assistant scripts, and this is how it works most of the time. So you just run create Python Flask project that's going to be called Europe Python Flask, and as you can see, we get a standard Flask project, and if I do this, we get a working Flask project within like three seconds. So if you want to use this project, if you want to make it easy for collaborators to contribute, you can include an Assistant script of your own with your project, and you can also file bugs. Submit patches, we'd be really glad. The URL is really simple, it's deafassistant.org. It's this website. So that's pretty much it, thank you. Scott, thank you so much. And that concludes today's lightning talks. Please give all the speaker and yourself a big hand. Thank you for being here.