So, holding a beer may not be the best way to introduce myself but this was from my trip with Trafalgar to Germany and Austria. Highly recommended. This was from Alt Sachsenhausen or Old Sachsenhausen, Frankfurt's beloved apple wine district. We were lucky enough to experience Germany during Oktoberfest. With all that said, I am senior software engineer at a company called Direct Capital in Portsmouth New Hampshire. We lend people money. :) I work with another engineer there on their internal and exetenal systems. It is a great job, my boss is very hands off - not a micro manager all, an around great person to work for. I get the freedom to build systems how I would like to see them if I were a customer. I work with ASP.NET 2.0, doing web development now using Ajax technologies. I was using Atlas with Anthem.NET but we have moved on to Telerik controls. Atlas needs a little work, it is still in Beta. Anthem.NET is great but we needed a broad range of controls and support. Telerik wasn't cheap but very cheap for what you get. Below is my work history. I was in the Marine Corps for 5 years, uhm, 5 long years. It was very difficult especially since I was in boot camp 4 days after high school graduation. Yah, good move on my part. But if I had to do it all over again, I would choose the same path. I was assured I would be trained and work as a Cobol programmer. I was trained as one but 4 weeks into the fleet, I was moved to Data Comm(unications). DataComm was, well all about data transmission. I remember one of the first things I did with my immediate superior, was pass data over secure packet radios, I think it was 300 baud. 5 years of this crap I thought. Soon after, a directive came down from headquarters Marine Corps about using something called 'Networks' and using something called 'EMail'. I thought, now 5 years of this crap! Only if I knew. We installed a huge Banyan lan (local area network) and it was awesome! We install something like 200+ servers, 1000's of nodes, it was great but still had a void in my heart. I wanted to be a programmer. So I beg my Lieutenant to purchase the Banyan SDK and bought a book on the C language and off I was. I remember my first network application; a list of network users that just scrolled off the screen. I was totally amazed. The look on my face must have been the same look Edison had when he made the light bulb work. I was so excited, I yelled to my Lieutenant to show him what I had accomplished. I demo'ed my 'application' to him. He wasn't impressed and I am sure he thought all that money for the SDK and this is what he builds. But something clicked. Right then and there, I knew what I wanted to do with my life. 25+ years later, I am still doing it. The applications I write to day are a bit more complex then my 'list of network users'. I used to just write in C++ but now I mainly use C# 2.0 in Visual Studio 2005 (Great IDE btw). I have written thin (web application) and fat clients (exe base applications), handheld (PDA), web services (SOA), SOAP/XML, multi tier distributed applications, database (Microsft SQL and MySQL) and my newest play thing is something called TinyCLR, I will let you google that if you wish.

Ralph Krausse
8 Strawberry Lane
Stratham, NH 03885
Home: 603-778-8894 Cell: 781-820-7384
http://www.consiliumsoft.com
rkrausse@consiliumsoft.com/gordingin@consiliumsoft.com/essuark@yahoo.com 

