Halil İbrahim Kalkan

About Me

I was born in 1983, lived 20 years in Adana and I have been living in Istanbul since 2004. I started Sakarya University Computer Engineering in 2003 and graduated at 2007 as the highest ranking student of the department.

After working 8 years as professional software developer, architect and team leader, I left my job at 31th July 2015 and established my own company: Volosoft.

I have been programming since I was 14 (since 1997). I started with Turbo Pascal 7.0 and worked on many languages, platforms and technologies so far. I especially like developing multithreaded and distributed software systems, application frameworks and open source projects.

Beside computers, I like reading books, especially science, science-fiction, psychology and detective books. I like to play chess and Turkish checkers.

My Computer Life

I met with computer at 13 years old and started programming at 14 (year 1997) with Turbo Pascal 7.0. First motivation that takes me into programming was to code my own games. My computer was not running good games. It was an old computer that has Intel 286 CPU and MSDOS 6.22 operating system. Norton Commander 5.0 was my best friend. I built many small games and DOS applications with Pascal. I learned Pascal from a Turkish book and self help menu of Turbo Pascal editor. I was looking at all standard library functions from help reference and trying them...

I interested in web technologies (Frontpage 98 and a little HTML) through a handbook from PcWorld ad but I have not a PC that I can built web sites. By the time I obtained an Pentium 133 PC (It was also an old PC relative to it’s time) with Windows 95 OS in the year 2000. I built my first static HTML web site and published to a free web host in an internet cafe.

One day in a PcWorld magazine ad, I had an handbook about Perl. I read it and learned that web is not consist of only static HTML pages. Then I had an ASP (Active Server Pages) handbook from PcWorld and I saw the light, changed my world! :) It was too hard to make ASP running on a Windows 95 PC. I found PWS (Personal Web Server that is an old variant of IIS) for Win 98 from web, downloaded hardly and installed. After a week effort it worked! In this one week, I finished reading the ASP handbook without coding (or coding in my mind) and I was ready to code! I sit my chair and started coding ASP.  At the same time, I learned that it is not useful to build an ASP web site without a database... I started learning MS Access while it is not installed on my PC. I did not give up, designed my database for my new web site on a white paper, found an office PC that has MS Access installed, created my database and copied it to my computer with a 3.5 inch floppy disc. Eventually I build my ASP based web site by using only ASPHTML, JavaScript, CSS and Windows NotePad and uploaded to a free ASP hosting server.

In 2001, I started to Cukurova University Textile Engineering. I continued programming as an hobby. At the second year I decided to give up Textile, prepared university exams again and won the Sakarya University Computer Engineering. Since I love computers and programming, my lectures was pretty good and I graduated as the highest ranking student of the department (3.55 of 4.00).

In university first class, I learned C and Visual Basic.NET and ASP.NET. In the second year I entered to IT department of university to build a completely new Student Relations Automation System. I worked there for one year, finished project and learned Visual Basic.NET (With Visual Studio 2003) and SQL Server 2000 deeply.

In the third year of university (year 2005) I learned C++ from the ultimate book of Robert Lafore: Object Oriented Programming in C++. This was my first introducing with object oriented programming. I was impressed! After C++, it was really easy to learn C# (since I was already familiar with .NET through I know VB.NET).

At the second half of third class, I joined the Erasmus program and studied in Thessaly University of Greece. It was my first abroad experience and was very helpful for me.

At the fourth class of university I get my final project as "TCP/IP stack implementation in Java". I was not a good knowledge on Java or TCP/IP. In the first term, I deeply learned Java (From the book "Java, The Complete Reference" by Herbert Schildt) and researched on TCP/IP protocol suite. In the last term I implemented ARP, IP and TCP (TCP is not finished completely because of time restriction). I accomplished to build an application that communucates over internet not using default Windows TCP/IP stack (sockets) but using my own TCP/IP stack. I also have written an article and developed an application over ARP spoofing. I also improved my skills on multithread and asynchronous programming.

After graduating university in 2007, I worked two different companies and finally working for my own company. I developed many Windows and web based applications/services using primarly C# and .NET platform. In the business life I learned many other technologies and methods.

I especially like to develop good designed, object oriented, multithreaded and distributed software systems. As like a computer without internet is not useful and powerful, I think that an application is not powerful without communicating to other applications and systems.