MDC 2019 Recording Live for Flexible UI Architecture with React and GraphQL
Posted on Wednesday, October 9, 2019
The recorded version of my talk at MDC 2019 is now available. I received positive feedback and I think it had to do with some key changes I made.
Using Storybook in a Monorepo
Posted on Tuesday, September 17, 2019
Storybook can work across packages in a monorepo, you just need to know how to set it up
Just Launched: Looks Good to Us DIY and Crafting Blog
Posted on Tuesday, September 10, 2019
My wife and I just launched our own little home DIY and crafting blog
Versioning Content URLs in ASP.NET MVC 5
Posted on Wednesday, September 4, 2019
ASP.NET Core lets you add automatic versioning to JS and CSS files and I wanted to do the same in MVC 5.
New Pluralsight Guide: How to Test React Components in TypeScript
Posted on Tuesday, August 13, 2019
Pluralsight guide on using React Testing Library with TypeScript
2019 Goals Quarterly Update (Q2)
Posted on Friday, July 12, 2019
More writing, new DIY projects, upcoming conferences, and side earnings reached some thresholds!
Handling Safe Destructuring in TypeScript
Posted on Wednesday, June 26, 2019
It's common in JavaScript code to accept objects as parameters in functions and setting them to an empty object by default to allow safe destructuring. In this post I'll cover how to handle this pattern in TypeScript.
Automating RavenDB 4 with Ansible
Posted on Thursday, May 23, 2019
Useful tips for setting up RavenDB 4 on Docker using Ansible
2019 Goals Quarterly Update (Q1)
Posted on Sunday, April 28, 2019
A quarterly update on my yearly goal progress
Data Modeling with Indexes in RavenDB
Posted on Thursday, April 4, 2019
Learn how to effectively leverage indexes in RavenDB to perform complex aggregations
New Pluralsight Guide: Getting Started With React and TypeScript
Posted on Friday, February 22, 2019
Pluralsight guide on starting new projects with React and TypeScript
NDC MN 2019: Designing a Flexible UI Architecture with React and GraphQL
Posted on Saturday, February 2, 2019
I was accepted once again to NDC Minnesota!
New Pluralsight Guide: Composing React Components with TypeScript
Posted on Tuesday, January 22, 2019
Another guide published on Pluralsight for React & TypeScript


2018 Year in Review and 2019 Goals
Posted on Friday, December 21, 2018
2018 was a huge year of accomplishments so I'll need to make 2019 count.
New Pluralsight Guide: How to Statically Type React Components with TypeScript
Posted on Friday, December 21, 2018
I just published a my first guide on Pluralsight for React & TypeScript
Two New Pluralsight Courses on Azure Storage Published
Posted on Friday, October 26, 2018
Excited to announce two brand new Pluralsight courses on using Azure Storage with Azure CDN and CORS.
Showing Custom UI on React Router Transitions
Posted on Thursday, July 26, 2018
Using the React Router `<Prompt />` component you can trigger custom UI to prevent navigation
Flattening Deeply Nested Components in React
Posted on Saturday, July 7, 2018
JSX is neat until you start getting into situations where things have to be nested deeply
Handling Multiple Scalar Types in GraphQL
Posted on Monday, July 2, 2018
How to handle values that can be one of multiple scalar types in GraphQL
That's a Wrap for NDC Minnesota
Posted on Friday, May 11, 2018
This last week I gave a talk at my first NDC event and attended a whole bunch of other fantastic talks!
Follow-Up to .NET Rocks episode on RavenDB
Posted on Tuesday, May 1, 2018
This last week I was honored to have the opportunity to be on one of my favorite podcasts, .NET Rocks
Frontend Masters: Advanced React Patterns Workshop
Posted on Monday, April 30, 2018
I attended the in-person workshop for Advanced React Patterns at Frontend Masters
Finished My First Workshop at MinneWebCon
Posted on Monday, April 30, 2018
On April 24 I gave an Node.js Bots in Azure workshop at MinneWebCon
Ludum Dare 41 Post-Mortem
Posted on Sunday, April 29, 2018
The Excalibur.js team made another game for Ludum Dare
Elusive Bugs with GraphQL Object Caching in Apollo Client
Posted on Wednesday, March 7, 2018
In GraphQL it's important to design your schema so objects can be cached effectively otherwise you may run into hard-to-trackdown bugs
RavenDB 4: Getting Started course is live!
Posted on Friday, February 9, 2018
My new (and first) Pluralsight course on RavenDB 4 was released!
Scalable React & TypeScript at NDC Minnesota
Posted on Thursday, February 1, 2018
I will be speaking at the upcoming NDC Minnesota conference in May 2018
2017 Year in Review and 2018 Goals
Posted on Monday, January 1, 2018
I accomplished a lot in 2017 and hope to continue working towards my 2018 goals