Experience
ASP.NET 2.0
Cascading Style Sheets
Javascript
C#
Windows Services
AJAX (ASP.NET AJAX/Anthem.NET/Telerik)
XML WebServices
MSSQL/MSSQL Express
Multi-Tier System
.NET Remoting
Generics
VS2003/2005
Microsoft Active Directory
Web Farm
PhotoShop CS 8.0
User Interface Design
Dynamic PDF Creation
R&D / Intrests
Cool Scale
LINQ / DLing / XLinq
WPF/E
WCF
From: July 2006
To: Present
Direct Captial Portsmouth, NH
Senior Engineer Industry (Finance)
Create the Online Vendor Finance Center System - Composed of a web site and a windows service, it allows Direct Capitals Vendors' customers to apply for financing and allows Vendors to manage their business online. Site Examples System Diagram
Converted the old ASP based application to a 3 tiered (User Interface, Business and Data layer) ASP.NET 2.0 web application, employing Ajax technology by using Microsoft ASP.NET AJAX and Telerik controls including menus and 'please wait' screens (that dynamically appeared; centered, like on a thick client).
To avoid having hundreds of Direct Capital's customers change links on their web sites to a new OVFC site on Direct Capitals web servers, the old default webpage page was rewritten to redirect itself to the new OVFC site, passing the vendor's name. The new OVFC is one site; each vendor has its own configuration data which is stored in a sub folder using the vendors name, to display its individual information, like name, logo, Direct Capital representative, etc. This allows the OVFC to be scalable.
So a classic upgrade process could be avoided, the OVFC checks the validity of the new web site based on the vendor name. If the new site doesn't exist, it dynamically creates a new OVFC from old the OVFC by creating the new folder, the new XML configuration files and retrieving and coping any data it may need. This also guaranteed that the new sites would work properly on the productions servers, since deployment of the new site didn't interfere with the old site; they were able to run side by side (till the change was made to the default web page). Created a small utility that changed the default asp file to do the redirection, the change over from the old site to the new site took under one minute. Also in the case of catastrophic failure, this process allowed for an easy rollback.
Authentication of vendors is taken care of by using the ASP.NET 2.0 Login controls and MSSQL to store membership information. The site allows for automatic password recovery and new user account requests. New account request are stored in MSSQL and initiates an email to the OVFC administrator, notifying them of that request. Once approved, an automated email is sent with account information and links to the website. The OVFC administration application authentication is taken care of by adding and removing employees from Microsoft Active Directory.
The first major piece of the OVFC is the eBay listing tool, a multi-step wizard, that allows vendors to easily add items to eBay with a minimal amount of effort and steps. Used Visual Studio 2005 to connect to the eBay WSDL page and created a proxy object. Using this proxy, the OVFC can search eBay, show the items user has sold, unsold and are active. It allow allows the vendor to add items to eBay to include custom title, description, category selection, prices, duration, images and more. As the vendor finishes steps in the wizard, breadcrumbs are created to allow them to easily navigate back and forth to modify or fix data. Simple switches in the web.config allow the site to communicate with the live eBay site or the development eBay site. All events are tracked, and a history is kept. All eBay functionality is in a separate assembly to allow for unit testing. Tips are displayed to the user that are housed in XML files so they may be changed with recompiling or deploying the site.
Created custom controls like standard error controls and page title controls (rendering CSS to achieving desired effect like rounded corners, square corners or a mixture of both). These are portable so that they may be used by others in other Direct Capital web site development.
Vendors are allowed to calculate payment information for their clients based on Direct Capital rates and loan amount using quote calculator. They are able to create proposal for their customers with this information. PDF’s are dynamically created base on a PDF template and the site either directly email the proposal to their client or allows them to download it.
To allow the Online Vendor Finance Centers to run autonomously and efficiently, the Online Finance Center Support Server; a C# Windows Service, was written. At start up, it gets information from SQL like representative names, emails, vendor rates, etc and caches it, storing that data multiple efficient C# 2.0 generics structures emulating a mini database in memory complete with indexes. Implementing interfaces, .NET remoting allows access so that the web site so can get information. Microsoft Message Queue is used to pass metrics and customer information from the website to the service. This was engineered so when the service was updated the website could still function with out relying on the service. So that Direct Capital can measure web hits, I create the Metrics Service. A multi-threaded, multi-queued windows service relying heavily on generics, it accepts data place on Microsoft Message Queue from the website. Metrics are saved in SQL and used in reporting to marketing. Vendors are also allowed to view their site statistics online which are graphed out in a pie chart.
FolderSync - since the OVFC is deployed on a web farm, the FolderSync web service synchronizes folders and files. Source and target folders are added to the app.config that the service will monitor. If files are created or modified, the service gets a notification and will then copy the file to the target. Services are run on both web service thus guaranteeing that files are always in sync. This service allows the OVFC to avoid having to copy uploaded image for eBay to both web servers.

Experience
ASP.NET
C#
AJAX
XML WebServices
Message Queue
2.0 Data Web Controls
XML/XSLT
MySQL/MSSQL
VS2003/2005
Distributed Systems
UML
Multi-Tier System
.NET Remoting
Windows Services
Generics
From: June 2005
To: July 2006
Explorica Boston MA / Portsmouth, NH
Senior Engineer Industry (Student Travel)

SiteCatalog – The main search engine for Explorica’s web site. Using webservices to expose search functionality, data like specific tour information, availability, pricing, airports, was constructed by using MSSQL’s full text engine and dynamically generated SQL statements based XML criteria. Data was returned as XML to allow the website to use XSL to transform data

