Kilt and Code
Kilt and Code
Using Angular’s EventEmitter to Share Data Between Child and Parent Components

Using Angular’s EventEmitter to Share Data Between Child and Parent Components

By Steven McLintock on

There are often scenarios in Angular where we need to communicate between components, specifically to send data from a child component to it’s parent component. Consider this Angular 12 app for managing a to do list: Read more

Deep-fried Jekyll Theme: Open-Sourcing my Blog Theme

Deep-fried Jekyll Theme: Open-Sourcing my Blog Theme

By Steven McLintock on

It’s been a little over 2 years now since I created this website and started writing blog posts on whatever I found interesting. Mostly on software and web development, such as Best Practices for Writing Unit Tests in C# for Bulletproof Code, Show Validation Error Messages for Reactive Forms in A... Read more

Auto-Generate Insert Statements With Data Using SQL Server Management Studio

Auto-Generate Insert Statements With Data Using SQL Server Management Studio

By Steven McLintock on

If you are working with a database in SQL Server Management Studio (SSMS), you may find you need a way to auto-generate INSERT statements with the data from a table. This might be for inserting the data into a different database for testing purposes, or simply as a backup. Read more

Creating a Web API Using Only the .NET CLI and Visual Studio Code

Creating a Web API Using Only the .NET CLI and Visual Studio Code

By Steven McLintock on

Have you ever wondered if you could use the .NET CLI and Visual Studio Code to build a new .NET application, instead of relying on Visual Studio to do all of the heavy lifting? Read more

Using MERGE in SQL Server to do an INSERT or UPDATE on a Table

Using MERGE in SQL Server to do an INSERT or UPDATE on a Table

By Steven McLintock on

I’ve never really made much use of the MERGE statement in SQL Server, but the other day I wanted to do either an INSERT or an UPDATE on a table, depending on if there’s a match on a particular column. Read more

2 Years of Kilt and Code

2 Years of Kilt and Code

By Steven McLintock on

It’s been 2 years since I wrote the first article for this website, and nobody is more surprised than me that I’ve not got bored with it yet. Seriously - there is a shockingly high percentage of blogs that fail after the first few months, and I’m just glad this one hasn’t (yet!). Read more

Using Verify, Setup and Callback in the Moq Mocking Framework

Using Verify, Setup and Callback in the Moq Mocking Framework

By Steven McLintock on

Back in 2019 I wrote an article on Best Practices for Writing Unit Tests in C# for Bulletproof Code. This has become one of my more popular articles, and despite it approaching 2 years old, the best practices mentioned are still relevant today. I touched upon the popular mocking framework Moq, bu... Read more

Using MediatR Request Handlers in ASP.NET Core to Decouple Code

Using MediatR Request Handlers in ASP.NET Core to Decouple Code

By Steven McLintock on

MediatR, by it’s definition, is a simple, unambitious mediator implementation in .NET. It was released in 2014 by Jimmy Bogard and is a useful package that can be used to implement the popular mediator pattern in .NET projects. It’s available on NuGet and is also open-source on GitHub. Read more

How to Install and Use SQLite on Windows

How to Install and Use SQLite on Windows

By Steven McLintock on

Unlike modern versions of macOS, SQLite isn’t installed by default on Windows. If you’re using Windows like I am, you need to complete a few extra steps before you can start using it. Read more

Scrape the 500 Greatest Albums of All Time using Puppeteer Sharp

Scrape the 500 Greatest Albums of All Time using Puppeteer Sharp

By Steven McLintock on

As a keen Spotify user that is always in search of new albums and artists to listen to, I was particularly interested when I heard that Rolling Stone magazine announced a new, updated list of their 500 Greatest Albums of All Time for 2020. Read more

Show Validation Error Messages for Reactive Forms in Angular 9

Show Validation Error Messages for Reactive Forms in Angular 9

By Steven McLintock on

In Angular there are two different types of forms for a user to input data: reactive and template-driven. I personally prefer using reactive forms as they seem to follow the separation of concerns principle, where the core functionality is in the component and the presentation layer is stored in ... Read more

How to Create a Time-Based Caching Service for Angular

How to Create a Time-Based Caching Service for Angular

By Steven McLintock on

If you’re interested in building a caching service for Angular that will store the observable for a HTTP call in cache, there is an excellent article by Yury Katkov that will explain exactly how to do this using RxJS. Read more

What Is the Angular Template Syntax and How Does It Work?

What Is the Angular Template Syntax and How Does It Work?

By Steven McLintock on

Have you ever looked for a piece of HTML in the code of an Angular app and found something similar to <ng-container *ngTemplateOutlet=”navBarTemplate”></ng-container> instead? Read more

Play Nintendo 64 Games on Your PC Using Project64

Play Nintendo 64 Games on Your PC Using Project64

By Steven McLintock on

I think most gamers would say they have a favorite “all time” video game console. Maybe you don’t have one, or maybe you’ve got a few, but for me it has to be the Nintendo 64. Read more

How to Add Bootstrap 4 to an Angular 10 App

How to Add Bootstrap 4 to an Angular 10 App

By Steven McLintock on

I was trying to add Bootstrap 4 to an Angular 10 app recently and it was more difficult than I expected. We’re able to add Bootstrap 4 easily using NPM (Node Package Manager), but we still need to install and configure the scripts and dependencies. This can result in a visit to StackOverflow whic... Read more

Delete Unused Images from a Jekyll Website using Powershell

Delete Unused Images from a Jekyll Website using Powershell