Workshop for Node.js Bots in Azure at MinneWebCon 2018
Posted on Tuesday, December 19, 2017
I'm teaching a workshop at MinneWebCon on April 24, 2018 about building bots with Node.js and Azure
Dynamic component rendering in AngularJS
Posted on Friday, November 17, 2017
Frontend Masters Workshop: Node API Design v2 with Scott Moss
Posted on Friday, October 27, 2017
Scott taught us some Node.js API design approaches including using GraphQL
Becoming a Pluralsight Author
Posted on Wednesday, October 11, 2017
I'm officially a Pluralsight author as of today!
Using AngularJS 1.5 with webpack, babel, and Karma/Jest
Posted on Friday, October 6, 2017
Living in harmony with Karma/Jest, webpack, and babel with AngularJS 1.5
Dynamically Importing React Material Icons Using Webpack
Posted on Sunday, September 3, 2017
Quick tip on dynamically importing icons using Webpack
Today I started at Target
Posted on Tuesday, August 29, 2017
I will be working on full stack Node.js applications with Angular and React
Thanks for attending Midwest.js
Posted on Tuesday, August 29, 2017
Links to material
Building Scalable, Maintainable Apps Using TypeScript and React at Midwest.js
Posted on Friday, July 14, 2017
Practical advice about patterns, practices, and performance at Midwest.js August 17, 2017
Refactoring Conditional Dependency Injection
Posted on Thursday, July 13, 2017
How do you inject multiple implementations of a single interface and distinguish between them?
New Video Let's CODE! Basic CSS
Posted on Tuesday, June 27, 2017
Me and my dastardly partner in crime, Erik Onarheim have created a new video series called Let's CODE!
Downloading Git LFS Files from TFS or VSTS
Posted on Thursday, June 15, 2017
Downloading files stored in TFS/VSTS using Git LFS is not as a simple as it sounds
Adding SameSite Cookie Support In ASP.NET
Posted on Thursday, February 23, 2017
Building a Raspberry Pi 3 Baby Monitor
Posted on Tuesday, February 21, 2017
I put together a guide on building a baby monitor using a Raspberry Pi 3
Store Binaries Next to Powershell DSC Using Git LFS
Posted on Saturday, February 4, 2017
Keep your Powershell DSC scripts and dependent binaries together using Git Large File Storage (LFS)
See You at Build 2017
Posted on Thursday, February 2, 2017
I'll be heading to MS Build in May
Introduction to TypeScript Course Now Available
Posted on Tuesday, January 31, 2017
My Introduction to TypeScript course is available to purchase
Exposing Subtle Timing Bugs With a Slow CI Server
Posted on Tuesday, January 24, 2017
Test timing- or animation- related code at lower CPU thresholds to expose possible timing bugs
New Year, New Site Design Using Wyam Static Site Generator
Posted on Sunday, January 22, 2017
I've redesigned the site using the .NET-based Wyam static site generator
Site Down Alerts using Azure App Insights and Zapier
Posted on Wednesday, January 11, 2017
2016: A Year in Review
Posted on Tuesday, January 3, 2017


Extending PowerShell Pester with Custom Assertions
Posted on Wednesday, August 17, 2016
OpenWeatherMap PowerShell Module
Posted on Friday, August 12, 2016
Demystifying TypeScript at Midwest.js
Posted on Friday, August 12, 2016
ASP.NET Core Sample Demo Game
Posted on Sunday, July 31, 2016
See you at Build 2016
Posted on Friday, March 11, 2016
Tools of the Trade 2016
Posted on Tuesday, February 9, 2016
2015: A Year in Review
Posted on Tuesday, January 5, 2016



Just released the new Keep Track of My Games beta
Posted on Tuesday, November 4, 2014
Getting WebSockets to Work on Windows Azure
Posted on Sunday, February 9, 2014
5 Tips to Improve Your ASP.NET MVC Codebase
Posted on Wednesday, January 29, 2014


