hello.js

var please = require('share');
console.log('thank you');

NEW !!!

Saturday, 25 January, 2020 UTC

A Custom Renderer Extension for Markdig

A couple years ago I decided to stop using Windows Live Writer for authoring blog posts and build my own publishing tools using markdown and VSCode. Live Writer was a fantastic tool during its heyday, but some features started to feel cumbersome. Adding ... more


Monday, 13 January, 2020 UTC

Solving Access Denied in Crypto Machine Keys

Previously on OdeToCode I posted about tracking down an AspNetCore build error. Once I realized the access denied message came from the ProgramData\Microsoft\Crypto\RSA\MachineKeys folder, I went searching for reasons why this might happen, and to find ... more


Monday, 7 October, 2019 UTC

UseNodeModules Updated for .NET Core 3

UseNodeModules is a NuGet package I put together a few years ago. The package gives you an easy way to install middleware for serving content directly from the node_modules folder in an ASP.NET Core project. public void Configure(IApplicationBuilder ... more


Tuesday, 24 September, 2019 UTC

The Blazor Bet

Today's release of .NET Core 3 is significant. By supporting Windows desktop development and dropping support for the full .NET framework, v3 makes a statement - not only is .NET Core here to stay, but .NET Core is the future of .NET. Included in all ... more


Wednesday, 28 August, 2019 UTC

Question and Answers from Pluralsight LIVE! 2019

Here are some questions, with answers, from my interview session at Pluralsight LIVE!. How did you get started in .NET programming? I was working for a Microsoft shop when Microsoft first released .NET. At the time I was writing COM components in C++. ... more


Thursday, 13 June, 2019 UTC

MVC 5 In Retrospect

I've been in the guts of an ASP.NET MVC 5 application lately and have some more perspective on the improvements we take for granted in ASP.NET Core. Tag helpers are far easier to read and write compared to HTML helpers. There were days when I wanted ... more


Wednesday, 17 April, 2019 UTC

Load Testing on the Web with K6

There are hundreds of performance testing tools for the web. The tool I’ve been using the most for the last 10 years is a part of the web test tools in Visual Studio. Microsoft officially deprecated these tools with the 2019 release. The deprecation ... more


Thursday, 7 March, 2019 UTC

.NET Core Opinion 10 – Move More Code Out of Startup

In a previous opinion, we looked at the responsibilities of the Startup class in ASP.NET Core. A consistent problem I run across in code reviews is the amount of code that gravitates into the Startup class, making the entire file cluttered and not well ... more


Tuesday, 5 March, 2019 UTC

Debugging .NET Builds with the MSBuild Structured Log Viewer

I was trying to debug a dotnet publish operation on an ASP.NET Core project recently and becoming irrational after staring at MSBuild log files for too long. MSBuild does all the heavy lifting in dotnet publish and build operations. That’s when I discovered ... more


Tuesday, 2 October, 2018 UTC

Thoughts on Azure DevOps

I’ve been using Azure DevOps since the early days when the service carried the name Visual Studio Online . I’ve used the service for both professional projects and personal projects, and I’ve enjoyed the service so much I’ve demonstrated and recommended ... more


Friday, 21 September, 2018 UTC

.NET Core Opinion #4 - Increase Productivity with Dev Scripts

In a previous post I mentioned that a scripts directory can be a welcome addition to any source code repository. What goes into scripts ? Anything you can automate to make a developer’s life easier! Examples for Inspiration Here’s a script I’ve used ... more


Tuesday, 4 September, 2018 UTC

Using npm During ASP.NET Core Git Deployments in Azure App Services

If you use npm to manage client-side dependencies for ASP.NET Core applications, and you deploy to Azure App Services using Git, then you need a way to run an npm install during deployment in App Services. There are a few options available for customizing ... more


Thursday, 30 August, 2018 UTC

Counting Array Entries in a Cosmos DB Document

I’ve been trying to figure out the most efficient approach to counting matches in a Cosmos DB array, without redesigning collections and documents. To explain the scenario, imagine a document based on the following class. class Patient { [JsonProperty(PropertyName ... more


Monday, 2 July, 2018 UTC

Customizing Node.js Deployments for Azure App Services

In my Developing with Node.js on Azure course I show how to setup a Git repository in an Azure App Service. When you push code into the repository, Azure will use heuristics to figure out the type of application you are pushing into the repository. The ... more


Monday, 25 June, 2018 UTC

New and Updated Azure Course for Node.js Developers

In addition to the .NET course, I've completely updated my Developing with Node.js on Azure course. In the course we'll build and deploy web applications, work with with Azure SQL and Cosmos DB, store files in Azure storage, develop and deploy Azure ... more


Monday, 10 July, 2017 UTC

Thoughts on Azure Functions and Serverless Computing

For the last 10 months I’ve been working with Azure Functions and mulling over the implications of computing without servers. If Azure Functions were an entrée, I’d say the dish layers executable code over unspecified hardware in the cloud with a sprinkling ... more


Tuesday, 20 June, 2017 UTC

Developing with Node.js on Microsoft Azure

Catching up on announcements … About 3 months ago, Pluralsight released my Developing with Node.js on Microsoft Azure course. Recorded on macOS and taking the perspective of a Node developer, this course shows how to use Azure App Services to host a ... more


Monday, 24 April, 2017 UTC

ASP.NET Configuration Options Will Understand Arrays

Continuing on topics from code reviews. Last year I saw some C# code working very hard to process an application config file like the following: { "Storage": { "Timeout": "25", "Blobs": [ { "Name": "Primary", ... more


Thursday, 16 February, 2017 UTC

Notes for Getting Started with Power BI Embedded

Doing some work where I thought Power BI Embedded would make for a good solution. The visuals are appealing and modern, and for customization there is the ability to use D3.js behind the scenes. I was also encouraged to see support in Azure for hosting ... more


Monday, 6 February, 2017 UTC

Anti-Forgery Tokens and ASP.NET Core APIs

In modern web programming, you can never have too many tokens. There are access tokens, refresh tokens, anti-XSRF tokens, and more. It’s the last type of token that I’ve gotten a lot of questions about recently. Specifically, does one need to protect ... more


Thursday, 1 December, 2016 UTC

Building Vendor and Feature Bundles with webpack

The joke I’ve heard goes like this: I went to an all night JavaScript hackathon and by morning we finally had the build process configured! Like most jokes there is an element of truth to the matter. I’ve been working on an application that is mostly ... more


Tuesday, 29 November, 2016 UTC

AddFeatureFolders and UseNodeModules On Nuget For ASP.NET Core

Here are a few small project I put together last month. AddFeatureFolders I think feature folders are the best way to organize controllers and views in ASP.NET MVC. If you aren’t familiar with feature folders, see Steve Smith’s MSDN article: Feature ... more


Wednesday, 16 November, 2016 UTC

Getting Started with Reactive Programming Using RxJS

My latest course is now available on Plurasight. From the description: Reactive programming is more than an API. Reactive programming is a mindset. In this course,you'll see how to setup and install RxJS and work with your first Observable and Observer. ... more


Tuesday, 25 October, 2016 UTC

ASP.NET Core and the Enterprise Part 2: Hosting

The hosting model for ASP.NET Core is dramatically different from previous versions of ASP.NET. This is also one area where I’ve seen a fair amount of misunderstanding. ASP.NET Core is a set of libraries you can install into a project using the NuGet ... more


Tuesday, 4 October, 2016 UTC

The Troubles With JavaScript Modules

This post is one in a series of posts where I describe common problems developers face using ES2015 features of JavaScript. In this post we look at modules. The Syntax Pitfall The first pitfall developers hit when using modules is making assumptions ... more


Tuesday, 13 September, 2016 UTC

The Troubles with JavaScript Classes

Over the summer I gave a talk titled “The New Dragons of JavaScript”. The idea was to provide, like the cartographers of the Old World, a map of where the dragons and sea serpents live in the new JavaScript feature landscape. These mythological beasts ... more


Thursday, 1 September, 2016 UTC

The Troubles with JavaScript Arrow Functions

Over the summer I gave a talk titled “The New Dragons of JavaScript”. The idea was to provide, like the cartographers of the Old World, a map of where the dragons and sea serpents live in the new JavaScript feature landscape. These mythological beasts ... more


Thursday, 12 May, 2016 UTC

Everything You Need To Program Components In Angular 1.5

The 1.5 release of Angular JS is a release you should take a close look at if you, like me, still have some Angular 1 work to do. The new component based programming model simplifies application development with Angular by providing a cleaner API and ... more


Monday, 2 May, 2016 UTC

The Good and the Bad of Programming Forms in Angular 2

Compared to Angular 1, Angular 2 offer more choices for working with forms and more control over the data flow between a form and a model. However, I feel that Angular 2 provides form-related APIs and directives that are quirky and confusing, while also ... more


Tuesday, 22 March, 2016 UTC

Reusing JavaScript Template Literals

The word template in web programming makes one think of a reusable document or string you can combine with model data to produce output. Famous examples include Razor, Jade, and Handlebars. Template literals in JavaScript are not templates in this same ... more