In this section I would like to summarize what I have been doing in the last few years. I have done quite a lot of projects. Some of the commercial ones have some NDAs which I have to respect, however I will tell everything I consider not being confidential or irrelevant.
Click on the section headers to expand them.
Commercial Projects
ActiveMail
One of my biggest projects I did almost alone back in Bulgaria. It is a system for enriching the contents of the mail messages transported over common protocols like SMTP/POP3, IMAP or Microsoft Exchange. The systems supports virtually almost anything from adding sounds, videos, URL links and many more and building complex logical connections between the different actions. It is also secured against man-in-the-middle attacks by signing and encrypting any part of the data transmitted.
I did this project for Eurosoft Bulgaria GmBH a subsidiary of XiTeC GmBH Germany in 2001 - 2004.
The home page of the project is here. There you can find a demo version to download and play with. If you have ancient version of Outlook or Outlook Express though as we discontinued that product around 2006.
AccounteX
A system for Internet traffic accounting based on IP addresses. It allows for precise traffic counting of the output and input traffic and setting quotas on the users. It has also an integrated system for early notification for approaching the limit. AccounteX is equipped also with an extensive administrator interface. It was based on IPStat by Sergey Rotar.
I did this one with Peter Velichkov for Vachev OOD - Veliko Tarnovo, Bulgaria in 2000
You can find more info and the sources of this one (under the GNU License) at SourceForge
PhoneOffice
I only participated partially in this project. It is an automated telephone answering machine with many features, like reading emails and faxes over the phone, remote administration and listening to the recorded messages.
It was again for Eurosoft GmBH Bulgaria in 2000.
The home page of the project is here. There you can find a demo version to download and play with.
Avicena
We did this one with Smilen Kouzmanov in 1999. One of my first commercial attempts, with so to say private management. It is a library of descriptions of medicines. Giving the possibility to do complex searches. Smilen did a very good job with the user interface there. the program is not sold anymore, or at least I don't know about that. Actually the company as far as I am concerned is out of the computer business now.
LCD Printer
This is the most hardware oriented project I did. It is a printer driver for a system for printing images on a photo processing machine. It actually communicates with a device inserted in the machine displaying the image on a small hi-resolution display (I have heard the last version even with 1600x1200 at 3inches) which is being then lit on the photo paper just as normal negatives are.
I did that in 2002-2003 for a Bulgarian company from Gabrovo. Unfortunately I think there is still no homepage of that project and I don't posses any photos of the device. Even a screen shot of the driver is not possible without having the hardware attached and running.
MATRIS, iTACITUS and other Augmented Vision Projects at Fraunhofer IGD
I worked at the Fraunhofer Institute for Computer Graphics in Darmstadt from March 2004 until July 2008. My position was a research assistant (HiWi as it is called in German) at the Department for Augmented and Virtual Reality. My tasks there included implementing of the current state of the art algorithms in interest point localization and matching as well as improving these based on the research done in the department. The aims and achievements of the various projects can be seen on its Internet page or on the page of the A4 department.
My supervisor at that time was Prof.Dr. Didier Stricker head of the department. I find the work in the area of augmented and virtual reality really cool and a very demanding one too that is why I am still working in the area.
IGD Fraunhofer (Department A4)
CAPTURE, PAMAP and other projects at DFKI Kaiserslautern
Since I started working at the German Research Center for Artificial Intelligence in Kaiserslautern I have been working on various projects in the field of computer vision. The biggest project for me up to now is called CAPTURE and aims at developing algorithms and technology for large scale Reconstruction of 3D models from images. The images are taken with a special camera capable of capturing full spherical panoramic images of up to 100MPixels and with high dynamic range. This is also one of the biggest challenges for me in the project - develop data structures and algorithms to handle large volumes of data in a way both feasible for high-end desktop PCs and suitable for the algorithms that are applied in the process of 3D reconstruction.
Lately I had another smaller but fun task to make a binding from an motion-inertial sensor to Google Earth. So that one can navigate the view in Google Earth by moving the sensor. This combined with our stereo projection wall or a pair of 3D glasses makes an impressive demonstration of the power of 3D rendering and sensor fusion.
You can read more over what is happening in our department on our homepage
Rezerve.bg, E-Dnevnik and other .NET projects
Since 2007 I have been working in my spare time on some e-commerce projects based on the Microsoft .NET platform.
First we did a site for on-line reservations in real time for hotels, restaurants and tickets for events. Something that haven't been done in Bulgaria yet. The site has proved very successful and still attracts a lot of visitors daily because of the extensive service offered. Around the site grew a whole set of other sites to help make the domain popular and known. You can see the site and its subsites at Rezerve.bg.
Following this site we did a number of smaller projects not only for the .NET platform but using different web technologies like PHP, MySQL and Flash. I have played some role in all of these either as a developer or supervisor as I can only spend so much of my spare time out of work for that. However this projects have been extending my knowledge and keeping me on the top of the software technologies giving me broader understanding for informatics.
I am also administrator for the two servers we are running both running the Windows Server (2003 and 2008). We were lucky to get in the Website Spark Program for start-ups organized by Microsoft. Which allowed us to get the second server.
Our latest project is a site for schools which replaces or augments the paper bookkeeping with electronic online system for notes and notifications for teachers, students and parents. A demonstration is available at dnevnik.jlsoft.eu.
The whole portfolio of the company can be seen on it's homepage.
Private projects
Lectures at the High School of Mathematics and Natural Sciences in Veliko Tarnovo
It was a great pleasure for me to take the task in mid 2006 of doing a few meetings with the present contestants from the High school I've been studying in. Aim was to present and transmit my experience or at least my enthusiasm to some extent concerning participation in different competitions in Computer Science. The meetings took place in the winter of 2006. On 18th and 20th Dec I met the pupils twice. Once with a large group of pupils from the 11th and 12th grades and one more only with the contestants only.
Contrary to my expectations, that I won't be able to keep the attention of 50-60 people for 3 hours as intended, they all indeed listened almost without exceptions quite carefully. In a talk with Mrs. Kirilova (their present and my ex. Informatics teacher) later on I heard that the pupils found my lecture interesting and were wiling to hear more from me and also the people that were not there wanted to hear and see these lectures too. That is why we decided on the next best occasion we'll arrange for another such meeting, at least with the pupils that haven't heard this one.
Meanwhile I guess I have enough new and interesting stories to tell, and thanks to the experience I made in Munich by Siemens AG I think there will be enough material to fill another 2 or 3 hours with stuff not that boring and useful in the same time. Further I spoke a few months later with Mrs. Kirilova over Skype again and got the news that our contestants did great job at the national Olympiad in Informatics winning very good places and even one being selected for the extended national team for the international Olympiad in informatics too. They claim they partly got the motivation needed for achieving this success from the talks we had. I am very happy and of course very proud to hear that and will be glad to help with any means I can bring these people even further ahead in the name of themselves, the school, my town and my country!
I had the chance to repeat this a few more times since then. Targeting different classes in the school. Although the contents have been evolving over time I tried to keep the main message over the years the same.
The lectures can be seen (only in Bulgarian) here.
Bachelor Thesis
From mid January until mid March I did a two months' practice at Siemens AG in Munich. During this time, apart from my immediate duties in the company I wrote my Bachelor thesis in on the topic "Supporting Convenient Interface fro Linear Programming". In other words it is a document on the problems and solutions in developing an unified interface for accessing linear programming tools. The purpose of such work is that most solvers commercial as well as open source ones have very different and incompatible programming interfaces. These normally would need long time of training to learn and change solvers. Furthermore the work describes some algorithmic problems that arise in the way of integrating new solvers in this framework. One of the most thorough described topics is the design and implementation of a sparse matrix structure capable of random access and ordered access in equal times and yes consuming as few memory as possible. Of course a short introduction to linear programming, it's methodology and application is also a large topic of this work.
The bachelor thesis in PDF format (in English) can be downloaded here.
Unfortunately I can't provide a link to my master thesis as this was written at the Fraunhofer institute and partially describes topics that are under NDA.
Hobby stuff
Next I will continue with some personal projects, I made only to develop my own knowledge or because I needed some tool that I couldn't find in the Internet.
Flamer Demo
This is a multi-part graphics demo. It was made in the early 1997. Works of course under DOS in the unbelievable 320x200x8 mode. When I look at the sources now I become headache, it was the time when I still didn't use to indent the code. It still has a very big value for me! I decided to write for it as it carries very sentimental value for me. If I manage to find out the source I will maybe upload the demo here.
JulTris
I am a big fan of tetris. That's why I have done my own version of the game in 1999 using the CDX library (http://www.cdxlib.org - meanwhile dead) and DirectX. It started actually from a dos text version. First I did the engine of the game, then I decided I can extend my skills in programming the video controller by adding some stunning graphics in text mode really nice effects. And just then I decided I have to learn how are actually windows games written and made the windows/directX port.
CD Cataloger
I have been searching for long time in Internet about a program that can automatically catalog CDs inserted in the computer and then later allow searching through them for particular files. There are a lot of tools aiming in this direction but no one could do this fully automatically. So I sat down and wrote this small program that could not only catalog CDs but also give other useful information about them like making lists of the files on a CD(s) or you can click files directly from the program and it will tell you if you have the right CD in the drive, and wait till you find and insert it to start the file.
Text Converter
A tool I made to be able to fast translate texts between DOS Cyrillic encoding and Windows Cyrillic encoding. We later continued to add other features to it with Smilen (see Friends) till it became a complex system to convert texts from and to very wide range of encodings. More or less obsolete now since we have left the DOS to Windows transition era. Anyway good introduction to the Delphi programming language.
Lihvi (Interest Calculator)
A program I made to ease the lives of my Granddads. They used to calculate the interests by hand and it is quite slow and error prone process and that is why I wrote a program to automate the process. It has not only the calculations module but also a tool to follow the interest rates and update them in the database the program uses.
Contests entries
These I wrote for some contest and normally I don't have any legal obligations to keep the code in secret or not distribute the program. If not explicitly stated, you can safely get them and the sources.
JulTools
My first contest entry. The program is a file manager to operate in the DOS environment and make access to file operations like copy,move,delete easier and error free. It won the first place in the Contest for Programs in Stara Zagora 1997. The program might seem quite user unfriendly and there were entries that were much better in this direction, but the fact is that it was the program that fulfilled the most of the tasks set in the description and that is why it won. I was like 3-4years younger than all of the other contestants then too.
I am sorry for the lack of proper Cyrillic encoding in this screen shot but I couldn't get the good ol' DOS running in the right encoding.
JulDraw
A year later the task has been set to write a program to allow for making technical drawings for say mathematical articles or such. The idea was pretty clear but my program did not provide some general mathematical conventions because I put quite a lot of effort on getting the interface friendly this time. That is why it won only the 5th place. The interface this time was a lot better although still in the DOS environment mouse support with AutoCAD 10 look and feel in the navigation. I still like it quite much.
FlashText
A very cool text edition program made by me and Smilen Kouzmanov (see Friends). It has almost anything a text editor would need and even some cool extras for making extensive text selection. You can select multiple regions or select squares of text and even make boolean operations over the selections. This can help when copying/pasting complex texts or just to format say all headings at once. This program was made with Borland Delphi 3 for Windows.
VT World
This one is not about programming but a contest for web page - presentation of the home town of the contestants. I did it with Peter Velichkov in 2001 (the one that make this site's layout too. I did the programming for the dynamic content in Perl. We really did a good job for a very short time only two weeks. You can see the page here (without the dynamic content because the source pages has changed since then and I still haven't found the time to update it)
Others
I will just mention some other projects here without such extensive information as they does not really present anything new or cool.
- Netmaker was a tool to try algorithms on graphs. Very rudimentary and crappy implemented. My first try in windows programming with Visual Studio and MFC.
- Since I won the Tumbleweed contest in 2005 I had one more computer I didn't know what to use for. Then come the idea to make it my very own web server. So now I have been running grizach.servebeer.com for more than 2 years. The page you see now is either hosted there or if you are looking not looking at http://pastarmov.net/ right now. "Grizach" is the Bulgarian word for "rodent" and servebeer.com was just a funny free domain I found to use for the dynamic DNS service. Why "rodent"? Because it was a joke Peter and I often did to each other that we are crunching problems like rodents crunch nuts.
- Another cool thing I did with Peter Velichkov was a patched version of the NVidia driver for Linux. Although not a really hard task it had (in our eyes at least) great impact on the number of newbies to stay with Linux because it allowed for them to keep using their expensive GPUs hot despite the conflicts the original driver produced with the 2.6.20 and 2.6.21 versions of the Linux Kernel. Now this is not needed anymore but out patch eased the life a few hundred guys at the time.
- I spent some time helping the people at overclockersonline.com to fix and improve the web site. This came as a result of a few years participating at the forum at O2. I am very glad I could do this, because now I have some more friends overseas, and mainly Simon from Canada (Hi buddy!).
- Another forum I participated was the forum of the program Lcdhype (discontinued). I made some plugins for the program too and helped fix some issues in some of the existing ones. As a result of this I decided to make a port of the program to Linux. Which is now a bit frozen because of lack of time and people to help, but the project is at Sourceforge and everyone can help it is called LcdHype4L.
All this really started because I decided to make my case a tad more beautiful than the ordinary white tower. And as a result I have now black case with a large Plexiglas window and funny blue-red-UV lights and unfortunately the 128x64 LCD I used to run LcdHype on is now broken, but when I get some time I'll fetch some new maybe even larger display and maybe even finish the Linux port of LcdHype too. Which can be found on SourceForge now or Ohloh just look for LCDHype4L