Wm. Ruffin Bailey
Putting my experience on display

Ruffin Bailey

Online Portfolio: http://ruffinbailey.com/pastwork
Stack Overflow profile: http://stackoverflow.com/users/1028230/ruffin
Sample GitHub repos: TagifyJS and SqlDbSharp


Mr. Bailey has over eighteen years' experience in web-based database system design, construction, optimization, and maintenance.

Recent professional experience concentrates on full-stack, "cradle to grave" .NET MVC work: designing & implementing SQL Server schemas; crafting C# middleware using NHibernate, LINQ to EF, or direct access; creating custom JavaScript clients that employ jQuery, KnockoutJS templating, Moment.js, even coding custom, pure JavaScript UI libraries like TagifyJS.

Mr. Bailey also has over eleven semesters' experience as an instructor at the university level, having taught courses in Business and Technical Writing, Cultural Studies of Video Games, and Electronic Media Writing. His writing has been published in two collections, with a chapter taught as part of Duke University's Information Science + Studies program. More recently, he co-authored, "Restarting Static: Television's Digital Reboot", which was published in the journal Television and New Media in April 2015 (online) and January 2016 (print).

As of May 2018, Mr. Bailey remains one of only two StackOverflow users to have been awarded the JSLint badge.

Areas of Expertise

JSLint, JavaScript, C#, .NET MVC, UWP, LINQ, LINQ to EF, NHibernate, SQL, SQL Server, MySQL, jQuery, Knockout.js, Xamarin, git

Work Experience

Contractor & Indie App Developer, rufwork.com, LLC, July 2015 - Current

c#, javascript, jslint, sql-server, node.js, mysql, uwp, xamarin, asp.net-mvc, java, jsf, git

Portfolio direct link: http://ruffinbailey.com/pastWork/web/database.html#messagefactory

rufwork.com, LLC is the umbrella corporation for Mr. Bailey's independent application development and software contracts.

Mr. Bailey has contracted and consulted on several projects for rufwork.com. Contract work has included the following:

  • Created a .NET MVC system to handle asset management for customer-facing [snail] mail services for major Fortune 500 companies at one of the US's largest mail distribution companies.
  • Worked with a small healthcare practice management SaaS focused primarily on creating a site-wide, customized, HIPAA compliant chat service for providing site support and provider-patient communication. Leveraged XMPP and Strophe providers that were wrapped with a custom .NET WebAPI framework. The client code was created with React.js, JSX, Babel, and a home-grown routing system.
  • Gained Xamarin iOS experience working with the Hands of Christ nonprofit to create an app ensuring the fair distribution of clothes, school supplies, and other resources to grammar and middle-school aged tri-county students.
  • Performed follow-on work at the Navy Enterprise Data Center (NEDC) from the previous position (see below) to keep the NEDC's PowerShell and PowerCLI reporting lights on after ESN's on-site contract expired.

Portfolio direct link: http://MarkUpDown.com

rufwork.com's first direct-sell commercial application is MarkUpDown, the most thoughtful Markdown editor for professionals on Windows 10. MarkUpDown is a Universal Windows Platform (UWP) application written in C# with server support in Node.js. MarkUpDown's marketing website can be found here and the application is available for purchase from the Windows Store. Aside from some icon design help, Mr. Bailey has been solely responsible for all facets of MarkUpDown, going far beyond simply programming the UWP application and into website design and marketing. Other independent applications have included crossplatform mobile applications using C# on Windows and Xamarin platforms to target Android and iOS.

Senior Programmer, Engineering Services Network, August 2014 - July 2015

powershell, smnp, vmware, wpf, c#, java, perl, powercli, git, GitLab

Portfolio direct link: http://ruffinbailey.com/pastWork/code/desktop.html#esnPowerShell

On-site contracting position at a Navy Enterprise Data Center requiring Secret clearance. Work began with the update of legacy VMWare Cops reporting PowerShell scripts delivered under another contract, and help coordinating the optimization of VMWare resources and EMC VNX storage.

Work included creating scripts to manage complex data diff and update uses, automation of VMWare utilization metrics, in-stream review and repair of code delivered to NEDC Engineering from other contracting sources, and update of all PowerCLI scripts to 5.5 compliance.

Mr. Bailey was the only on-site, full-time programmer at the SPAWAR LANT NEDC.

Senior Software Developer & Team Lead, PeopleMatter, October 2012 - August 2014

c#, asp.net-mvc-4, sql-server, fluent-nhibernate, javascript, ajax, jquery, jquery-ui, knockout.js, jslint, tfs, visual-studio-2013, sql, nhibernate-queryover, css, twitter-bootstrap, TFS

Portfolio direct link: http://ruffinbailey.com/pastWork/web/database.html#peoplematter

Member and lead of one of five Agile Scrum teams working on PeopleMatter's Schedule module, "an online schedule maker, manager and communicator." The PeopleMatter stack included fairly strict Microsoft MVC 4.0 with Microsoft SQL Server 2008 R2 on the server, and an exceptionally data-rich KnockoutJS powered client.

