Click here to Skip to main content
15,442,472 members

Articles by David A. Gray (Articles: 19, Tip/Tricks: 10, References: 5)

Articles: 19, Tip/Tricks: 10, References: 5

RSS Feed

Average article rating: 4.58

Database Development
SQL Server
26 Oct 2008   Updated: 26 Oct 2008   Rating: 3.25/5    Votes: 4   Popularity: 1.96
Licence: CPOL    Views: 27,451     Bookmarked: 17   Downloaded: 381
Please Sign up or sign in to vote.
MD5 Digest XSP with error trapping and full Unicode support, in and out.
General Programming
Debugging
8 Jun 2017   Updated: 8 Jun 2017   Rating: 5.00/5    Votes: 11   Popularity: 5.21
Licence: CPOL    Views: 17,193     Bookmarked: 16   Downloaded: 283
Please Sign up or sign in to vote.
Historically, ETW has been portrayed as having a very steep learning curve, along the lines of the effort required to summit Everest. Realizing its potential value, I set about to reduce the effort to that required to summit Pike's Peak.
Programming Languages
C
4 Aug 2018   Updated: 4 Aug 2018   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: CPOL    Views: 8,322     Bookmarked: 9   Downloaded: 79
Please Sign up or sign in to vote.
Beware the abandoned stack frame, for it can be plundered at will.
C#
12 Jun 2016   Updated: 12 Jun 2016   Rating: 3.86/5    Votes: 3   Popularity: 1.84
Licence: CPOL    Views: 9,821     Bookmarked: 1   Downloaded: 72
Please Sign up or sign in to vote.
What happens when you have more items in your list than you have items in your control string?
16 Sep 2018   Updated: 17 Sep 2018   Rating: 5.00/5    Votes: 5   Popularity: 3.49
Licence: CPOL    Views: 12,912     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
Some claim that it's hard to use DocFX to generate GitHub Pages, but I discovered that it is pretty straightforward, once you mark all the booby traps.
23 Jun 2019   Updated: 23 Jun 2019   Rating: 4.00/5    Votes: 2   Popularity: 1.20
Licence: CPOL    Views: 10,035     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
Some JSON strings need a little help fitting into a C# object.
10 May 2015   Updated: 10 May 2015   Rating: 4.67/5    Votes: 7   Popularity: 3.94
Licence: CPOL    Views: 14,910     Bookmarked: 5   Downloaded: 202
Please Sign up or sign in to vote.
This article describes a class that adds color to console program displays.
19 Jun 2019   Updated: 23 Jun 2019   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 10,112     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
This is the first of a two-part series about string conversion issues that recently arose in my practice.
C# 3.5
7 Sep 2014   Updated: 7 Sep 2014   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 13,312     Bookmarked: 10   Downloaded: 1
Please Sign up or sign in to vote.
Join me for an adventure in time zone conversion.
16 Jun 2016   Updated: 16 Jun 2016   Rating: 3.50/5    Votes: 3   Popularity: 1.67
Licence: CPOL    Views: 8,340     Bookmarked: 2   Downloaded: 58
Please Sign up or sign in to vote.
When I needed to compute the Daylight Saving Time transitions for any year, I had to dig a bit deeper into the time zone information stored in the Windows Registry.
C# 7.0
2 Sep 2018   Updated: 7 Oct 2018   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: BSD    Views: 7,040     Bookmarked: 2   Downloaded: 113
Please Sign up or sign in to vote.
This article demonstrates a class library that supports command line parameters with default values stored in application settings.
C++
10 Apr 2019   Updated: 10 Apr 2019   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 11,103     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
The article walks through the steps necessary to create native Windows on Arm builds of several popular libraries.
Typescript
1 Jun 2018   Updated: 7 Jun 2018   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 9,874     Bookmarked: 0   Downloaded: 59
Please Sign up or sign in to vote.
If you use the Angular CLI, you need a custom command prompt, along the lines of the Visual Studio Developer Tools command prompt.
VC++
8 Apr 2015   Updated: 2 Jun 2015   Rating: 4.75/5    Votes: 3   Popularity: 2.27
Licence: CPOL    Views: 13,010     Bookmarked: 12   Downloaded: 411
Please Sign up or sign in to vote.
Use static buffers to guarantee that error message reporting succeeds, even when token replacement is required, and memory is low.
1 Jun 2015   Updated: 19 Jan 2016   Rating: 4.95/5    Votes: 18   Popularity: 6.22
Licence: CPOL    Views: 23,290     Bookmarked: 17   Downloaded: 120
Please Sign up or sign in to vote.
This article documents issues that I have identified in the new secure overloads of the CRT buffered print routines.
Visual Basic
17 Jun 2016   Updated: 17 Jun 2016   Rating: 3.47/5    Votes: 8   Popularity: 3.13
Licence: CPOL    Views: 13,670     Bookmarked: 9   Downloaded: 309
Please Sign up or sign in to vote.
A Microsoft Excel worksheet for accurate, easy, fast design and application of Windows forms and resource strings
XML
3 Apr 2017   Updated: 1 Aug 2021   Rating: 5.00/5    Votes: 16   Popularity: 6.02
Licence: BSD    Views: 14,231     Bookmarked: 20   Downloaded: 235
Please Sign up or sign in to vote.
Though useful and mostly harmless, pitfalls can lead unwary developers astray.
Web Development
HTML
7 May 2015   Updated: 12 Jul 2016   Rating: 5.00/5    Votes: 6   Popularity: 3.89
Licence: BSD    Views: 17,111     Bookmarked: 4   Downloaded: 153
Please Sign up or sign in to vote.
Share Win32 string resources without the risk of conflicting resource IDs
25 Jun 2016   Updated: 12 Jul 2016   Rating: 4.92/5    Votes: 15   Popularity: 5.64
Licence: BSD    Views: 18,783     Bookmarked: 10   Downloaded: 186
Please Sign up or sign in to vote.
The Excel powered resource generator, version 2, is vastly improved and better documented.
Node.js
25 Apr 2017   Updated: 25 Apr 2017   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 8,121     Bookmarked: 0   Downloaded: 49
Please Sign up or sign in to vote.
This article describes a handful of powerful shell scripts that I use to further automate my Angular 2 application development.

