Selling the Code In

Below is an email I sent to my father almost ten years ago to the day. I found it in my OneNote notebook (where I keep many emails and other missives) and thought it was on-topic for this programming blog. I wrote the email in response to an Op-Ed written by Michael Osinski, published in the New York Times under the headline, Steal This Code. My Dad thought it was interesting and suggested I read it. Fri 2009 Jul 17 Hi Dad, I think it’s outrageous what Goldman Sachs has done to our economy. The whole enterprise of inventing virtual […]

Encrypting a File

Previous Efforts Back in February, I decided it was time to demystify the black box of secure Internet communications. I have been a professional programmer too long to continue carrying a hazy understanding of how web browsers and servers communicate securely. I wanted to remove HTTPS / SSL / TLS from the realm of magic and place it in the realm of the known and understood– a computer algorithm implemented in C# code. So I researched the topic, learned the underlying mathematics, wrote code to prove the theory actually works in practice, then wrote three blog posts explaining what I […]

Awkwardly Phrased Book Blurb

My father has taught me to appreciate language and the precise meaning of words. Steve Martin put it best when he declared: “Some people have a way with words, and other people…oh, uh, not have way.” An example of the latter immediately jumped off the page and grabbed my attention the other night. I had received The Effective Engineer in the mail. I read a review of the book on Henrik Warne’s programming blog, which I recently subscribed to and highly recommend. So I ordered the book. Looking at the back cover, I read the following blurb written by an […]

Revert Visual Studio 2019 Syntax Highlighting Colors to 2017 Colors

Years ago there was a TV news anchor in Chicago that had a habit of emphasizing every single WORD! I was annoyed by her delivery because, of course, emphasizing every word is the same as emphasizing no words. Only much more tedious. I feel Visual Studio 2019 commits the same sin with its additional syntax highlighting colors. I’m sorry, that’s just too many words emphasized with too many colors. Visual Studio provides numerous ways to determine syntactical meaning of code words, such as a tooltip window that appears when hovering the mouse cursor over a word, F12 navigation to variable […]

The Best Domain-Specific Language for Manipulating Data is SQL

Motivation I’m not a fan of Microsoft’s Language Integrated Query (LINQ). But ranting about a language feature is an ineffective way to convince programmers of the merits of other techniques. So decided to construct a detailed example that illustrates how LINQ solves a certain problem, contrast it with a different technique, then highlight the deficiencies of LINQ and extol the virtues of my preferred technique. I happily set about creating a relational database and C# object model, then hit an impasse. When the time came to determine how to write LINQ code that maps the relational data into the C# […]