BigFont Blog

I am a software developer based in Salt Spring Island, British Columbia. This is my blog.

  • Home
  • About
  • Bibliography (Work)

I have started formatting code locally with csharpier for my own READ mode during local development.

Basically, this provides read-mode and edit-mode for local development! Start by installing CSharpier: https://csharpier.com/ dotnet tool install csharpier -gSwitch to Read Mode Format code for reading: dotnet csharpier .Read the code

  • Shaun Luttin
    Shaun Luttin
1 min read
Avoid Leaving PowerShell Side-Effects on the Pipeline
powershell

Avoid Leaving PowerShell Side-Effects on the Pipeline

In the unrelated picture, look, I have started to learn how to draw! This evening, I dug myself out of a PowerShell trap that has caught me dozens of times: leaving values on

  • Shaun Luttin
    Shaun Luttin
1 min read

Reducing the chance of TCP port exhaustion on a Windows Server.

For the first time in my career, I ran into port exhaustion. On a Windows server, our .NET 5.0 application kept exhausting the available TCP ports. The resolution, among other things, involved

  • Shaun Luttin
    Shaun Luttin
1 min read
Copy large files over a Windows Remote Desktop Connection from a terminal.
windows

Copy large files over a Windows Remote Desktop Connection from a terminal.

I find it most convenient to use tsclient. First, enable Drive Redirection. Right click on the RDP file. Go to the Local Resource Tab. Click More.... Choose Drive > OS (C:) Next, Connect

  • Shaun Luttin
    Shaun Luttin
1 min read

What kinds of mental health practitioners exists in Canada? When is each appropriate?

Mental health practitioners are a bit like nutritional supplements. It can be hard to distinguish between what's hype and what's helpful. Counsellor, psychologist, psychiatrist? Registered counselor, registered psychologist? Some person with a PhD?

  • Shaun Luttin
    Shaun Luttin
1 min read

Championing Psychological Health and Safety as an Individual Contributor at the Workplace

Set up two Slack Channels. Slack Channel #psych-health-and-safety A place to talk about evidence-based approaches to psychological health and safety in the workplace. Slack Channel #psych-health-and-safety-practice A sibling "journal" channel for psych-health-and-safety to

  • Shaun Luttin
    Shaun Luttin
1 min read
powershell

PowerShell: List TCP Connections for a Process

Get-Process -Name testhost | ForEach-Object { Get-NetTCPConnection -OwningProcess $_.Id -State Established; } | Select-Object -First 50 -Property CreationTime, OwningProcess, LocalPort, State, RemoteAddress | Sort-Object LocalPort | Format-Table

  • Shaun Luttin
    Shaun Luttin
1 min read
dotnet-core

Attach VS Code to dotnet test

First, run dotnet test from a terminal. Then open the VS Code command palette. Choose Debug: Select and Start Debugging. Debug: Select and Start DebuggingNext choose .NET Core Attach. .NET Core AttachFinally, attach

  • Shaun Luttin
    Shaun Luttin
1 min read

Checklist for the Spiral Software Development Lifecycle Model (or How to Spiral into Control)

This post contains a checklist only. It assumes the reader has familiarity with the Spiral Model of Software Development.Six InvariantsThe spiral model recommends six invariants to include in every cycle through the

  • Shaun Luttin
    Shaun Luttin
1 min read
Task: On a dark night, use a flashlight to find a diamond ring that fell into a pothole on a road that has several potholes.
software-development

Task: On a dark night, use a flashlight to find a diamond ring that fell into a pothole on a road that has several potholes.

This is an analogy about trying to find a specific bug in a codebase that has multiple bugs. It is 1 am in the morning on a moonless night. A very important person

  • Shaun Luttin
    Shaun Luttin
1 min read
He/they from my perspective as a middle aged, privileged white male living in Western Canada
life

He/they from my perspective as a middle aged, privileged white male living in Western Canada

This blog post is for those with little exposure to sex and gender conversations over the last five years or so. If you feel surprised when you see she/her, he/him, or

  • Shaun Luttin
    Shaun Luttin
4 min read

Enable long paths in Windows with PowerShell