Average blogs rating:

No blogs have been submitted.

Average tips rating: 4.25

Desktop Programming
Win32
10 Jan 2016   Updated: 27 Feb 2016   Rating: 4.75/5    Votes: 4   Popularity: 2.86
Licence: CPOL    Views: 9,402     Bookmarked: 7   Downloaded: 0
Please Sign up or sign in to vote.
Operating Systems
Windows
24 Apr 2018   Updated: 24 Apr 2018   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: CPOL    Views: 6,571     Bookmarked: 8   Downloaded: 0
Please Sign up or sign in to vote.
Run many (hundreds, even) files through a program or script, using nothing but CMD.EXE.
15 Jul 2019   Updated: 17 Jul 2019   Rating: 4.65/5    Votes: 8   Popularity: 4.20
Licence: CPOL    Views: 10,341     Bookmarked: 11   Downloaded: 0
Please Sign up or sign in to vote.
I finally discovered a reliable way to use the same file from two or more directories.
Programming Languages
C
17 Jul 2016   Updated: 17 Jul 2016   Rating: 4.82/5    Votes: 6   Popularity: 3.75
Licence: CPOL    Views: 7,571     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
Sparsely documented cause of compiler error C2143
C#
17 Nov 2017   Updated: 17 Nov 2017   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: BSD    Views: 5,800     Bookmarked: 0   Downloaded: 46
Please Sign up or sign in to vote.
Calculating the day on which a reporting period that ends on a specific day of the week is not as easy as it looks.
C# 4.0
1 May 2015   Updated: 14 Jan 2020   Rating: 3.52/5    Votes: 6   Popularity: 2.74
Licence: CPOL    Views: 31,103     Bookmarked: 22   Downloaded: 82
Please Sign up or sign in to vote.
The routines in this library can parse any string that I can throw at it, including Common Name strings read from X.509 Digital Certificates.
C++
11 Nov 2016   Updated: 11 Nov 2016   Rating: 4.67/5    Votes: 2   Popularity: 1.40
Licence: CPOL    Views: 8,562     Bookmarked: 5   Downloaded: 0
Please Sign up or sign in to vote.
This tip describes how I resolved a C4183 compiler error emitted by the Visual C++ 2013 compiler.
VC++
1 Jun 2015   Updated: 1 Jun 2015   Rating: 2.50/5    Votes: 4   Popularity: 1.51
Licence: CPOL    Views: 9,490     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
Variable scope in C++ can be devastatingly subtle, as in this function.
Visual C++ 12.0
28 Jun 2015   Updated: 28 Jun 2015   Rating: 3.89/5    Votes: 4   Popularity: 2.34
Licence: CPOL    Views: 8,210     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
While you can often get away with ignoring compiler warnings, failing to at least scan them can bite hard!
Web Development
HTML
5 Jan 2018   Updated: 5 Jan 2018   Rating: 3.67/5    Votes: 2   Popularity: 1.10
Licence: CPOL    Views: 5,751     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
URL Encoded Text is URL Encoded Text, wherever you find it, even if it happens to be in and old school Windows INI file.

