Eric W. Greene

Eric W. Greene

Lynchburg, United States
Hire Eric
Scroll To View More
Eric W. Greene

Eric W. Greene

Lynchburg, United States
Member since November 16, 2013
Eric loves to write code in a high-paced and challenging environment with an emphasis on using best practices to develop high quality software that meets project requirements, budget, and schedule. He enjoys learning new technologies and sharing findings with his colleagues.
Eric is now available for hire
  • JavaScript, 19 years
  • CSS3, 17 years
  • LessCSS, 4 years
  • SASS, 3 years
  • AngularJS, 3 years
  • jQuery, 7 years
Lynchburg, United States
Preferred Environment
HTML, CSS, Backbone, React, Angular & Node.js
The most amazing...
...thing I've coded is a custom search engine to search massive amounts of full text and semantic data and present results customized to individual clients.
  • Senior Software Developer
    nTelos, Inc. (via Sarnata Corp)
    2011 - PRESENT
    • Completed contract with my business, Sarnata Corporation.
    • Earned two Core Value Awards for Teamwork and Continuous Improvement for my software development contributions towards two important business problems.
    • Architected and coded a large common code library for web applications covering areas such as security, configuration, and especially data management.
    • Developed single web page applications and taught other developers to build such applications.
    • Wrote many new web apps and supported many legacy apps doing architectural, coding, testing, and analysis work.
    Technologies: ASP.NET MVC, C#, HTML5, CSS3, JavaScript, Knockout.js, LessCSS, Bootstrap, SQL
  • President, Senior Software Developer
    Sarnata Corporation
    2009 - PRESENT
    • Founded and led the company in becoming a Microsoft Certified Partner (achieving competencies in Software Development and Web Development), primarily providing software development services for insurance, healthcare, and technology companies.
    • Participated in many community-organized Code Camps providing valuable .NET training. Participated in many regional GiveCamps donating programming and business analysis services to non-profit organizations including Respond, Inc. (Boston, MA), the North Philadelphia Hospital System, and the Literacy Council of Union County (Charlotte, NC).
    • Commissioned a case study of a .NET/Telerik/ project which was co-branded with Microsoft, Telerik, and the customer, C5 Insight, Inc. Telerik posted an adaptation of this case study on their public web site.
    • Worked with developers around the world to build software applications.
    • Provided software development and system administration services to customers throughout the United States.
    Technologies: .NET, PHP, SQL Server, MySQL, PostgreSQL, HTML5, CSS3, JavaScript, Bootstrap, jQuery, Knockout.js, KendoIU
  • Senior Software Developer
    Silverchair Information Systems (via Sarnata Corp)
    2011 - 2011
    • Architected a search engine and learned the client's semantic technology within five months as sole developer and architect. Created an entirely new search engine for a new online medical journal platform. Implemented the search engine for the Journal of Bone and Joint Surgery. Designed the search engine to be used as the basis for new search engines for journals of the American Medical Association and other medical journals.
    • Developed three distinct applications: an exporting tool to prepare content for searching, a WCF search service, and a search client implemented within an ASP.NET web application.
    • Implemented the exporting tool to leverage parallel processing and sophisticated SQL Server stored procedures for processing and exporting content searchable with the search device.
    • Constructed a search service using a highly modular structure inspired by Windows Workflow Foundation 4.0. Customized the service support client using hot-pluggable modules enabling custom filtering, ranking, and other search activities.
    • Created the client portion to make use of a JSON enabled WCF service to power a fully Ajax-enabled search results page.
    • Used three methods for searching content within the search engine. Achieved full-title search through an innovative MD5-hashing process allowing for extremely fast full-title matching. Implemented a second method using the client semantic platform to return semantically relevant search results. Used Windows Search 4.0 as the final search method to provide full-text search of prepared content.
    Technologies: ASP.NET 4.0, VB.NET, WCF, jQuery, JSON, WIndows Search 4.0, Parallel Linq, SQL Server 2008 R2
  • Senior Software Developer
    Delta Dental of Virginia (via Sarnata Corp)
    2009 - 2010
    • Designed and coded numerous web and desktop applications used in the dental insurance industry.
    • Architected and coded a new multi-­user Windows Forms application to view, sort, and export faxed claim images.
    • Developed a web site to collect and report on information concerning the client's AGILE software development process.
    • Implemented a web page to serve as a proxy for a dentist search on another web site. Allowed the page to download HTML from the source site, update images, styles, and link references, as well as modify the internal form structure and display the updated web page within the user’s browser.
    • Supported and coded an application managing user accounts used by other applications.
    Technologies: ASP.NET 3.5, WinForms, AJAX, C#, HTML, CSS, JavaScript, XML, Free Image Library, Oracle, SQL Server
  • Senior Software Developer
    Benchmark Systems
    2007 - 2009
    • Developed C# / PostgreSQL / SQL Server ASP.NET software applications with Visual Studio 2008.
    • Wrote a portal system providing single sign-on and access control to a suite of web-based medical practice management systems.
    • Integrated single sign-on with Dr. First’s ePrescribing system. Implemented the portal to support both desktop web browsers and web browser-enabled mobile devices.
    • Led a team of developers to implement pattern-based code generation tools and a web application framework.
    • Completed the Dale Carnegie World Class Customer Service Training and Supervisor Training courses.
    • Taught ASP.NET development to fellow programmers and provided internal and external customer support.
    • Participated and actively contributed to software development long term planning meetings.
  • Senior Software Developer
    Site Builder Corporation
    2007 - 2007
    • Advised business owners on all technology-related decisions and purchases (servers, T-1 lines, software).
    • Managed 7 Linux-based servers, 1 Windows-based web server, and 1 Microsoft Small Business Server. Handled management tasks including: selection of software for server, initial bare metal installation and configuration of OS and all applications (IIS, Apache, DNS, Tape Backup, Anti-virus, Exchange, Qmail, Plesk, etc.), hardening of servers to prevent intrusion and implemented targeted, and custom intrusion detection systems.
    • Worked one-on-one with internal and external customers to resolve various server-related issues.
    • Migrated 4 Linux servers to a redundant AppLogic grid server environment (including configuration of grid, contract negotiation, migration planning, coordinating vendors, customer support, etc.).
    • Programmed PHP/MySQL web applications and PHP/BASH Linux scripts.
    Technologies: PHP, MySQL, Linux
  • Senior Software Developer
    AREVA (via Greene Technology Corporation)
    2005 - 2007
    • Completed this contract through my company, Greene Technology Corporation.
    • Designed, developed, and supported enterprise intranet applications using Classic ASP, Sybase, SQL, JavaScript, and Visual Basic.
    • Converted a legacy Classic ASP app and Visual Basic apps including integration with J.D. Edwards and SAP.
    • Wrote a Classic ASP-reporting web application using recursive stored procedures and custom functions to analyze and report on millions of records of data. Optimized stored procedures and temp tables to generate reports in seconds.
    • Devised a method to update the Sybase database from SAP in less than 5 minutes with 20+ million records each day.
    • Participated in group planning and strategy sessions to solve SAP Legacy System migration problems.
    • Worked extensively with Information Services and customers they served in other departments.
  • President & Senior Software Developer
    Greene Technology Corporation
    2000 - 2007
    • Established a new company and led this company through periods of growth, decline, and re-growth.
    • Coordinated software development efforts of employees and subcontractors (domestic and international).
    • Forged new relationships with customers (private businesses and government) and vendors throughout the United States.
    • Served as a Technical Advisor to numerous companies to assist them in making wise technology-related decisions.
    • Coded and supported many web database applications using .NET, PHP, Classic ASP, Perl on Windows, and Linux.
  • Senior Analyst
    1997 - 2000
    • Developed database-driven Internet financial management applications for various government and military agencies.
    • Provided support services for Internet applications, managed workstations, and servers (Linux, Solaris, and Windows).
    • Managed Linux servers hosting web applications and databases.
    • Developed an AJAX-enabled user interface for a web-based Classic ASP/SQL Server application to manage the configuration of electrical grids (including generators, distribution and consumers). Implemented the application to allow US Forces to graphically configure the best possible layout for managing electrical devices in a web browser without an active connection to the internet (except for saving/retrieving data).
    • Created several custom timesheet systems for commercial and government agencies.
  • Custom Full-Text and Semantic Search Engine (Development)

    In five months as the primary developer/architect (coded 95% of it), architected a search engine and learned client’s semantic technology to create a completely new search engine for a new online medical journal platform. The first implementation of the search engine was for the Journal of Bone and Joint Surgery. This platform search engine will be used at the basis for the new search engine of the journals of the American Medical Association and numerous other medical journals.

    Development included three distinct applications: an export tool to prepare content for searching, a WCF search service and a search client implemented within an ASP.Net web application.

    The export tool leveraged parallel processing and sophisticated SQL Server stored procedures to process and export content which was could be searched by the search service.

    The search service was constructed using a highly modular structure inspired by Windows Workflow Foundation 4.0. The service support client customization through hot-pluggable modules which enable custom filtering, ranking and other search activities.

    The client portion made use of a JSON enabled WCF service to power a fully Ajax enabled search results page.

    The search engine used three methods for searching content. Full-title search which was achieved through an innovative MD5-hashing process which allow for extremely fast full-title matching. The second method used the client semantic platform to return semantically relevant search results. The final method used Windows Search 4.0 to provide full-text search of prepared content.

  • SQL Editor Tool (Development)

    An application I created for nTelos to allow their application support employees to execute custom SQL statements in a controlled and monitored environment with safeguards to protect against undesired mass database changes. To complete the project, I performed technical analysis and wrote a detailed technical specification outlining the project requirements, goals and implementation strategy. I coded a web-based SQL editor that controlled and monitored the execution of dynamic, user-entered SQL Server queries in a production environment. As part of the UI, I implemented editor syntax highlighting using the CodeMirror component. To support the highlighting we needed, I created a custom highlighting scheme and a custom Knockout.js binding.

    In order to protect against mass unintended data changes, I found a third party SQL Parser component that I used to parse the modification query (which could include multiple modification query statements) into individual modification query statements where the user was required to specify the expected number of affected records for each individual statement. The tool then executed the queries in review mode before final execution to verify the expected affected number for each parsed statement against the actual affected number for each statement. This was accomplished through injecting SQL control and logging code into the dynamic SQL between each parsed modification query statement.

    To protect against data lost the user is required to enter a data verification query which runs before and after the modification query. The results of the verification query are logged before and after the modification query as well as displayed to the user. The challenge here was that the data verification query could return multiple result sets therefore KendoUI HTML grids, Dynamic C# and JSON via the Web API were used to produce a before/after grid for a variable number of parsed SQL verification query statements from the larger verification query entered by the user. The result sets were also stored as XML within SQL server for audit purposes. To accomplish XML/JSON serialization of the result sets custom serialization was written to serialize dynamic objects which the result sets were stored in. Extensive logging and error handling was performed in C# and SQL before the parsed modification queries were executed, as well as during execution and post execution.

    Using Bootstrap, I implemented a Responsive Web Design to take advantage of very large desktop monitors and still allow the application to be very usable with smaller screens. After the initial page load, the application executed all data transactions with the server through MVC 4 Web API via JSON, no additional full page loads were initiated.

  • Faxed Claim Image Viewer (Development)

    Delta Dental of Virginia needed an application to manually process images of faxed dental claims. The faxed claims would be delivered with multiple claims batched together in single TIFF files. They needed the ability to open each TIFF file, view the pages, group the pages into claims (each claim could be multiple pages) and mark unneeded pages as junk then save all of the grouped claims out as individual claim multiple page TIFF files. According to requirements, I architected and coded a new multi-user Windows Forms application to view, sort and export the faxed claim images. The application used custom events to keep the underlying data and UI elements in sync. Because of limitations inherent in the .NET Image Libraries, I utilized the FreeImage Library to load multi-page TIFF files then provided image manipulation tools to sort, rotate, classify and group pages within the TIFF file and then exported those pages as separated TIFF files based upon their grouping. The UI allowed the user to select, drag, and drop TIFF pages to re-order the pages as part of the classifying and grouping process. To integrate the viewer with existing systems, I updated the DCS2000 data entry module to handle faxed claims processed by the viewer. Updates included modifying the user interface, extensive C# and PL/SQL modifications affecting significant areas of batch automation. Finally, I wrote a custom PL/SQL routine to generate unique claim numbers for faxed claims which would not collide with various instances of DCS2000.

  • Bulk Data Entry (Development)

    Architected and coded an ASP.Net AJAX application utilizing Telerik’s RadGrid control to provide a keyboard efficient line-item data entry tool for real-time updates to The RadGrid was dynamically created based upon XML configuration files and pushed/pulled data in real-time to/from via a standard web services interface. The XML configuration process utilized LinqToXML. The RadGrid was configured to support a variety of column control types that conform to data types including dates, formatted numbers, and drop downs. The values for the drop downs were loaded from Using jQuery, the RadGrid was keyboard enabled to allow the user to insert, update and delete records without the use of a keyboard. (The keyboard capabilities were demonstrated and explained at the 2010 DevLink Conference in Nashville, TN). To speed up the grid, all data was cached as appropriate and custom grid commands were written to perform multiple operations in one AJAX call rather than one operation per call. A case study co-branded with Microsoft and Telerik was written about this project by an independent firm and the study was largely paid for by Microsoft. Telerik posted an adaptation of this case study on their public web site.

  • Advanced Clinical (Development)

    Architected and coded a new web-based electronic medical records system that was created for a hearing and speech clinic located in Florida. The application utilized DevExpress controls and a PostgreSQL database. It was designed to support branding by resellers and as such master pages were dynamically applied at run time requiring resources such as images, style sheets, and JavaScript to be embedded and loaded at runtime through special resource handlers and a virtual file system. I created a custom coded object relational mapping (ORM) system which created objects based upon the database structure loaded in PostgreSQL. The custom ORM system was created using the MyGeneration tool that was used to run C# code against the database which created the C# object files and PostgreSQL stored procedures. Extensively used user controls to enable efficient development and usage of the very large forms within the application (500+ fields per form in some cases). Finally, I implemented a custom ASP.Net membership/role/profile provider for PostgreSQL.

  • Give Camps (Development)

    Business Analyst & Lead Software Developer
    2010 New England GiveCamp - Respond, Inc
    Donated my time to help Respond, Inc. develop a new web site at the June 2010, New England GiveCamp. I worked with 3 other developers and the staff at Respond before the GiveCamp and at the GiveCamp to produce a new web site which would allow them to better serve victims of domestic violence.

    Team Lead and Lead Developer
    2013 Southern Maryland GiveCamp - A Community That Cares
    Donated my time and expertise to work with ACTS (A Community that Cares) of Southern Maryland to migrate their old one page web site to a new Orchard CMS based web site that allows them to update their content through a web browser as well as manage their equipment and volunteer lists online. ACTS is a non-profit organizations who loans out medical equipment for those in need.

    Team Lead and Developer
    2010 Southern Maryland GiveCamp - Citizens' Advisory Committee for Special Education of Southern Maryland
    In March 2010, I attended the Southern Maryland GiveCamp where I had the opportunity to develop a web site for the Citizens' Advisory Committee for Special Education of Southern Maryland. It was a real honor to assist this organization in their efforts to help families whose children have special education needs.

    Business Analyst & Lead Software Developer
    2011 Charlotte GiveCamp - Literacy Council of Union County

    Team Lead and Developer
    2010 Philadelphia GiveCamp - North Philadelphia Health System

  • Video Player SharePoint Web Part (Other amazing things)

    Designed and coded a SharePoint web part to play videos on any of the popular web browsers (pre-HTML5). The player supported several file formats and would display the appropriate player depending upon the video file specified. The web part auto-detected the video file type as well as loaded meta-data about the video to perform dynamic sizing for the player. The web part automatically sizes the web player based upon the size of the client browser both on initial load and after browser resizing. This dynamic resizing especially within a SharePoint web part was unique in the marketplace at the time.

  • ASP.NET MVC 4 w/ Entity Framework on Linux Nginx Web Server (Other amazing things)

    For a fun and challenging project I wanted to run ASP.NET MVC without using Windows either for development or hosting. Using the Mono Project, Xamarin Studio, a Mac for development, and a Linux web server, I was able to build and deploy a very basic ASP.NET MVC 4 application to a Linux server. The application utilized the Entity Framework to connect to a PostgreSQL database.

    For development, I used Xamarin Studio with the NuGet package extension. I created the MVC 4 application, installed the NuGet packages and had it connect to the database. I then compiled it and deployed it to the server running CentOS, Nginx, PostgreSQL and Mono running over FastCGI. After doing some configuration and tweaking the application ran as expected. It was really cool to build a .NET application which did not depend upon Windows.

  • .NET Speaking Engagements (Other amazing things)

    I have spoken at numerous software developer community events:

    Spring 2010 - Pittsburgh Code Camp - Topic: Sitefinity
    Spring 2010 - Richmond Code Camp - Topic: Sitefinity
    Summer 2010 - DevLink - Topics: Expression Trees & Keyboard Enabled Web Apps
    Winter 2011 - Richmond .NET User Group - Topic: Windows Workflow
    Spring 2011 - Charlottesville .NET User Group - Topic: Windows Search 4.0
    Spring 2011 - Roanoke .NET User Group - Topic: Windows Server App Fabric
    Fall 2011 - Northern Virginia Code Camp - Topic: MonoTouch
    Winter 2013 - Richmond .NET User Group - Topics: Bootstrap/WebAPI/KnockoutJS/LessCSS
    Winter 2013 - Roanoke Code Camp - Topic: CoffeeScript

  • AngularJS Tutorial: Demystifying Custom Directives (Publication)
    One of the most capable, extensible and popular front-end frameworks is AngularJS, and one of the most useful components of the AngularJS framework is something called a directive. In this article, the four functions that execute as a directive is created and applied to the DOM will be explored.
  • Languages
    JavaScript, SQL, LessCSS, HTML5, SASS, CSS3
  • Frameworks
    AngularJS, Bootstrap
  • Libraries/APIs
    Underscore.js, jQuery, Modernizr
  • Tools
  • Misc
    Microsoft Certified Professional Developer for ASP.NET 3.5, Microsoft Certified Solutions Developer .NET 4.5 Web Applications Developer, Microsoft Certified Technology Specialist WinForms, Microsoft Certified Technology Specialist ASP.Net, Microsoft Certified Technology Specialist ADO.Net
  • Bachelor's degree in Computer Science
    Virginia Military Institute - Lexington, VA, USA
    1995 - 1999
I really like this profile
Share it with others