I am a father and husband first. I am a software developer who just loves to build things. I also play football, hockey, and tennis whenever I get a chance.
For the purpose of this website, I’ll focus on my software interests for now.
My Path
I started out as a PERL/Javascript/HTML developer in the late nineties. I moved shortly after from PERL to PHP for web development, and Java for almost everything else. Like most developers, I have worked in many languages and am fluent in a few. In the past few years I have been working primarily with Javascript, PHP, and Java, but hope to start doing more Scala and Mirah development going forward.
Codename One
I have been doing quite a bit of development in Codename One over the past couple of years. It is a wonderful framework for developing cross-platform mobile apps in Java. I especially like the fact that it provides native access to the device so that I am not limited in any way, like I am with HTML5 toolkits. I also like the fact that it is Java and that its API design is influenced by Swing. This made it a very intuitive platform to start working with.
Website Translation
I am co-founder of Web Lite Translation Corp, which specializes in website internationalization services. The basis for this company was SWeTE (Simple Website Translation Engine), an open source tool for translating dynamic websites. As I am still actively developing SWeTE, I have a keen interest in i18n and l10n, and software internationalization in general.
For more information about SWeTE, check out the SWeTE website or the Github Repo
Data Visualization
I haven’t don’t a lot of data visualization in the past, but I have been dealing with databases for quite some time. I intend to start making more use of tools like D3 and Neo4J to start creating new and exciting ways for my users to access their data.
Java
I really like working with JVM, and I have always like Java as a language. It is very fast (contrary to popular uninformed opinions on the net), and it makes it easy to grow projects to arbitrary size without them becoming unmanageable. I also like the fact that it is cross-platform by design – I hate having to write the same thing twice!
Mirah
I just discovered Mirah a few months ago, but I quickly fell in love with it. I was searching for a language that would compile to Java but did not sacrifice performance. The particular use case was to provide a less-verbose syntax for writing Codename One apps (don’t get me wrong, I love java … in some cases I just want to use a language that is lighter on the ceremony). I looked at Groovy, Scala, and many other languages, but all of them introduced new runtime dependencies (i.e. you had to include another JAR file in your classpath). This bloats the size of the executable and, in Codename One’s case it was a show stopper since Codename One only supports a subset of the JavaSE class libraries, and the dependent would be a lot of work to convert.
Mirah answered the call. The more I use it, the more I love it. The first thing I did was to develop a Netbeans Module so that I can start sprinking mirah into my existing Java projects. I plan to start doing as much development in Mirah as possible going forward. This shouldn’t be hard since it can be included in any existing Java project – so you can still use all of the existing Java libraries, and your java libraries can use your Mirah code (they wouldn’t even know it’s Mirah…).
Check out:
Xataface
I would be remiss to not include Xataface as one of my interests. I created Xataface in 2005 to help eliminate the repetitive tasks involved in developing database applications. I wanted to create a “Filemaker” like experience using PHP and MySQL, and my users didn’t have all year to wait for me to develop databases for them. So Xataface was born. Since then it has grown by leaps and bounds. It is now at version 2.1 and has been downloaded off Sourceforge hundreds of thousands of times.
- Xataface Website
- Xataface Tips Blog – A blog I write with Xataface tutorials and tips.