SiteCatalog2 – Migrated version 1 of the SiteCatalog to version 2. Replaced Microsoft SQL Server with MySQL Server, migrated all data and stored procedures, change data layer to work with MySQL. Wrote a full text engine in C# to replace the full text search engine in MySQL which was able to self index 75,000+ words. Using generics and linked lists, it completed a full text search in less than one second and retrieve necessary information. SiteCatalog2 was a Service Based application, complete with administration utility written in C# to manage the SiteCatalog2. The application and webservices use .NET Remoting to communicate with the Windows service. Data was saved to a cache so loading would be faster during start up. It also merged the NotifyEvent application and employed the use of Microsoft Message Queue to receive messages from other Explorica systems.

NotifyEvent – Allows systems to post events using Microsoft’s Message Queue. Other Explorica systems needed a way to update the SiteCatalog. Microsoft’s Message Queue was used to guarantee event delivery. Once the SiteCatalog receive the message, the appropriate data was successfully retrieved, the message was deleted.

Archive Project – Using MySQL as a backend and webservices, added new functionality to the Product Management System to allow to archiving of tour information. Constructed some webpages to allow management and employees to use this data as an easy and direct way to calculate tour costs of different currencies for different date periods with different archives. AJAX was employed to allow for an assisted tour name search. Architected using UML 2.0.

Experience
ASP.NET 2.0
C#
XML
Data Web Controls
MSSQL
.NET Remoting
From: May 2004
To: June 2005
Computerized Horizons Newburyport, MA
Senior Engineer Industry (Anti-spam and Anti-virus for Email)

Currently developing DecludeConfigure, a C# .NET application that allows a user to configure settings using a graphical user interface (GUI) instead of a cryptic configuration file. Work includes the following:
Allows an administrator to configure Declude software on any PC on the network from their local machine
Integrated a previously written side application that provided an easy way to notify Computerized Horizons for technical support. User configuration files, diagnostics, registration information along with customer questions are uploaded to a SOAP-based Web Service which saves the data into a SQL Server database using ADO.NET. A support ticket number is generated for the customer.
To guarantee data integrity of a complex grid control, specialized self aware objects were attached to each cell. Using reflection and events, polymorphic objects save and load their own data using generic functions. This cut down in development time with newly created object types, the saving and loading of data was automatic due to the inherited abstract base class, forcing this functionality.
Using XML Web Services, new updates are automatically downloaded to customers’ machines and copies of the configuration files are backed up to Computerized Horizons to safeguard customer-specific data.

Eliminated the need for a higher end, more expensive installer by developing six MFC C++ DLLs that were used in conjunction with each other to extend the functionality beyond the scope of InstallShield Express. If an error occurs during the installation process, a detailed trace log is created and forwarded to support for troubleshooting.

Prototyped a SMTP Sink to Microsoft SMTP service. Using Visual Studio 7.0, built a working 'proof of concept' C++ DLL that would hook into Microsoft's SMTP service, captured email to be scanned by the Declude product and reintroduced the email back into the mail system as clean email.

Took over Declude, the company’s main anti-spam application. Instituted coding standards, refactored major parts of the code, introduced concrete, repeatable testing methodologies using Virtual Server 2004/05 to help measure results accurately. To overcome Declude being run on the same email, devised a method to allow each stateless DOS instance to communicate during runtime.

Created Multi-Threat Level Database - a system of applications that receive Virus information from Declude's Antivirus in DNS format, adds them to a SQL server database (holding millions of records) using Stored Procedures and leveraging COM as the pass thru medium.

Experience
ASP.NET 2.0
C#
MSSQL
From: Jan 2004
To: May 2004
Infinidex Boston, MA
Senior Engineer - Contract Position

Created a Microsoft Outlook COM add-in extension which added a toolbar and toolbar button giving Outlook users the ability to launch Interdex, the main application of Infinidex, from within Outlook. Intercepted when a user clicked “Reply” to determine if the email message was sent from an Infinidex server, which would then display a custom reply form

Merged specialized UI control and menu C# sources from a .NET DLL assembly into the main application.

Provided development support and maintenance for Interdex, a system designed to leverage members’ contact information to others in the organization, allowing users to establish business relationships.

Created an Intranet web site with forums to Harvard Business Schools in C# and ASP.NET. Stored and retrieved data in a SQL database that captured user information, allowing them to join the site

