My name is Adam Griffiths and I have been involved in a lot of projects that have helped me develop my skillset over time. I am currently working on an open-source CMS in PHP. This project has helped me understand design patterns such as the Singleton pattern, and the Active Record Database class. With the knowledge of these new design patterns I can apply these in any of the other language I know, which can help in designing applications in the future.
I am also developing an MMMOCC (Massive Multiplayer Online Chatting Community). The client for the MMOCC is in Actionscript and the server is in Python. This particular project has helped me greatly in developing both my Actionscript and Python skills, since I have learned them especially for this project. The client includes things like tilemaps for many rooms, with different heights for different tiles. The client has been a massive learning curve for me, I had to learn two new languages, and had the ensure everything was secure for use online.
I used Java as a base for my first socket server. This is because I initially used FUSElight, a server technology created by Sulake Oy, and used in their main product Habbo. This was great for me because I learned a lot about FUSElight and the Java language. I extended it slightly to suit my needs.
I then started to develop my own server coded form scratch in C++. The main reason behind this was to extend my knowledge in C++ and learn to do more complex things in the language. I stopped developing the server because there were so many Socket libraries out there, I didn't know which to choose!