Coding -- Data Tiers and Stand-alones
Essentially all of my projects are coding projects, but this section highlights projects that tend to have standardized on a single development suite. So where my Web projects invoke a hodge-podge of Javascript libraries, html, and often undifferentiated PHP code, these projects target either data tiers comprising business logic, or are straight desktop applications designed to run on your PC or mobile device -- Windows, Linux, macOS, iOS, or Android.
Desktop Applications
I have been able to spend a good deal of time developing my own applications recently, balacning my contracting work with my own independent application development. Products have included simple mobile applications, crossplatform mobile development using C# on the Xamarin Platform to target Android and iOS.
My first application slated for conventional commercial release is MarkUpDown, what I hope will become the premier Markdown editor for Windows 10. MarkUpDown is currently in beta, and will soon be available from this page on on the Windows Store.
Open source contributions during this time include TagifyJS, a "Single-file, zero dependency, plain Javascript tag UI library that's easy to use," and SqlDbSharp, an open-source, zero-dependency C#-native relational database management system that I wrote in my "spare" time to help when prototyping cross-platform applications.
Much older app development includes an old shareware application, The Digest Handler, written in Java, and Build-a-PIVOT (BaP), a pretty creative, hands-free way to build capacity for one of the NOAA Coastal Services Center's largest stakeholders, coastal resource managers. BaP not only showed users the kinds of information that they needed to create a useful website, but after they'd completed a directed questionaire, the application produced a useful, well-designed website for them to publish immediately (or edit to their liking, if they had HTML skills in-house) when they were done. It was a sort of very serious madlib.
Examples in more detail:
- MarkUpDown (C#, UWP, Node.js)
- TagifyJS (Pure, zero-dependency JavaScript)
- SqlDb# (C#, PCL)
- PIVOT (Visual Basic 6.0, Desaware ActiveX Gallimaufry, Windows APIs, Microsoft Internet Control)
- The Digest Handler (Java, JavaMail API, Kunststoff Look & Feel, Platform-specific delivery tools)
Data Tier (RDBMS) Applications
In brief, my data tier work have processed data from a number of relational databases, including Microsoft SQL Server, Oracle, Sybase, MySQL, and SQLite. This database design has interfaced to clients in a number of different ways, including:
- .NET MVC code
- Direct access vs. ADO.NET
- Wrapped by ORMs
- NHibernate (PeopleMatter)
- LINQ to Entities (MessageFactory)
- "Codebehind" in
- aspx pages
- Java Sever Pages
- Even COM and Java referenced in Classic ASP
- Windows Communication Foundation (WCF) based classes
- WCF extensively in Army Mapper
- "Raw" Web Services Description Language (WSDL) & JSON.
- WSDL in Army Mapper and DHEC
- JSON endpoints in most of my applications
The data tier code is where serious IP lives, and though I would prefer to post Entity Relationship Diagrams (ERDs), this is a place where my clients would prefer I don't. I do have code examples and ERDs locally that I would be happy to demonstrate in an interview environment.
That said, you can get a feel for my ability to solve complex issues in SQL with my RDBMS page.