Average reference rating: 5.00

DevOps
28 Jun 2016   Updated: 28 Jun 2016   Rating: 5.00/5    Votes: 5   Popularity: 3.49
Licence: CPOL    Views: 10,044     Bookmarked: 6   Downloaded: 237
Please Sign up or sign in to vote.
A reference chart that doubles as the engine behind a data structure mapper
4 Apr 2019   Updated: 4 Apr 2019   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 9,892     Bookmarked: 8   Downloaded: 179
Please Sign up or sign in to vote.
Here I present a cheat sheet that I assembled for my own use, in the hope that others may as well find it useful.
Operating Systems
Windows
14 May 2019   Updated: 14 May 2019   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 3,130     Bookmarked: 1   Downloaded: 106
Please Sign up or sign in to vote.
Use this reference table to expedite the use of specialized fonts, such as Wingdings.
29 Dec 2018   Updated: 29 Dec 2018   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 4,842     Bookmarked: 8   Downloaded: 125
Please Sign up or sign in to vote.
When the command-line help falls short, we improvise.
Programming Languages
C
20 Jun 2018   Updated: 20 Jun 2018   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 5,421     Bookmarked: 2   Downloaded: 37
Please Sign up or sign in to vote.
This article demonstrates every documented strftime substitution token, and provides a tool to generate your own list for your platform.

Average project rating:

No projects have been posted.
Software Developer (Senior)
United States United States
I deliver robust, clean, adaptable, future-ready applications that are properly documented for users and maintainers. I have deep knowledge in multiple technologies and broad familiarity with computer and software technologies of yesterday, today, and tomorrow.

While it isn't perceived as sexy, my focus has always been the back end of the application stack, where data arrives from a multitude of sources, and is converted into reports that express my interpretation of The Fundamental Principle of Tabular Reporting, and are the most visible aspect of the system to senior executives who approve the projects and sign the checks.

While I can design a front end, I prefer to work at the back end, getting data into the system from outside sources, such as other computers, electronic sensors, and so forth, and getting it out of the system, as reports to IDENTIFY and SOLVE problems.

When presented with a problem, I focus on identifying and solving the root problem for the long term.

Specialties: Design: Relational data base design, focusing on reporting; organization and presentation of large document collections such as MSDS libraries

Development: Powerful, imaginative utility programs and scripts for automated systems management and maintenance

Industries: Property management, Employee Health and Safety, Services

Languages: C#, C++, C, Python, VBA, Visual Basic, Perl, WinBatch, SQL, XML, HTML, Javascript

Outside Interests: Great music (mostly, but by no means limited to, classical), viewing and photographing sunsets and clouds, traveling by car on small country roads, attending museum exhibits (fine art, history, science, technology), long walks, especially where there is little or no motor traffic, reading, especially nonfiction and thoughtfully written, thought provoking science fiction