I have developed and maintained applications in Basic, Haskell, C, C++, Prolog, Java, C#, PHP, Perl and Ruby. I have designed user interfaces using tools such as Visual Studio, HTML and CSS, Lightwave 3D.
PHP
I have written web applications in PHP that were instrumental in providing customer support for the students that lived at the residential college of International House. During my final year University project, I was the primary programmer that wrote a multi-user tool that helped track build and release progress using the Feature Driven Development methodology of Software development.
C#
I have written various web applications, web services and windows applications with C# on the .Net framework when I was working at Nexus Business Systems. I have included short descriptions/screenshots to convey the features/look and feel of a few of the C# programs/frameworks that I have coded. All sensitive information has been blurred out.
- Windows Application Framework [PDF]
- Web Application Framework [PDF]
- User Management System [PDF]
- Plugin Based Document Management Framework [PDF]
Java
I have coded miscellaneous projects in Java. I have included a short description of a modeling animation project that I developed using Lightwave and Java 3D. I was responsible for the modeling and the Java 3D animation code for the players [PDF].
Programming Languages
I enjoy learning to program in various languages in the imperative, object oriented and functional paradigms. Some of my favorite languages are
- Ruby: for its meta-programming capabilities
- Scala: for its hybrid object oriented/functional capabilities
- Clojure: for its code as data philosophy, being a Lisp dialect
- C#: for its breadth of programming constructs, libraries, being hosted on the multi language .Net platform
Networking
I have configured many aspects of TCP/IP, set up encrypted wireless networking using the 802.1x protocols, configured clustering and load balancing for web applications/services. My website [http://nowlabs.net/about] has a distributed setup for a more fault tolerant operation that allows easier migrations if necessary.