Run this in PowerShell to overcome filename too long errors. New-ItemProperty ` -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" ` -Name "LongPathsEnabled" ` -Value 1 ` -PropertyType DWORD ` -ForceSee also: https://docs.microsoft.com/en-us/windows/win32/fileio/

  • Shaun Luttin
    Shaun Luttin
1 min read
Check whether two C# builds result in binaries that are functionally identical (within reasonable limits).
powershell

Check whether two C# builds result in binaries that are functionally identical (within reasonable limits).

I spent some of my weekend determining whether the IL changed between builds. The following script builds a solution, generates intermediate language from the build result, filters out stuff that always changes (such

  • Shaun Luttin
    Shaun Luttin
1 min read

How I tend to do salary negotiation when interviewing as an employee.

In the workplace, I value psychological safety more than I value salary. The salary negotiation strategy that I used has two purposes. The obvious one is to increase my salary up to the

  • Shaun Luttin
    Shaun Luttin
1 min read
powershell

How to use PowerShell to release a locked Windows port?

Let's say we want to release port 8081 (and we do not want to restart our computer). First, find the Process ID that is using the port. The easy way: Get-Process -Id (Get-NetTCPConnection

  • Shaun Luttin
    Shaun Luttin
1 min read

Run a specific VS Code Launch Configuration from the Command Palette.

I have a launch.config named .NET Attach. "launch": { "configurations": [ { "name": ".NET Attach", "type": "clr", "request": "attach", "requireExactSource": false, "processId": "${command:pickProcess}" } ], },Here are two ways to run it. CTRL + P to enter

  • Shaun Luttin
    Shaun Luttin
1 min read

For me, quality code is not about love of the craft, quality code is in service of long-term feature delivery velocity.

My motivation at work is rapid development over the long-term. I could really not care less about "the craft of development". I would rather be shipping features and enjoying the sun than be

  • Shaun Luttin
    Shaun Luttin
1 min read
Handling the perpetual problem re: time spent improving code quality vs time spent creating new features... in a way that fosters career satisfaction and engagement.
soft-skills

Handling the perpetual problem re: time spent improving code quality vs time spent creating new features... in a way that fosters career satisfaction and engagement.

A change of perspective is worth 80 IQ points. ~ Alan KayRecently I was faced with a familiar situation at work. As I saw it, my team was pulling me off a bug fix

  • Shaun Luttin
    Shaun Luttin
3 min read

Online Pilates Resources

I bought a Pilates reformer in early 2021. After four months of experimenting with it, I am looking for online resources. Here are some that I've found useful. June 2021John Garey TV, Beginner

  • Shaun Luttin
    Shaun Luttin
1 min read

What connection string do we use to connect the Azure Cosmos DB Data Migration Tool to the Cosmos DB Emulator?

Use this connection string: AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;Database=Library;AccountEndpoint=https://localhost:8081Woot! Connected. See also Tutorial: Database migration tool for Azure Cosmos DBTutorial: Learn how to use the open-source

  • Shaun Luttin
    Shaun Luttin
1 min read
List all the keyboard shortcuts that are available in PowerShell.
powershell

List all the keyboard shortcuts that are available in PowerShell.

From within PowerShell, run the following commandlet: Get-PSReadLineKeyHandlerThat prints all the key bindings that are available out-of-the-box in PowerShell Desktop 5.1 and PowerShell Core 7.1. Some of them are more like

  • Shaun Luttin
    Shaun Luttin
4 min read

DevOps Praxis

Praxis (noun): practical application of a theory. This page enumerates DevOps ideas from literature and from community conversations, including citations, and pairs them with how, if at all, to implement these ideas in-real-life.

  • Shaun Luttin
    Shaun Luttin
5 min read

Find your business in British Columbia by business name or business number.

Sometimes it can be hard to know about all the different names and numbers associated with a business. This website helps by letting us search within the BC Registry Services. Very helpful. British

  • Shaun Luttin
    Shaun Luttin
1 min read
c#

GetEnumerator and GetAsyncEnumerator both return a new instance of an enumerator.

GetEnumerator and GetAsyncEnumerator return a new instance of an enumerator. As a result... var e1 = sequence.GetEnumerator(); var e2 = sequence.GetEnumerator(); Console.WriteLine(e1 == e2); // false!!!Corollary1: if we call e1.MoveNext(), the

  • Shaun Luttin
    Shaun Luttin
1 min read

Install and use StyleCop in a .NET or .NET Core project from the command line (without needing your whole team to do the same).

This is my workflow for using StyleCop.Analyzers in a repository, without needing my entire team to use the tool. At a high level, I install StyleCop, use it, and then remove it

  • Shaun Luttin
    Shaun Luttin
1 min read
BigFont Blog © 2022
Latest Posts Ghost