 We start the afternoon with Istio and Susa. Yeah, right. OK, thanks for the interaction. Today, I will introduce you to one of my projects, which is called Surfer, a real-time ray dresser for algebraic surfaces. And usually, all talks about this program start with an equation, something like this. So you have an equation in three unknowns, x, y, and b. And you can imagine this to represent coordinates in three-dimensional space. So the solutions to this equation, this gives a surface in three-dimensional space. In this case, for example, you get this type of surface. So you can represent a rather complicated geometry by compared to the complexity of the geometry. It's rather simple. So now, I want to show a short interaction movie on the program. Did you ever ask yourself if there is something beyond lines, parabolas, or circles, something creative, colorful, and interactive? With Surfer, you can experience the connection between formulas and forms between mathematics and art. It includes a tutorial with simple equations and all the basic tricks. Just invent an equation and play with it. Create amazing images, animations of algebraic surfaces. Surfer is free and can be used in exhibitions, museums, in schools, or at home. The program features a gallery of services and equations with background information, for example, the mathematics of world record services with many singularities. Enter the world of Surfer and enjoy doing and learning maths visually. Thanks to our public relations team, we have this video. So this is the actual interface for the program. So we have the surface to play and the equation and nice touch screen interface. And so on. So this is a user's perspective to the program. But from a developer's point of view, we have actually three parts. So one of them is the user interface written in the Java of X, which makes it scalable, looks relatively nice, I think. And it's intuitive to use. Then there are very important galleries and explanation text based on latex compiled to PDF to get the user started. And you always have a surface combined with the explanation text. And finally, you have the rendering core, which is a Java library. And it does all the hard work, which means some kind of computer algebra and American methods, parallelization, these things. In the background, a ray tracer is working. Most of you are probably familiar with the concept of ray tracings. We're shooting rays through the image plane and intersect them with the scene. The interesting part here is that the objects we are dealing with are non-linear objects defined by the equations. And the ray tracer is also in real time as long as the equation is not too complicated. Originally, it was planned to use this software only in exhibitions about the mathematics and geometry. And here's one example from Berlin in 2008, where everything started. Here's one from Belgrade in 2011. And another one from Buenos Aires. But it turned out very soon that users used this software to create a mathematical art. This is one piece of artwork created with our software. Here's another one, maybe a third one here. And some users pushed the boundaries of the software and reached the limit where the software isn't able to create nice images anymore, or represents a true geometry of the surface. And this is actually a picture of the numerical error that is involved in the algorithms. And this has been sent to us by the user of our program. Yeah, and then I'll use us to send pictures like this. OK. Yeah, OK. Then users also started to use the surface software to educate school children in mathematics and teach them about basic algebraic geometry that worked really well. And we also use this software for science communication. And there are several spin-off projects like this one in the MoMath, the Museum of Mathematics in New York. And this is not the only spin-off project since I released the rendering core of our software. So for example, the support to the iPhone is not yet ready, but it will be released soon, I think. And then a program where you can create a surface based on your name and various others. The reason why it works so well is that a surface shown in an exhibition project which is called Imaginary, Open Mathematics, and here's a small map, which just shows all the locations where the exhibition has been presented. And currently it's over 110 cities in more than 23, I think actually, 24 now countries. And we have a lot of visitors. And yeah, you can just start using the program as a regular user. You can create projects, you can create pictures, use it in education, for events, workshop, to teach mathematics, and to invent something new based on the nice surfaces. Or you can also join our team, because currently we have a lot of users in the project, but very few developers, I will say. And it would be nice to have a little bit more support. And that's always the end of my talk, thanks. Oh. Thanks. Do you want to go to work? I think about a question. There's no switch, right? Oh, here. This should work. Yes. A question for you. The linear distribution for a long time had images of these kind of surfaces on their covers as well. I think at some point, they also released the software, or it was at least known which software they used. Is there any relation to your program? Yes, it is. The software was called a surf. And I also know the authors of the pictures, which were used for the SUSE distributions. But I think it's no longer maintained the project. And that's the reason why we built our own rendering core, and the new important part here is the user interface, which is targeted for exhibitions and so on. User interface is more important than many people think. So if you have a nice user interface to attract more users than if you have normal users, I mean, we are usually not normal users. We are the development community, and it's for us something different. But regular users tend to like nice interfaces, and that's something really important. And so original project just was a command line project, I think. Regarding the rendering core, are you implementing your own equation solver? Are you doing approximation? How basically are you doing the ray intersection? I implemented my own intersection algorithms, specifically for this type of surfaces. And it only works with algebraic surfaces, and that's the reason why we were able to be rendering real time. So using a computer algebra system, for example, would be too slow because they have good algorithms as well. But if you have everything integrated and optimized for rendering, then it's something different. Thank you.