Computer Science / Consulting
Although this site is primarily for photography, since my professional and academic life is in Computer Science, the site would be incomplete without a section for projects, research, and consulting information. I'm mostly interested in research related to artificial intelligence (e.g. learning, NLP, etc.), and consulting on any thought-provoking project where my skills would add value.
Projects
Feature Based Reinforcement Learning
Information related to my Master's Thesis which I completed at UMBC under Dr. Tim Oates' advisement.
Artromick's eMAR Software
Software Engineer on the eMAR project. Primarily responsible for server-side related services using lots of Hibernate, JBoss, Oracle, custom serialization techniques, and a unique approach to data retrieval using a succinct graph dot notation similar to MVEL or OGNL.
PHH Arval's Onboard GIS System
I was a Senior Java Developer for PHH's GIS offering, aptly titled Onboard GIS. Again, primarily responsible for server-side services including real-time message processing (MQ and WebSphere), but also the above-mentioned Google Maps-like draggable maps architecture.
Seinberg's Flickr Semantic Tagger
A semantic tagging mechanism that uses your Flickr account and allows you to add/edit/removed semantic content in the form of machine tags in an easy drag-n-drop interface. This is still in pre-pre-alpha stages, and I haven't spent any time refining the interface, but it's stable and usable and -- if I do say so -- pretty neat.
Technology Experience
- Java, J2EE, Python, C, C++, C#, etc.
- Java-related frameworks and tools: EJB, JDBC, Hibernate, WebSphere, Tomcat, JBoss, Axis, MQ, JMS, Maven, Ant, Eclipse, Subversion, CVS
- Web: PHP, ASP / ASP.NET, ColdFusion, JavaScript, AJAX
- Database: MySQL, MS SQL Server, Sybase, Oracle
- Operating Systems: Linux, Unix, and Windows
- MS Computer Science student at UMBC
When I consult on web development projects, I generally use open source tools: they're free, they scale, and they have an enormous knowledge base worldwide (and more importantly: on Google). For my full-time employers over the past several years, I've mostly used Java and its surrounding technologies: data layers, web services, queueing, telematics, real-time message processing, thick desktop apps, medical software, and a fair amount of database tuning.
I also have experience with "Web 2.0" technologies. The photography section of this website is written using semantic tags--aka "machine tags", essentially an RDFa triple store--CSS, PHP, and AJAX. The triple store is implemented using Flickr's machine tags, and images are also hosted there. (Creating a nasty dependency on Flickr, I know, but I'm confident enough in the Yahoo! folks to keep their servers up at least as much as my hosting provider!)
Additionally, I wrote a draggable map interface similar to Google Maps using JavaScript, AJAX, ESRI GIS software, Java, and ColdFusion. Unfortunately, I'm not able to actually show the mapping software since the company I wrote it for understandably wants people to pay for the service.





