Programming is my favourite hobby. I can code in C (the best language ever), C++, PHP and a little Pascal/Delphi and Java. Lately I have been creating a lot of webpages, but sometimes, when I get bored with PHP, I start my Dev-CPP and code something in C just for fun. It will keep me amused for some time, then I will make up something else and work on that. I worked on some commercial projects too and I have finished them, so it's not like I don't finish things at all :)
My biggest motivation to programm is to create my own game one day. Computer games are the reason I started to learn programming in the first place. It all started, when my friend Giorgio got his computer from his parents. It was 286 machine with 1MB RAM and 40MB disk. His friends (which attended university at that time) installed Turbo C 1.0 onto his computer and tought him how to print color text. When Giorgio demonstrated his new skills to me, I was really amazed. It was awesome to make computer do what you wish. That summer I went to Prague with my parents and bought my first computer book there. It was "Programming in C" and I almost memorized whole book. Of course, I still didn't understand all those complicated multidimensional arrays and conditions, but I was only 9 or 10 years old. When I was 13, I got my first computer and could really start to learn. I copied Turbo C from Giorgio together with many examples and started to alter those examples just to see how it works. This way I learned C, without any manual and help, just with one book which ended with one-dimensional arrays (that's why I didn't know how to use arrays till I was 15).
My first working programme was a simple computer virus. It's only functionality was to copy itself at the beginning of every EXE file found on the disk and move replaced code to the end of file. When the infected EXE file was started, it created new temporary EXE file and restored infected part from the end of original file and then run the temporary file. After the execution ended it removed the temporary file and that was it. Very simple, but I was really proud and called that virus Hlod. My second working programme was antivirus against Hlod :)
My first success was followed by many programs (mostly simple games). It was really interesting, because I still didn't know how to use arrays :) Then the primary school ended and I went to the best high school in Slovakia, the High School Srobarova.
There I met very important guy who changed my whole life. It was my very good friend Marian Dvorsky. He told me about Allegro and DJGPP and that's how real programming started. I learned how to use arrays, functions, pointers and everything important. I created my first 3D application, for the first time I used sound and music, HiRes graphics, whole memory (DPMI mode) and enjoyed 32bit environment.
Allegro raised my interest in audio and video codecs and very soon I have created some of them myself. Somehow I got my hands on the book "Introduction to computer graphics" and found really interesting stuff there. Maybe the most important was DCT formula and whole JPEG encoding and decoding algorithm. I experimented with that and got very interesting results. At least I understood how image compression worked and it is still very usefull to me. I started to explore other codecs, like MP3, MPEG, ADPCM and many others. In 2000 I created SrobCD, of course with help of my friends. It was interactive presentation of my high school. What's important is that it was my first really big project and I finished it. It also contained my own video, audio and picture compression algorithms, which were not very good :)
After that I started to learn HTML, PHP and MySQL. Marian helped me to install my first linux (Redhat 6.1), so I started to learn that as well. After I finished high school I got offer to work there as a computer and network administrator. That was my first experience with network. At that time school had one linux and one novell server and very loooong coaxial cable network (very unstable). Very soon, novell was replaced by Windows 2000 server and a small part of the coaxial by UTP 10MBit cabling.
After that things were going very fast. I was studying at the university and made to the second semester, learned how to manage linux and windows servers (I already got my first own linux server online), find and repair network problems and got really good in keeping windows workstations up and running. I developed many programmes (Syskeeper, Netkeeper, etc.) to help me with all student and teachers computers. Many of those programmes are still beeing used. I also created countless web applications (for example Srobarsky informator with all students and teachers since 1950, but it will be replaced soon with new version). In 2002 I worked on project for Frecon and created Frecon Manager in Borland C++ Builder. In 2003 my friend asked me, if I can create management software for his Immedia internet caffe, so I wrote I-Cafe manager using C,PHP,MySQL and Kylix (all computers use linux). This software is still being used and developed. In the 2004 I created another, slightly different internet caffee administration software for V.I.P. company and also assisted during deployment of city network in Banska Bystrica (wireless and cable). I developed new firmware for Asus WL500g AP together with city network administration software for Immedia using C,PHP,MySQL. Marian and I created IChess, distributed chess software as a school project in 2004. It was my first experience with programming network software. I also had my own programming classes at the high school for students interested in algorithms in 2003 and 2004. I assisted Rasto Krivos-Bellus during his computer graphics classes and prepared OpenGL course.
My two friends and me started a company called Sadhana in 2004 to provide advanced internet solutions. One of the biggest projects was annual iEARN 2004 conference in Kosice. Our company created web page containing registration and card payment system and provided technical personell for the whole conference. It was a big success. In 2005 I worked as a member of the team on two projects for Inspect using C,PHP,MySQL and Delphi.
In the beginning of the year 2005 I got another job as computer and network administrator at VAPCentrum a.s.. I also started my work on molecular dynamics simulations using graphics accelerators and I've got very interesting results using programming language Brook. In the summer 2005 I moved to Stockholm for one semester to continue my studies and work on MD at Stockholm university.
Thanks to the High School Srobarova I have experience with network hardware (UTP and optical switches, routers, kilometers of cables) and software (Linux and Windows servers), computer management (almost 80 computers), VoIP (Cisco router + phones, SIP router) and working with other people. Thanks to Immedia I learned how to create efficient wireless networks and write own firmware and thanks to UPJS I understand the fundamentals of computers and algorithms.