- A simple example of using an Observable in F#
- A spreadsheet with a priority queue might be the least expensive and most effective way to build software rapidly.
- Accreditted Computer Science Courses of Personal Interest
- Add a Nuget source from the command line
- Add TypeScript Definition Files to the NPM Types Organization
- Agile software development requires technical excellence
- Allow VSCode through WSL Firewall
- Anger Management for Software Developers
- Architecting Large Scale Software Systems
- Async throw-away fire-and-forget with C#.NET
- At what point does a professional software developer need to say "no" instead of continuing to do what the client requires?
- Attach VS Code to dotnet test
- info.title is missing when running from a LIVE app but not from localhost
- Avoid Leaving PowerShell Side-Effects on the Pipeline
- Bash commands that are helpful to me on a daily basis and which I initially found difficult to use
- Bash Kata on Ubuntu > 16.04
- Bill Gates is mistaken about divestment in fossil fuels - he is not numeric enough about the paradigm shifting impact.
- PowerShell and Git to Capitalize all the Files in a Directory on Windows
- Championing Psychological Health and Safety as an Individual Contributor at the Workplace
- Change the base of a topic branch
- Classes vs Structs in C#.NET
- Clear your VS Code User Session
- Combine git, sort, and tail to view the most changed files.
- Considerations for C#.NET code formatting in a distributed microservice application that spans multiple Git repositories.
- Converting Markdown to HTML and/or ODT format
- Copy large files over a Windows Remote Desktop Connection from a terminal.
- Copy to clipboard from NodeJS
- COVID-19 reentry scenarios
- CQRS/ES and DDD: Some Frequently Asked Questions
- Current Side Projects as of January 2019
- Data Transfer Object (Dto) Type Wrapper in TypeScript.
- Debug an IIS Express web application from VS Code.
- Deploying a Custom Read the Docs Install to an Azure App Service
- Check whether two C# builds result in binaries that are functionally identical (within reasonable limits).
- DevOps Praxis
- Disable VSCode Version Control Integration
- Do not put console.log into version control or production.
- dotnet restore, build, and run without an Internet connection
- dotnet watch run usage examples
- ECMA Script Modules and Module Loading in the Browser
- Enable long paths in Windows with PowerShell
- Encrypting Azure Function appsettings.json for storage in version control
- Error handling with an Either type in TypeScript.
- export default vs export in TypeScript
- Expose Kestrel directly to the Internet
- Files changed on GitHub differs from the result of git diff master
- filter undefined and null values from an array while still satisfying TypeScript's strict null checks.
- Find the instructions for transferring a domain name from Google Suite to a different registrar
- Find your business in British Columbia by business name or business number.
- The A method for evaluating a potential employer.
- Fixing the Surface Pro 4 Internal Microphone with Windows 10
- For me, quality code is not about love of the craft, quality code is in service of long-term feature delivery velocity.
- From CoffeeScript to TypeScript
- GetEnumerator and GetAsyncEnumerator both return a new instance of an enumerator.
- Getting started with Beamer for LaTeX slide presentations
- git clean with multiple exclude patterns
- Output the number of Git commits a person made each day of the year in bash.
- git config core.autocrlf
- Git: List the files you have worked on in the last week
- Git log to help with reporting hours on timesheets
- Git rebase a range of commits onto a new base starting a HEAD and excluding upstream.
- git rebase --strategy with -Xours
- Go (kinda) zen mode with Visual Studio
- 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.
- He/they from my perspective as a middle aged, privileged white male living in Western Canada
- A realistic and encouraging way of thinking for staff at a company that is working at 100% capacity.
- Hide the ReSharper Build & Run Window
- High-level notes on Azure ARM Templates
- High level notes on @font-face in CSS.
- High-level notes on project.json to csproj
- How do you practice your performance?
- How I tend to do salary negotiation when interviewing as an employee.
- How is it possible that the default implementations of Haskell's Bifunctor first and second compose?
- How to name boolean returning functions and methods?
- How to use PowerShell to release a locked Windows port?
- How to retry a Jenkins build?
- How we do code review at BigFont
- Humble notes after five weeks migrating an existing domain driven design to CQRS/ES
- Hypermedia as the Engine of Application State (HATEOAS)
- I have started formatting code locally with csharpier for my own READ mode during local development.
- JavaScript Module Systems: ECMA, AMD, CommonJS, NodeJS
- import m = require("m") vs import * as m from "m"
- Install a LetsEncrypt SSL Certificate into an Azure App Service
- Install and use StyleCop in a .NET or .NET Core project from the command line (without needing your whole team to do the same).
- Install Node/NPM in the Linux Subsystem for Windows
- Interactive .NET Experiences Online
- Just don't hit on people you find attractive
- Keep my free Google Apps with a custom domain while using the same domain with Proton Mail
- Khan Academy: Asymptotic Notation
- Legitimate uses of undefined in JavaScript
- List all the keyboard shortcuts that are available in PowerShell.
- List git branches with the date and author of the last commit
- PowerShell: List TCP Connections for a Process
- C# local functions as explanatory variables
- MSCI World Index
- My answers to common "cultural fit" interview questions...
- My Favorite Visual Studio Code Extensions
- My Firefox Add-Ons: LastPass and Tree Style Tab
- .NET Core - What do all the versions mean?
- .NET structs never have reference equality
- Notes on Joel Spolsky's blog post on character encodings
- Notes on Vim's native package manager
- Online Pilates Resources
- Our Favorite Keyboard Shortcuts / Hot Keys
- We have been developing our do-it-yourself rainwater catchment system for about six years.
- "Pair documenting" might produce higher quality documentation.
- Parse jest --json test output with jq
- Permanently modify an environmental variable from PowerShell
- PowerShell One-Liner: insert a space between each capital letter; convert PascalCase to Pascal Case
- Powershell: Trim trailing whitespace from all files recursively
- Practical tips on using the Linux subsystem on Windows
- Project estimation services BigFont provides
- Push and pull files between Windows 10 and WSL2 file systems with Git.
- Receiving a refund from LeetCode with the help of the Better Business Bureau
- Red dots between characters in Firefox Developer Tools
- Reducing the chance of TCP port exhaustion on a Windows Server.
- Rename Symbol vs Change All Occurances
- ReSharper Code Inspection from the Command Line
- ReSharper: Exclude all C# projects from analysis
- ReSharper Code Cleanup from the Command Line
- Run a specific VS Code Launch Configuration from the Command Palette.
- Run an ASP.NET 4.x website from the command line with IIS Express
- Run Docker from the Windows Subsystem for Linux
- Search and download Azure Function Application Logs from PowerShell
- Short guide on a code commenting style, written by someone who is skeptical of its value, is terrible at writing that style of code comments, and despite that, is willing to learn how to write them the way a team has elected to write them.
- Finding (searching for) things with Git
- Serve PHP files from the command line in Windows
- Seven (Magic) Tricks for a Successful Software Development Career
- Shortcuts for Windows 10 Multiple Desktops
- Simple Example of Using the Browser's History API
- Social Skills for Software Developers
- Software Testing Strategies and Canonical Names
- Some Career-Related Ultimate Goals for 2017
- Some Career Related Ultimate Goals for 2018
- Some of my note-taking shorthand for software development
- Some points and quotes in favor of trunk-based development taken from books, blogs, blikis from industry experts.
- Answering some questions from a new BCIT Software Systems Developer graduate.
- Open-SSH commands that are helpful to me on a regular basis
- Stack vs Heap
- Stand on the shoulders of style-guide genius
- Starting HTBox AllReady Web App Development
- Starting with Bitcoin
- Starting with Docker on Ubuntu in WSL 2 without Docker Desktop
- Starting with WSL 2
- Streamline SSH with Git for Windows
- String index signatures let us restrict the types that an object can contain.
- Swashbuckle.SwaggerUi with OpenIddict and Bearer Tokens
- Tab completion in Ubuntu Bash (in WSL)
- TagHelper Structure
- 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.
- Temporarily mute/hide a specific user in a channel in the Slack web interface.
- The classic mistake of keeping a throwaway prototype
- The power of ES 2017 (es8) in TypeScript even with NodeJS 6.11.0
- Checklist for the Spiral Software Development Lifecycle Model (or How to Spiral into Control)
- These are Git commands that I actually use on a regular basis, somewhat in the order of frequency that I use them.
- Things that I usually suggest to my software teams that would probably make my team's go faster.
- Things we have personally done to mitigate, adapt, and shift the paradigm during the climate crisis.
- this in functions, arrow functions, class methods, and class arrow function properties
- To pieces of incredibly useful and free screen capture software that work on Window
- Trim Trailing Whitespace from All Files in a Directory
- TypeScript class vs interface vs type
- TypeScript constructor parameters with public, private, and protected
- typescript import and export organization
- TypeScript module resolution fundamentals
- Ubuntu 16 in Hyper-V on Windows 10 with .NET Core
- Simple Fetch API Example
- Navigating bash's native grep results with the Vim quickfix list.
- Update a forked GitHub repository from its source
- Upgrade from Azure Ghost 0.x.x to Ghost 2.x.x
- Use a regular expression in VS Code's find/replace to replace && with JavaScript's optional chaining
- Use async in a method that has nothing to await
- Use Git Large File Storage (LFS) in the Windows Subsystem for Linux (WSL 1)
- Use GoCD to deploy a single Docker image to DigitalOcean
- Use MSBuild and/or VSTest from the command line to run unit tests
- Use PowerShell to inspect project.json properties across directories
- Use ssh to run a local script with arguments on a remote host.
- Using Graphical User Interfaces in WSL2
- Using the Windows 10 Linux subsystem
- Vim: Clear trailing whitespace
- Vim: execute the current file
- Vim: Find in Files, The Basics
- Vim Substitution (Find/Replace) with Capture Groups (Placeholders)
- Vim with C#.NET Core and OmniSharp-Roslyn on Windows
- Visual Studio ReSharper Performance for Large Solutions
- VS Code's markdown highlighting stopped working in JavaScript/TypeScript comments.
- VSTS Test Coverage with Mocha, Istanbul, NYC, Coburtura and Junit
- What connection string do we use to connect the Azure Cosmos DB Data Migration Tool to the Cosmos DB Emulator?
- What did we git today?
- What do you mean when you say JWT?
- What does [keyof T] do at the end of a type = {} declaration?
- What if the team makes a "bad" decision despite advice to the contrary?
- What is a .NET Mutex?
- What kinds of mental health practitioners exists in Canada? When is each appropriate?
- What was it like working a four day work week for two-and-a-half years?
- When do we add comments to our code?
- When using TypeScript and streams in NodeJS, use the stream.Stream type until there is reason to use a wider type.
- Why avoid static methods?
- Why code-first with migrations instead of database-first?
- Why do you write to console instead of using a debugger?
- Windows 10 Performance Tip #1
- Windows 10 Setup First Steps