Airplanes, Rovers and K.I.T.T.

The X. Simonyi Konferencia (10th Simonyi Conference), named after Karoly Simonyi was held at Budapest University of Technology and Economics last Tuesday. I was there, attending various presentations, and I'd like to share some of the things I've learned.

The first presentation I attended was called "Safety-Critical Software Development in the Aerospace Industry" by Akos Horvath from BME MIT (Department of Measurement and Information Systems). He works with Embraer, one of the largest aircraft manufacturers in the world. Aviation is generally considered to be the safest way of transportation. Did you ever wonder why this is so? Well, first of all, you don't really meet Hummers driven by drunk idiots up in the sky. Also, there are lot more distances between planes. The list goes on and I don't intend to mention every aspect, but there is something we can't discard: the software aiding the pilots are really trustworthy. I think all my readers encountered countless bugs in the software they use. How can we trust aircrafts? Well, the keyword is certificates. If you want to build an aircraft and sell it to airlines, you will have a really bad time. There are many requirements your plane has to meet. The software they use is so well-documented that if you ask them about any line

in the object code, they can show you what it does in the specification and the code is 100% covered by tests! Literally, every condition in the code is tested by every possible inputs. Furthermore, the environment they use (IDEs, compilers, everything that can inject errors to the code) must meet the same requirements! How much time do you spend on testing the software you write? And how high is the coverage? Now, can you see why planes are so expensive?

After a short break, I went to listen to Andras Balogh (ThyssenKrupp) talking about agile software development. Well, it's pretty straight-forward, you can learn about agile development everywhere, just ask your friend Mr Google. The interesting part was that ThyssenKrupp actually uses this agile-like development workflow for the hardware development too! I missed the Q&A part, because

I had to run to the only presentation about web development.

It was held by Peter Szel (EPAM), and it's title can be translated as "Real-Time Web - Write a Facebook Chat." Well, did you think about it? How would you write it? The best way so far seems to be the WebSocket, which is finally provides truly full-duplex communication over a TCP connection. However, it's not yet available in all browsers, so for an unfortunately big part of your users wouldn't be able to use your chat. Would you care to create a fallback option or just use plain old long polling? Well, Microsoft Open Technologies' ASP.NET SignalR (licensed under Apache License 2.0) takes care of all that, and much more!

I'm an Archlinux user, so I can't really play with .NET, but I very much liked what I saw at Peter's presentation. You open up Visual Studio, code a few lines in C#, code a few lines in JavaScript and you're pretty much done. Oh, did I mention you can call JavaScript functions from your Hub in the C# code? Well, you can, and vice versa. You can broadcast stuff to every client connected to your

running server or only to selected client IDs, it's your choice. SignalR seems to takes care of the "CodeMonkey" stuff. You can find some samples here: https://github.com/SignalR/Samples. Too bad it exists only for ASP.NET as majority of the web servers are Linux boxes, running PHP. Well, I'm thinking about creating a PEAR package for SignalR. If anyone feels like joining the team, email me at attila [dot] bukor [at] netlife [dot] hu!

Attila Vekony from NNG talked about voice command navigation. I guess you think "Wow, big deal, I've got Siri on my iPhone". Yup, you may have Siri, but did you know it uses Internet connection? Well, it does. It uses servers to guess what you said. NNG designs navigation systems for cars, which don't usually have SIM card, so it has to guess what you want offline! They use a third-party libraries for the actual voice recognition (they license it from Nuance). But don't think Nuance does all the hard work! It won't actually understand what you said

of course. It will just give probabilities for possible matches in its dictionary. The engineers still need to decide where you want to go - still offline -, and it isn't that easy either. Think about it, there are tens of thousands of cities - the names aren't even unique - and millions of streets. And this tiny device will understand what you wanted in seconds and calculate the route in a few more seconds. Pretty amazing, isn't it?

The next presenter was Matyas Hazadi from PuliSpace, the only Hungarian Google Lunar X Prize competitor. He talked about the competition, and the technical and financial challenges of the project. Every key system - which aren't cheap - has to be redundant, which of course causes the rover to weigh more and ultimately the cost of the transport to grow - the bigger the weight, the bigger the fuel consumption.

The last presentation was held by Peter Halacsy Co-Founder and CTO of Prezi. It was a really interesting presentation, he talked about start-ups, challenges of start-ups. I really can't summarize it, but if you like some great challenge, visit http://prezi.com/scale/!

The conference was great with interesting presentations. This was my third or fourth one, and I'm pretty sure I'll be there next year too. I hope there will be more guests though.