My name is Robert Pinchbeck, and I am a professional software engineer
specializing in Microsoft .NET development technologies. I have extensive experience
with developing enterprise software applications using Microsoft development tools
and platforms. I hold several Microsoft Developer Certifications
including MCSD: App Builder, MCSD: Web Applications, MCPD: Web Developer, MCSD in .NET, and MCTS in
SQL Server and .NET Framework. I am also a Certified Scrum Developer® and a Certified ScrumMaster®
Currently, I am a developer for an online accounting software company where I design, develop, and refactor web applications and services used by more than a million customers and their businesses.
I have expert technical qualifications with Microsoft tools and technologies including C#, ASP.NET, MVC,
XML/XSLT, IIS, SharePoint, TFS, and all Windows desktop and server products.
To demonstrate the quality of my work and coding style, here are some sample projects
that I have completed.
The generated script is randomized to prevent robots from detecting the hyperlink, and it is also minified for easy inclusion in web pages.
This is a simple ASP.NET MVC Core 2.0 application running in a Docker container in the cloud (Azure).
ABNF To ANTLR
This is a simple web application I wrote to translate any ABNF
grammar to an ANTLR grammar. The
resulting ANTLR grammar should be syntactically correct; however, some ABNF grammars
are inherently ambiguous and ANTLR will complain about them until the ambiguity
is resolved by the user. The translator uses parser and lexer components generated
by the excellent ANTLR toolset.
This is a fully managed .NET Windows Forms program that I wrote for my college
course on machine vision. The application uses Click-Once Deployment and can run
over the internet on any .NET enabled platform. As my final project
for the course, Imaging.NET implements various image processing algorithms including
filtering, thresholding, boundary following, component labeling, expanding, shrinking,
and thinning. Users can draw their own images using the image editor or load
an image from disk. An undo stack is provided for all editing and image processing
operations. For small images, animation is provided to demonstrate how each
algorithm performs. The program uses no third party controls; all features
are written entirely in .NET.
This is a simple ASP.NET Web Forms program that I wrote to let my friends and
family browse the details of my college experience. The application is designed
and/or Cascading Stylesheets. The implementation relies on a Databound Custom
Web Control that processes and presents the results of database
queries in response to form submissions. Users can sort, filter, and select
different views of the data.
This is a fully managed .NET implementation of the popular Red Black Tree data structure.
The class is enumerable and employs a top-down approach (no recursion and no parent
pointers). Because Red Black Trees are balancing binary trees, stored objects
are automatically enumerated in sorted order. Any objects that can be compared
by the .NET framework (IComparable or IComparer) can be inserted and retrieved from
the Red Black Tree in O(Log N) time. This class is effectively obsolete, since
.NET includes a SortedDictionary class which is just as efficient,
but it was very handy for .NET 1.1 applications that needed a fast, sorted, enumerable
data structure. My original Imaging.NET application made extensive use of
The .NET framework does not provide a native StringStream class. This implementation
of StringStream permits both read and write operations while guaranteeing space
efficiency. The StringStream keeps a reference to the initial string and uses
it for read operations; however, if a write
operation is attempted, the StringStream converts itself into a MemoryStream
for all future operations.
U.S. Census Publications Database
This application is used by all U.S. Census Research Data Centers to track their
projects and publications. The application is implemented in Microsoft Access
with tables to store projects, status, authors, titles, editors, publishers, places,
and other similar information. Users enter data on a master form that provides
several detailed views. Specialized reports are provided to generate required
documentation (spreadsheets) for internal use.
on Electronic Voting
on the London Ambulance Service Computer Aided Dispatch System
In college, I wrote many papers about the field of software engineering.
I am including links to some of these papers with the caveat that my business writing
style is considerably more concise than my college writing style.