www.mattburkedev.com Open in urlscan Pro
205.196.221.110  Public Scan

Submitted URL: http://www.mattburkedev.com/
Effective URL: https://www.mattburkedev.com/
Submission: On January 14 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

GET //google.com/search

<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit"></button><input type="hidden"
    name="sitesearch" value="https://www.mattburkedev.com"></form>

Text Content

MATT BURKE

Home About Projects Talks Archives Resume


2024-01-13
Shameless Self Promotion


CODEMASH 2024

This year at CodeMash 2024, I delivered two talks:

 * Building a Modern Single Page Application in Vue (half-day workshop)
 * You’re Doing Exceptions Wrong (standard session)

If you attended one or both of these sessions, you can find more background
information including links to the slides on the pages above. Thanks for coming,
and please leave feedback in the CodeMash app!

Share Comments
2023-12-27


OPTIMIZING BUILD PIPELINES IN AZURE DEVOPS

Build time before optimization: ~50 minutes

We have a monolith application hosted in Azure DevOps. We use the Pipelines
product to run builds and tests on every pull request. After merging, the builds
run again. Build times were creeping up towards an hour, leading to some pain
points for our developers:

 * It’s really frustrating to feel pressure to release a hotfix, but it takes
   multiple hours to prep a release artifact
 * Even an insignificant code change due to PR feedback led to delaying the
   merge another hour
 * Developers get distracted during builds and move on to new tickets,
   increasing work-in-process counts and delaying merges

I wanted to get it down to under 20 minutes. Here’s how we did it.

Read More

Share 0 Comments
2023-10-26
Shameless Self Promotion


TALK: YOU'RE DOING EXCEPTIONS WRONG

Read More

Share 0 Comments
 * c#
 * dotnet
 * talk

2023-10-26
Shameless Self Promotion


TALK: BUILD A MODERN SINGLE PAGE APPLICATION WITH VUE

Read More

Share 0 Comments
 * javascript
 * talk
 * vue

2023-10-16


USEFUL APPLICATION INSIGHTS LOG ANALYTICS KUSTO QUERIES

We use Azure’s Application Insights features as the performance monitoring tool
on a lot of our apps.

These are some queries I’ve found that are useful for various troubleshooting
situations

Read More

Share 0 Comments
 * azure
 * dotnet

2023-08-19


USING KEYED SERVICES IN .NET 8

.NET 8 is going to ship Keyed Services with
Microsoft.Extensions.DependencyInjection, the default IOC container. Keyed
services allow developers to register multiple implementations of an interface
under different names (or, more generically, “keys”). This is useful in some
scenarios. Let’s take a look.

Read More

Share 0 Comments
 * dotnet

2023-08-15


CHOOSING A DOTNET TEST FRAMEWORK

I saw a Reddit post asking which test framework to use: xUnit, NUnit, or MSTest.
I’ve used xUnit almost exclusively for years and don’t have firm enough
experience with the others to recommend for or against them. Any bias I have
against MSTest is probably years out of date. I hear it’s pretty good now!

Instead, I thought I would list my top test framework considerations.

Read More

Share 0 Comments
 * dotnet
 * testing

2023-08-13


WHY AUTOFAC

I’ve frequently seen a question arise about why anyone would use an open-source
dependency injection framework like AutoFac when Microsoft provides
Microsoft.Extensions.DependencyInjection (MEDI). Isn’t that good enough?

It’s a fair question. MEDI is a capable dependency injection container and will
support most application needs. However, I still find it worthwhile to plug
AutoFac in.

Microsoft created MEDI so that framework and library authors could depend on
some basic dependency injection capabilities without writing adapters for every
popular DI container. Microsoft specified base-level functional expectations,
but application developers that wanted more power could use a different tool as
long as it could conform to the protocol Microsoft specified. As a result, the
MEDI provides a limited feature set by design.

I frequently want more robust capabilities and will install AutoFac to get them.

The rest of this post will highlight some of the features of AutoFac that I
particularly like. While not provided out of the box, Developers can emulate
many of these features with MEDI, though perhaps clumsily. Some have no analog
at all. Sample code is also on GitHub.

 * Assembly Scanning
 * Modules
 * Multiple Registrations
 * Improved Reflection Registration
 * Scope Level Overrides
 * Named Scopes
 * Registering Func
 * Manual Lifetime Management
 * Decorator
 * Keyed services