Mr. Bailey's team's work included development of PeopleMatter's Schedule component, used to schedule employees mainly in hourly service/restaurant positions, the creation of an employee background check service integration with products from Sterling Infosystems, and the creation of a JSLint-powered Team Foundation Server (TFS) build policy to ensure that all JavaScript code checked into the PeopleMatter repository is (reasonably) well formatted.

For the Spring 2014 release of PeopleMatter, Mr. Bailey was the sole coder for two features, the Save for Later status and the Reasons for applicant status changes, featured on the PeopleMatter Spring 2014 product release page.

GIS Programmer, SYNCADD Systems, Inc., January 2012 - October 2012

c#, javascript, extjs, jquery, oracle, mapserver, openlayers, ajax, wcf, sql, css

Portfolio direct link: http://ruffinbailey.com/pastWork/web/mapping.html#ArmyMapper

Performed as one of two programmers on the "Development 1" task of Army Mapper 3.0, the US Army's enterprise Geographic Information System (GIS). Army Mapper is used by the Office of the Assistant Chief of Staff for Installation Management (OACSIM) as a tool to visualize the current state of the Army's resource management across Army installations (ie, bases) worldwide.

Work in the Development 1 task included designing and creating exceptionally advanced, user-facing geo/database query tools, allowing Common Access Card (CAC) authenticated end users to visually construct and save ad hoc queries of what amounted to complex SQL joins. These joined data sources, cutting across any number of tables, could then be concurrently queried by data values and geospatial constraints. Other tasks included creating a Range Query Tool (RQT) that allows Army support personnel to quickly find firing ranges by munition or weapon type, or by querying a number of other range characteristics.

Army Mapper 3.0 employs MapFish, OpenLayers, and MapServer to interface with spatially aware and flat data in Oracle and ESRI ArcSDE. Work was done in PL/SQL, C#, Javascript, and ExtJS.

ASP.NET Developer, SystemTec contractor for SC Department of Health and Environmental Control, October 2011 - December 2011

c#, sql-server, jquery-ui, ajax, javascript, css

Portfolio direct link: http://ruffinbailey.com/pastWork/web/database.html#dhecImz

Performed alpha rewrite of Immunizations Directory for the South Carolina Department of Health and Environmental Control (DHEC). System allows pediatrician and other doctor offices in the state of South Carolina to manage registered children's scheduled immunizations, both those already administered and those due. Project included learning the schema of the existing database in DB2, coding user interfaces with detailed data quality assurance requirements in .NET, jQuery, and jQuery UI, and connecting the UI and data tiers through a shared middle data tier, then also in development. This was a planned two and a half month project, immediately after which Mr. Bailey joined SYNCADD Systems.

President/Contractor, rufwork programming, Inc., October 2002 - Current

c#, vb.net, php, sql, ado.net, sql-server, mysql, javascript, ajax, xamarin, lamp, css, xamarin.ios

Incorporated software development and consulting company in October 2002, and used it to create self-released software and to consult while attending graduate school.

Projects have included database design and maintenance, creation of web-based interfaces to those systems, GIS and geospatial database design, and custom, stand-alone application development.

Most web-based projects utilize AMP stacks (Apache Web Server, MySQL RDBMS, and PHP extensions). Geospatial work includes ArcIMS, ArcGIS Server, MapServer, and Google Maps. Stand-alone application design uses Java or Visual Basic (VB6 and VB.NET), and now in Mono/Xamarin for iOS.