By Steven McLintock on

When I moved my website from WordPress to Jekyll, a lot of unnecessary images were transferred over that were increasing the size of the GitHub repository by as much as 40%. Read more

How to Create an Angular 9 App From Scratch

How to Create an Angular 9 App From Scratch

By Steven McLintock on

Roughly a year ago I was beginning a new job where one of the requirements was to use Angular on a daily basis. There was only one problem, I’d never used Angular before. I’d been honest in the interview, saying I’d had a brief introduction to the React framework, but not Angular. Thankfully they... Read more

My Thoughts on Microsoft Build 2020

My Thoughts on Microsoft Build 2020

By Steven McLintock on

Microsoft Build 2020 is over for another year, but for those of us that didn’t get a chance to watch the live stream, now is the perfect time to watch all of those sessions recorded over the last few days. Read more

Creating Your Own Custom Attributes in C# and Retrieving Their Values

Creating Your Own Custom Attributes in C# and Retrieving Their Values

By Steven McLintock on

You would think after using a programming language for years that you’ve seen it all - we all know this simply isn’t the case. Custom attributes is a feature of C# that I had seen being used by others, but had never actually used myself. Well, it’s time to change that! Read more

The Making of Visual Studio: Channel 9 Documentary

The Making of Visual Studio: Channel 9 Documentary

By Steven McLintock on

If you’re like me, you’re currently in self-isolation during the COVID-19 pandemic - spending a lot more time indoors than usual. Read more

How to Create a Blog Using Jekyll and GitHub Pages on Windows

How to Create a Blog Using Jekyll and GitHub Pages on Windows

By Steven McLintock on

Nearly a year ago I migrated from the popular blogging platform WordPress to the static site generator Jekyll. Why am I and thousands of other bloggers deciding to move to a static site generator? It’s a no-brainer! Why should we install security updates, manage plugins and tune the performance o... Read more

My Journey to Becoming a Full Stack Developer

My Journey to Becoming a Full Stack Developer

By Steven McLintock on

Do you remember the early 2000’s when there was no Facebook, YouTube or iPhone? The technology landscape was very different at the time. Read more

25+ Visual Studio Code Extensions That Are Worth Installing

25+ Visual Studio Code Extensions That Are Worth Installing

By Steven McLintock on

Visual Studio Code is a code editor that has me falling head over heels for full stack development all over again. Visual Studio’s younger sibling, Visual Studio Code is built using the Electron framework, is open source and was recently announced as the default development environment at Faceboo... Read more

Using Angular 8 to Create a Simple Form with FormBuilder

Using Angular 8 to Create a Simple Form with FormBuilder

By Steven McLintock on

If you’ve chosen to use Angular to build the UI for your web application, or find yourself using it in an existing project, the chances are high that you’re going to create a form at some point. When I was searching for how to build one myself, I found there were several contradicting examples fo... Read more

Coming to Canada: Immigrating to Toronto as a .NET Developer

Coming to Canada: Immigrating to Toronto as a .NET Developer

By Steven McLintock on

In January 2017 I immigrated to Toronto, Canada with my wife (a Canadian citizen born in Toronto). We met in Glasgow, Scotland where she was studying as an international student and after dating for a few years, we married in Edinburgh in January 2016. A year later we’d been told by the Canadian ... Read more

Microsoft FrontPage: Revisiting the WYSIWYG HTML Editor in 2019

Microsoft FrontPage: Revisiting the WYSIWYG HTML Editor in 2019

By Steven McLintock on

In the late 1990’s and early 2000’s, before platforms such as WordPress and Squarespace offered non-programmers the ability to build websites, there were WYSIWYG (What You See Is What You Get) tools, one of these being Microsoft FrontPage. Read more

Best Practices for Writing Unit Tests in C# for Bulletproof Code

Best Practices for Writing Unit Tests in C# for Bulletproof Code

By Steven McLintock on

In my experience, developers have a love hate relationship with unit testing. I don’t know if some find it tedious, or some just don’t see the value in writing code to verify if other code works. Read more

Puppeteer Sharp: Crawl the Web using C# and Headless Chrome

Puppeteer Sharp: Crawl the Web using C# and Headless Chrome

By Steven McLintock on

Puppeteer Sharp is a port of the popular Headless Chrome NodeJS API built by Google. Puppeteer Sharp was written in C# and released in 2017 by Darío Kondratiuk to offer the same functionality to .NET developers. Read more

Azure Logic Apps: How to use Microsoft’s Serverless & Codeless Integration Platform

Azure Logic Apps: How to use Microsoft’s Serverless & Codeless Integration Platform

By Steven McLintock on

Azure Logic Apps is a powerful serverless integration platform released by Microsoft in 2016. The definition of a 'Logic App' is open to interpretation (in my opinion), as the user defines what the Logic App is by integrating many different applications and services to accomplish their goal. Read more

How to use Azure Batch Job Schedule

How to use Azure Batch Job Schedule

By Steven McLintock on

This is a follow-up to the article ‘Using Azure Batch to Orchestrate and Execute Code at Large-Scale’. If you are unfamiliar with Azure Batch, you may find it useful to read this first. Read more

Using Azure Batch to Orchestrate and Execute Code at Large-Scale

Using Azure Batch to Orchestrate and Execute Code at Large-Scale

By Steven McLintock on

Azure Batch is not a new technology by Microsoft, but for some reason it doesn’t seem to be receiving as much attention as similar Microsoft cloud platforms: Azure Functions and Logic Apps. Read more