Read More

Share 0 Comments
 * dotnet

2023-06-23


TIPS FOR SELLING YOUR TECHNICAL VISION

My company’s CEO once commented that Architect is a sales position. I think that
is a wise observation and applies to most technical leadership roles.

It’s not enough to have good ideas: you need to sell them.

Here are some tips I’ve found that help build consensus and nudge a team in a
direction I believe is best.

Read More

Share 0 Comments
2023-04-11


USING CODEMODS TO UPGRADE LEGACY CODE

Last week I helped a client plan an upgrade from an internal custom JavaScript
library to a more modern UI framework. The existing code uses a tool called
“jingo“ to manage dependencies. We wanted to support modern bundlers that use
the new EcmaScript Modules (import and export) syntax. A straight forward
mechanical transformation exists but the codebase consists of hundreds of files
to convert. It would be tedious, boring work over the course of days. However, I
could use codemods to write a script that would convert the syntax
automatically.

Read More

Share 0 Comments
 * js

123…16Next ›


RECENT POSTS

 * CodeMash 2024
 * Optimizing build pipelines in Azure DevOps
 * Talk: You're Doing Exceptions Wrong
 * Talk: Build a Modern Single Page Application with Vue
 * Useful Application Insights Log Analytics Kusto Queries


ABOUT

 * Twitter: @mattburkedev
 * Github: @akatakritos
 * Mastodon: @matt@social.mattburkedev.com
 * Linked In: Matt Burke


CATEGORIES

 * Announcements4
 * Azure Pricing Demystified1
 * Client Explanations3
 * Information19
 * Jokes8
 * Keep Your Framerate Out of My Physics2
 * Link Dump27
 * Mastodon3
 * Ops12
 * Projects3
 * Rants4
 * Shameless Self Promotion4
 * Three Things9
 * Tips and Tricks36


TAG CLOUD

ASP.NET Apache Apple Azure C# C#-7 Client Side Cygwin Dumb Stuff Entity
Framework Games Good Stuff HTML IIS LINQ MVC Nuget OAuth OWC PHP Programming
Projects Rants Ruby SASS SPA SQL Server Server Administration Servers Technical
Debt Timezones Suck WebAPI WebForms Windows algorithm algorithms angular
angular.js apple azure bash browserify c# cygwin devops dotnet git jQuery
javascript js kentico library linux lucene math mentoring mongo msbuild mysql
nerdery perf permissions php ps razor ruby security sitecore sql ssh talk
testing trolling umbraco unicode unit testing vim vscode vue webapi webforms
webpack


TAGS

 * ASP.NET14
 * Apache2
 * Apple5
 * Azure4
 * C#5
 * C#-73
 * Client Side1
 * Cygwin1
 * Dumb Stuff10
 * Entity Framework3
 * Games2
 * Good Stuff5
 * HTML2
 * IIS2
 * LINQ2
 * MVC8
 * Nuget1
 * OAuth1
 * OWC3
 * PHP3
 * Programming11
 * Projects2
 * Rants3
 * Ruby2
 * SASS1
 * SPA1
 * SQL Server4
 * Server Administration5
 * Servers2
 * Technical Debt1
 * Timezones Suck2
 * WebAPI1
 * WebForms1
 * Windows1
 * algorithm1
 * algorithms1
 * angular1
 * angular.js1
 * apple1
 * azure5
 * bash7
 * browserify1
 * c#1
 * cygwin3
 * devops1
 * dotnet29
 * git8
 * jQuery2
 * javascript2
 * js15
 * kentico2
 * library1
 * linux1
 * lucene1
 * math1
 * mentoring1
 * mongo3
 * msbuild2
 * mysql3
 * nerdery1
 * perf2
 * permissions1
 * php1
 * ps1
 * razor1
 * ruby13
 * security8
 * sitecore4
 * sql2
 * ssh1
 * talk2
 * testing1
 * trolling1
 * umbraco4
 * unicode1
 * unit testing4
 * vim2
 * vscode1
 * vue1
 * webapi1
 * webforms2
 * webpack1

© 2024 Matt Burke
Powered by Hexo
Home About Projects Talks Archives Resume