Experience
Palm SDK
CodeWarrior
Visual Source Safe
C/C++
From: Nov 2003
To: Dec 2003
PHT Charlestown, MA
Senior Engineer Industry (Pharmaceutical)

Provided C++ support on eProDesigner, an eDiary product that allowed companies to collect conclusive data on palm handhelds, to enable successful clinical trials. Handheld devices were configured to notify patients when to input data via alarms. This data then was collected at PHTCorps servers, transferred over the Internet on the HTTP protocol, resulting in reporting and data mining capabilities for the companies conducting the trial. Each trial had some amount of custom coding to be done.

Experience
MFC
Borland C++
Visual C++
CodeWarrior
TCP/IP
MSSQL
Symbol Palm OS
StarTeam
Multi-tasking and Threads
StarTeam
Symbol SDK
From: Oct 2001
To: May 2003
Streamware Corporation, Inc Norwood, MA
Senior Engineer Industry (Vending)

In charge of handheld development of VendMAX, an inventory application using barcodes, designed to manage routing and warehouse functionality for vending and office coffee supply companies. Comprised of Symbol handhelds using Palm OS (68K Processor), which communicates with a TCP/IP server written in Borland C++ to sync data between handhelds and a SQL server database. Upgraded the software to the next version to include the ability to track the use of cold food.

Ported handheld applications to Palm Object Library (POL) and WinCE.

Modified Palm Emulator to easily load and save sessions by introducing a UI dropdown. Added the ability to export certain databases from the emulator. Began version that allowed for automated testing through the recording and playback of events.

Viewed the data in the exported databases using Vendmax DatabaseInspector, a Windows MFC-based application that reads palm databases to assist in easy debugging.

Experience
MFC
Visual C++
Symbol Palm OS
Visual Basic
Installshield
ATL - COM
Access
ASP
FrontPage
CodeWarrior
Palm SDK
Symbol SDK
TCP/IP
From: 1998
To: Oct 2001
Exgenex Canton, MA
Senior Engineer Industry (Trade Show Registration)

Wrote four lead applications and a menuing system on the DataGenie, Data General’s hand-held computer. Devised a system that automates the downloading of data from the DataGenie to the Lead Download system so that no interaction, other than physically connecting it to the computer, would be required.

Developed the ExpoScan and Swipe and Go applications using both Symbol’s and Palm’s SDK. ExpoScan used the symbol 1740’s internal bar code scanner to gather 1D bar codes. Swipe and Go used the attachable badge reader to gather lead information and was able to display a pre-defined set of questions and answers. Wrote Conduits for both applications, which downloaded the saved leads from the devices. Also created an InstallShield extension DLL that upon installation completion spawned a wizard that guided the user through configuration settings.

Built ExpoSerialDecode with Visual C++, an ATL COM based object that aggregated the Microsoft Comm control using smart pointers. The control would enumerate the serial ports, open them and wait for data. Once received, encrypted badge information would be decoded and returned in a set of properties and methods. This ActiveX control was able to accomplish in three lines of code what previously took hundreds in Visual Basic.

Developed a method to read and write information to and from the binary, allowing it to save registration information directly into the DLL. This allowed the reuse of the DLL without reinstalling it. Built a configuration application that allowed anyone to enter this information without having to recompile code. This completely freed up an engineer from modifying code for each show.
Created our flagship product, the Attendee Profiling System, using Visual Basic and Visual C++. This application would gather attendee information at trade shows saving the data to an Access database using DAO. Two wizard tutors would guide the users to connect a badge reader to the computer and input a set of questions with answers. Reports were created in standard HTML from the lead data so it could be viewed in any browser. Using the ExpoSerialDecode ActiveX object to read and decode badges, it also performed the licensing task, expiring at the end of the trade show. The client then could purchase a ‘license disk’, allowing it to be used for the next show. Worked on a Web Site using ASP that would allow a client to pay for this disk over the web. This meant that they could be totally independent of Expo International to gather their lead information.

Experience
MFC
Visual C++
Win32
RPC
UNIX
Network Development
From: 1994
To: 1998
NetPro Computing Scottsdale, AZ
Engineer Industry (Network Administration Software)

Helped produce StreetMeter, a client-server based product designed to meter applications running on Banyan file services. The administrative client, written in Visual Basic, referenced functions in a DLL written in C, to communicate via remote procedure calls to a UNIX-based service. Each client agent, written in C++, would monitor system calls and retrieve access and license rights to allow or disallow running instances of the metered application.