Representative projects follow.

  • Maintains and develops a number of open source projects, including SqlDb#, a hand-rolled RDBMS, available on github, written in C# using the Mono Project/Xamarin. (Ignore the Hungarian.)
  • SpiderSavings.com (AMP): Mr. Bailey designed and built an online business directory and coupon management system for SpiderSavings.com, including an administration module, coupon provider module, and forward-facing search and display functions. This site also included allowing users to manipulate images on the server, geocode their business addresses, and used AJAX for several functions, including end a method allowing end users to send coupons to themselves via the site's SMS functions.
  • Cruise Services USA (Java): Work included a customized job application processing system, created in Java, for a cruise line employment service. The application retrieves emails created by a web form (part of the client's existing workflow), parsed their contents, and placed them into Excel files using automation. As of 2010, the application is still in use and maintained by rufwork programming.

Lead Programmer, Rok Technologies, Inc., September 2003 - July 2004

vb.net, vb6, java, jdbc, jsp, tomcat, arcsde, esri, sql-server, oracle, sql, javascript, css, xml

Prototyped a replacement system for a land records/tax parcel system for a county government in North Carolina, previously written using UNISYS EAE. Lead programmer responsible for new database schema design all the way through to GUI design and integration with the county's GIS information. Development work done in VB.NET, using Windows.Forms for GUIs with some test work with Crystal Reports & html for reporting. Oracle 9i via ODP.NET was utilized for the creation of the data tier.

Was also responsible for web-enabling RDBMS systems that communicate with ArcIMS using JSP.

Custom Solutions Developer, Blackbaud, Inc., February 2003 - August 2003

vb6, com, sybase, sql-server, sql, ado, adox

Customization responsibilities included extending Blackbaud's suite of products through VBA, creating customized Visual Basic 6 stand-alone applications that interfaced with Blackbaud products through COM or directly with the Blackbaud database in Sybase or Microsoft SQL Server, and creating custom reports for Blackbaud products.

Was also responsible for the creation of a web-based online student application system, which interfaces with Blackbaud's Admissions Management application.

Mr. Bailey's single most important accomplishment was likely that he convinced the team to use SQL to map data for custom reports rather than using flat file exports and putting business rules into Crystal Reports directly. previously been done exclusively with flat files exported from the Raiser's Using the old tools, reports would sometimes run for days. Moving that logic to SQL, where it belonged, sped up new reports by orders of magnitude. No kidding.

The coolest thing Mr. Bailey did was to non-intrusively add historical gift reporting views to a schema where product development said such an addition was impossible.

Database Administrator/Internet Mapping Specialist, Technology Planning and Management Corporation, October 1998 - October 2002

vbscript, arcims, javascript, sql-server, arcsde, tomcatvb6, asp-classic, ado, sql, css, java

Served as the NOAA Coastal Services Center's (CSC) lead Internet mapping server programmer as well as one of two database administrators. Database experience below builds on responsibilities listed in the Database Management Systems Specialist description, below.

Most mapping systems utilized a template for which Mr. Bailey was the lead programmer. This code employed the Environmental Systems Research Institute, Inc. (ESRI) ArcIMS ActiveX connector (pdf), and provided functionality through dynamic html, cascading stylesheets, and javascript on the client side with Active Server Pages and Visual Basic Script on the server side. Designed and taught a one-day introduction to "The ArcIMS ActiveX Connector" for approximately ten employees at CSC. Received three TPMC President's Awards for project contributions, and had one site featured on USAToday.com.

Descriptions of Mr. Bailey's ArcIMS sites are listed at the following URL: ruffinbailey.com/pastWork/web/mapping.html

Led small programming team in the creation of the first stand-alone application released by CSC. The Build-A-PIVOT application helps National Estuary Program (NEP) and National Estuarine Research Reserve (NERR) offices build web sites interactively, without the need for an on-site html expert. Released to a small group of NEP leaders in Summer 2002, Build-A-PIVOT was made available to the public on CD in December 2002.

Initially served as junior of two database administrators contracting for a NOAA office of over one hundred employees. Responsible for maintenance of all existing systems as well as the creation of new, non-spatial database systems. These systems included the following:

  • NOAA Coastal Services Center (CSC) Management Information System (MIS): The MIS assists CSC allot its fifteen-plus million dollar budget and nearly one hundred employees over scores of projects.
  • CSC Information and Request Tracking System (IRTS): CSC solicits online customer information on a voluntary basis and the IRTS collects and reports this information for internal use.
  • CSC Dynamic Product Pages (CSC home page): This system kept track of CSC products and descriptions, allowing employees to update the system with new products before in-system managerial review allowed their display in a standardized format on the home page.


Security+ CompTIA, 2014-2019

Projects & Interests

Stack Overflow, http://stackoverflow.com/users/1028230, November 2011 - Current

Written 126 answers. Active in javascript, jslint, c#, sql and mono.

GitHub - SqlDbSharp, https://github.com/ruffin--/SqlDbSharp, November 2013 - December 2015


SqlDB# (Moore's Database) is a simplest-case, minimally viable, embeddable, YesSQL datastore, written in C# and designed for crossplatform application prototyping.

Original author and current maintainer.

GitHub - PerlRunner, https://github.com/ruffin--/PerlRunner, January 2015 - February 2015


Stand-alone desktop Windows application to edit & execute Perl scripts. Open file, edit, hit F5, profit. Disclaimer: It's not an IDE.

Original author and current maintainer. Honestly, I can't believe there's nothing [free &] this handy for Perl written "natively" for Windows already. There may be, but all I've found is an Eclipse plugin and a project that released v1.0 and went silent.

SourceForge - Obsolete: Open ActiveX ArcIMS Template (OAAT), http://sourceforge.net/projects/oaat

The Open ActiveX ArcIMS Template is a pre-built, modular, generic, reusable codebase for use with ESRI's ArcIMS version 3+ Internet Mapping Server's ActiveX Connector, created with dhtml, ASP 3, and vbscript for use on Microsoft IIS.


Meaning And Culture of Grand Theft Auto: Critical Essays

Playing the Past: History and Nostalgia in Video Games (chapter as pdf)

Restarting Static: Television's Digital Reboot

This article examines the digital television (DTV) transition with particular focus on technical protocols, political and legal decisions, and home hardware. We argue that approaching DTV as a 'reboot' serves as a model for investigating digital transitions more broadly in a new model of public service.


First Computer: C=64

Favorite Editor: VIm