Just Released: Have I Been Pwned?
Posted on Tuesday, December 24, 2013
Get Your CI On with Travis CI
Posted on Thursday, December 19, 2013
Just Released: Bowling Calculator App
Posted on Wednesday, December 11, 2013
MiniProfiler RavenDB Pull Request Accepted
Posted on Thursday, December 5, 2013
Kamranicus: Now With 100% More Octopress
Posted on Thursday, December 5, 2013
Just pushed: Blackjack sample game
Posted on Tuesday, December 3, 2013
TCCC15: See you again in April!
Posted on Monday, October 21, 2013
TCCC15: Leveling Up Your Windows Phone App
Posted on Thursday, October 17, 2013
Minnesota Developer Conference 2013: Connected Apps
Posted on Tuesday, September 24, 2013
Test Retina Images Without a Retina Screen
Posted on Friday, July 26, 2013
Debounced After Render Pattern for Knockout.js
Posted on Thursday, June 6, 2013
Slides and Resources for TCCC14 Web API Talk
Posted on Tuesday, April 30, 2013
I was a UX expert when I was 13
Posted on Friday, April 26, 2013
Anecdote: I Frustrate Easily
Posted on Thursday, April 25, 2013
About my Web API session at Twin Cities Code Camp
Posted on Wednesday, March 6, 2013
BindableAppBar for Caliburn Micro
Posted on Wednesday, March 6, 2013
I forked fastJSON
Posted on Tuesday, March 5, 2013
RenderRoutes: Expose your routes to your Javascript
Posted on Thursday, January 3, 2013


A Smarter `checked` Binding for KnockoutJS
Posted on Monday, December 31, 2012
Disappointed in the Windows Store Submission Process
Posted on Saturday, December 15, 2012
Using Knockout bindings in your WinJS application
Posted on Saturday, December 1, 2012
Enter a Windows 8 contest, just do it!
Posted on Wednesday, October 3, 2012
What would a Windows 8 Halo app look like?
Posted on Wednesday, October 3, 2012
2 Computers, 1 Desk
Posted on Saturday, August 18, 2012
How to Install a SSL certificate into AppHarbor
Posted on Friday, August 3, 2012
Protip: Show DB usage in your EF application
Posted on Friday, June 15, 2012
Use Enums to Reduce Markup Maintenance [MVC]
Posted on Friday, June 8, 2012
Some Thoughts on the VS11 Beta/RC/RTM Interface
Posted on Thursday, May 31, 2012
Sitecore and .NET Framework 4.5
Posted on Friday, May 11, 2012
AttributeRouting Now Supports Web API
Posted on Tuesday, April 17, 2012
Windows 8, Windows Phone 7, and KTOMG
Posted on Saturday, April 14, 2012
jquery.formatXml Plugin
Posted on Tuesday, April 10, 2012
UX applies to API design too
Posted on Tuesday, April 3, 2012
Working with Computed Columns in EF 4.3
Posted on Sunday, March 18, 2012
I wish I could do all the things
Posted on Friday, March 16, 2012
Playing with Node: Writing a Reddit CLI
Posted on Thursday, February 2, 2012


Tips When Using Backbone.js in a .NET world
Posted on Friday, December 16, 2011
VS Extension for JS Template Support
Posted on Wednesday, December 14, 2011
Skyrim Mod Request Compilation
Posted on Monday, November 14, 2011
Integrated Disqus comment system into Kamranicus
Posted on Friday, October 7, 2011
Immersive UI in RPGs - Thoughts, Concerns, et al.
Posted on Thursday, September 15, 2011
I love GitHub so much, I'm a paying member now
Posted on Tuesday, July 26, 2011
Announcing Keep Track of My Games
Posted on Sunday, July 24, 2011
My Git workflow for .NET-based projects
Posted on Tuesday, June 28, 2011
Using SquishIt Without Writing to the File System
Posted on Wednesday, June 22, 2011
Released NuGet package of .JSON
Posted on Friday, June 17, 2011
MIX 11, Day 1.5
Posted on Wednesday, April 13, 2011
"All the code you write is wrong."
Posted on Friday, April 8, 2011
Come Visit Me at MIX 11
Posted on Thursday, April 7, 2011
A Better MVC Label Helper
Posted on Thursday, April 7, 2011
Befriending AppHarbor and Making it Work for You
Posted on Wednesday, April 6, 2011
Welcome to Kamranicus [YAPS]
Posted on Wednesday, April 6, 2011