Information Technologies Corporation

Applying Strategic Technology to Solve Complex Problems

 Welcome to
Information Technologies Corporation.

ITC provides professional services to the marine industry.  We specialize in installation, maintenance, operation and training for racing and crusing sailing yachts from 20 through 70 feet including elextronics, rigging, uprades/updates, general maintenance and custom installations.  We specialize in defining requirements, identifying appropriate technologis, vendors and equipment, managing projects and implementing solutions that work for you. We dedicate ourselves to bringing you the highest level of expertise for delivering solutions that support the complex needs of your organization.   We have provided services and solutions to clients using a wide range of capabilities and time-proven processes to manage and deliver high quality results.

We are USGC licensed - 100 ton offshore Masters, with STCW-95, auxiliary sail and commercial towing endorsements.  We can provide deliveries of sailing and power vessels throughout the norther Atlantic, Bermuda, the Bahamas and the Caribbean Ocean.

Do you have a critical, exciting, difficult problem that requuires a technology rich solution?   Do you want to ensure that you are on the right path?  Are quality and time-to-market important?

If you have answered, "Yes," to these questions, please speak with us.  We can help.

Information Technologies Corporation has the capability and experience to deliver full project life cycle project/product development services including:

- Requirements Gathering and Prioritization
- Evaluation of Appropriate Technologies,
  Vendors and Technical Alternatives
- Project/Product Design
- Project Planning and Scheduling
- Implementation
- Training
- Customer Support
- Yacht Deliveries

Information Technologies Corporation is a has-done/can-do/will-do company.  We will not only help you define your project/product needs, but we will make the product a reality by identifying/applying the appropriate technology and project management process.  We deliver complete solutions, on-time, with the highest quality.

We are a customer facing organization.  We listen to you.  We meet whith apprpriate vendors and suppliers and research existing solutions and alternatives to ensure your projecdt is correctly focused at the beginning so the end result meets the desired goals and objectives.  We are particularly interested in the application of new and/or disruptive technologies to solve "real world" problems.  A significant part of this is understanding how to manage risk while taking full advantage of opportunities.

Experience counts!

// dispatch on the type field in the message

// handle the message specific logic for each case

switch (m_messageType) { // switch on message type

  // This is an AUTHENTICATE message

  // it takes:

  // The password contained in in the message specific args and authenticates it

  // The version and revision numbers and verifies them

  case (MessageTypes.AUTHENTICATE_COMMAND): {

    int status = MessageStatus.SUCCESS; // version/revision status

    int version = 0; // the version or revision we are at

    // make sure we're in the CONNECTING state, or there's a sequence error

    if (IdeState.CONNECTING != m_ideState) {
      m_errorMessageText = "AUTHENTICATE message received in wrong state";

      m_status = MessageStatus.WRONG_STATE;


    else {
      try {


        // the protocol major version number must be the same or error

          if (c_authenticateMessage.getVersion() != IdeVersion.getProtocolVersion()) {

            log.debug(prefix + "Protocol version number mismatch. Expected: " +
                      IdeVersion.getProtocolVersion () +
                      " Received: "

            m_errorMessageText = "Invalid Version Number";

            m_status = status = MessageStatus.INVALID_PROTOCOL_VERSION;

            // remember the version for response message

            version = IdeVersion.getProtocolVersion();


         // verify the password

        else if (IdeConstants.doPassword() && !c_verifyPw.verifyPassword(
                       c_authenticateMessage.getPassword())) {
          m_errorMessageText = "Failure to verify password";

          m_status = status = MessageStatus.INVALID_PASSWORD;


        // the protocol revision numbers can differ, just print a message

        else if (c_authenticateMessage.getRevision() != IdeVersion.getProtocolRevision()) {

          log.debug(prefix + "WARNING: revision number mismatch. Expected: "
                  IdeVersion.getProtocolRevision() +

                  " Received: " + c_authenticateMessage.getRevision());

          status = MessageStatus.INVALID_PROTOCOL_REVISION;