Was lead engineer of a team of three that migrated an earlier version of Server ScanMaster, a 16 bit, client-server based application, designed to scan and clean Banyan network file services from viruses, to a new MFC 16/32 bit application sharing most source code. Using MFC, the administrative client would also communicate via remote procedure calls to a UNIX-based service that scanned the file services for viruses.


Experience
Web Services
.NET Remoting
SOAP/WSDL
XML
 C# 1.1/2.0
 MFC
 Visual C++
 ATL/COM
 Win32
 
 
 
 
 
 
 
From: 1994
To: Present
Consiliumsoft www.consiliumsoft.com
Lead Engineer
Founded Consiliumsoft, a shareware company

CSFastRunII – a drop-down menu (combobox) that becomes part of the taskbar that holds a list of previously added shortcuts, allowing the user to easily execute an application.

CSPrintingEngine – a COM object that allows software engineers to add printing capabilities to their applications with no printing knowledge required. Allows for printing of images, different text fonts, shadows, bullets, tables, lines and rectangles.

CSBuildIt! - A content management application consisting of CSBuilder, a MFC Windows-based WYSIWYG authoring application and CSPalmBrowser, a POL palm-based browser. CSBuilder allows anyone to dynamically create screens by dropping interface controls within a form, adding logic behind the objects, linking them to other pages to create XML output source. This source is read by CSPalmBrowser which recreates the view by reading the XML and producing the page. Once the interactive session is finished (test, survey, etc) the data is saved back in XML format, and once transmitted back, can be reported on, viewed or printed out. This project is in development with future additions to add support for Windows CE, RIM Blackberries, HTML and cell phone support.

Consulting Work

Convergent Learning - Created a Palm micro browser that displayed text, images, edit controls, standard buttons and radio buttons (not native to Palm). It used smooth scrolling to display its information. It also used an authoring tool to create a markup language based on HTML; it used these rules to display its information. Activity is saved and downloaded. Paths are determined with conditional branching.

CMP Staffing - Created Employee Time Tracker, an application designed to track employee work schedules using assigned 2D barcodes that are printed and scanned. Employees checking out of work would sign out using a Welch-Allyn signature capture pad (like one sees in Home Depot) which was saved. This would be validation that the employee was there when signing out. Reports generated HTML and could be viewed and printed via a browser, saving consulting costs.

Reed Registrations - Contracted to write a registration application that allows Reed to keep track of exhibitors at trade shows. Calculates totals, allotted and remaining values, prints out 3 different canned reports and badges that allows entry to show floor.


Comments
Senior software engineers must understand the software development life-cycle from conception to completion. Understanding how to bridge the gap between technology and the business model is vital. Seeing the “50,000 foot view” is as important as understanding lines of code. Realizing your customer’s specific needs up front, translates into a successful software solution. Knowing how to research a problem is as important as what sites are available. For example, two research and development sites that I frequently visit are http://msdn.microsoft.com/winfx/ and http://msdn.microsoft.com/practices/. In addition, taking a systematic approach to development, following basic rules such as automating commonly run tasks, creating logs files to allow for code auditing, and use of a code library of proven methods, reduces bugs and cuts down on time spent in development and Quality Assurance. Effectively balancing resources, time, and feature set keeps marketing, management and your software of engineers working well together. My time in the United States Marine Corps gives me great insight on not only how to lead, but more importantly, how to recognize when to follow. .
United States Marine Corps
1988 - 1993
Discharge Status:
Honorable Discharge
from Military Service
Unit
2nd FSSG - Information Systems
Management Office (ISMO)
Duty Station
Camp Lejeune
North Carolina
Rank
Sergeant

Locations:
Gulf War (1990-1991)
Honduras
Norway (Trondheim)
Norway (Bodo)
Norway (Tromso)
Camp Lejuene North Carolina

Awards
Marine Corps Good Conduct Medal
Sea Service Deployment Ribbon
Navy & Marine Corps Achievement Medal
South West Asia Service Medal
National Defense Service Medal
Naval Arctic Service Ribbon
Navy Unit Commendation
Navy Meritorious Unit Commendation
Kuwait Liberation (Saudi Arabia)
Page left blank intentionally - till I have time to fill it
Page left blank intentionally - till I have time to fill it
Page left blank intentionally - till I have time to fill it