Mark Watson: Ruby and Java Consultant and Author

I specialize in Java, Ruby, and Artificial Intelligence (AI) technologies

I am the author of 14 published books on Artificial Intelligence, Java, Common LISP, C++, Linux, Scheme, and Windows.

I provide consulting services for helping customers solve their software development problems. I approach customer development projects with an open mind and always recommend and use what I believe to be the most appropriate technologies. Because I am a generalist with a broad range of experience I excel at "thinking outside of the box" to solve difficult problems.

In addition to solving specific customer development problems I also enjoy contributing my free web books and open source projects to the community. I offer discounts for work on Open Source projects and work for charities.

I specialize in using the following technologies:

  • Artificial Intelligence (AI): machine learning, natural language processing, text mining, entity extraction, expert systems
  • Server Side Java: J2EE, JSP, JMX, JMS, UDDI, REST, SOAP, Lucene, LDAP, Tomcat, JBoss, Glassfish, JRuby
  • Ruby: general Ruby development, Ruby on Rails development and deployment (nginx, mongrels, clustering), REST, SOAP, LDAP, JRuby

I also have working knowledge of these technologies:

  • Squeak Smalltalk and Seaside: I use Squeak for NLP research and have working knowledge of the Seaside continuation based web application framework
  • Prolog: I have used Prolog on customer projects for NLP and planning systems
  • Common Lisp and Scheme: In addition to writing Common Lisp and Scheme books for Springer-Verlag, I have used Lisp for many customer projects. I have developed customer web portal projects using the Lisp Portable AllegroServer and WebActions frameworks.
  • Python and the Plone platform: I have a working knowledge of Python and have developed a custom Plone product for a customer project
  • Small Device Java: Java Platform, Micro Edition (J2ME)
  • Java: Google Web Toolkit (GWT), GUI development using JFC, and Android (emulated) cellphone development
  • C++: I used C++ between 1989 and 1997 for a world wide distributed data monitoring system, a real-time fraud detection expert system for the telecommunications industry, and entertainment development for Angel Studios, Disney, and Nintendo

I am happy to work under either fixed price contracts or work hourly.

I have been involved in the field of artificial intelligence (AI) for over 20 years developing both commercial tool products and end user AI driven applications. I prefer applying AI technologies in the development of web services and dynamic web applications rather than traditional applications.

As a general practice, I urge my customers to take advantage of a paradigm shift in software development: using Open Source Software. I have used the following Open Source Software on cusotmer projects: J2EE Tomcat and JBoss, Ruby on Rails, Common Lisp Aserve/WebActions web development toolkits), Lucene, Nutch, Weka, Wordnet, PostgreSQL, MySQL, Plone, PowerLoom, Squeak, Seaside, Sesame, and Protege. As a consultant, I will work with you to save you both money on development costs and time to market using Open Source software.

Take advantage of new data standards. I encourage and support the use of open data standards. I am a member of the ODF Alliance and have experience using the Semantic Web RDF, RDFS, RDFS++ and OWL standards. Using data standards is important to avoiding lock-in with specific vendors.

Demo Java web applications: While I can not show you any proprietary web applications that I have developed for customers please check out a few demos of my own Java web applications:

  • CJsKitchen.com - a healthy recipes web portal that my wife and I did together.
  • KBdocs.com - an online word processing system and document repository that I wrote for my own use, but it is also available to the public.
  • KnowledgeBooks Consortium - web site for sharing technologies for AI technologies for Knowledge Management and the Semantic Web for the Java Platform.
  • RubyPlanet.NET - a Ruby programming blog site aggregator. Also contains news and useful links.

Demo Ruby on Rails applications: While I can not show you any proprietary Ruby on Rails web applications that I have developed for customers please check out these two demos that I wrote for my own use:

  • CookingSpace.com - something new in recipe and healthy eating web sites: approximate nutritional information is provided for individual recipes, complete meals, and complete daily plans (a 40 hour project)
  • Spanish4.us - a study page for learning Spanish phrases (a 90 minute project including time to deploy to Linux with Mongrel and Memcached).
Mark and Carol picture
Mark and Carol Watson at the Taj Mahal

Enjoy my Open Content Free Web Books and Open Source Software

In addition to my published books, I put real effort in writing my Free Web Books. I also hope that you find my Open Source software projects useful.

This "free stuff" is my way to give something back to the world, in appreciation for the blessings in my life.

Recent News

August 26, 2008: New version of "Practical Artificial Intelligence Programming in Java, third edition" and a placeholder for a new project "Practical Semantic Web Programming in Java". See my Open Content (free web book) page.

July 11, 2008: New version 2 of my Java FastTag parser. See my Open Source page.

April 12, 2008: Learning Spanish? While taking a Spanish class this spring, I created a Rails web site Spanish4.us to help study vocabulary and expressions.

November 12, 2007: Beta version of my cooking/recipes site that shows nutrients per seving for recipes. Implemented with Ruby on Rails.

October 10, 2007: Added to my open source page: my JRuby bindings for the PowerLoom AI reasoning and knowledge representation system

October 8, 2007: Check out my Open Content Incubator Projects. There is a new version of my "Artificial Intelligence Programming in Ruby" writing project.

June 29, 2007: My open source projects are now released under either the LGPL version 3, or the GPL version 3 licenses. Now available.

April 2, 2007: Java NLP utility to identify proper nouns (human names and places) in text is now licensed under the LGPL. Now available.

March 13, 2007: Java, C++ and C# NLP code (tagger, simple categorization) are now licensed under the LGPL. Now available.

August 17, 2006: I started a new blog Artificial Intelligence Theory.

December 19, 2005: I created RubyPlanet.NET - a Ruby programming blog site aggregator. Also contains news and useful links.

November 18, 2005: There is an updated version of my "Practical AI Programming in Java" free web book on my Open Content web page.

October 30, 2005: Added spell checking and correction hints to KBdocs.com - a free web application for online word processing. KBdocs.com now also supports exporting all of your documents as a ZIP file.

August 29, 2005: Public beta for Carol Jean's Kitchen - a free knowledge based cooking and healthy lifestyle web portal. My wife and I enjoy cooking and this web portal is both a hobby and a testbed for technology (AI expert system and case based reasoning).

April 4, 2005: I released version 0.1 of my Ruby libraries for part of speech tagging and text categorization. Please see my Open Source page.



link to RDF metadata         XML logo Atom feed for my blog         XML logo FOAF RDF