Mode
Color
Width

Posts TaggedDevelopment

What I Learned: CSS :focus-visible

I’ve been aware of :focus-visible for a little while now, but haven’t really dug into some of its details. I’ve noticed that browsers have their default behavior and I’ve just left them do their thing without adjusting the focus CSS. Of late, I’ve been digging into accessibility a lot more both for work and my own knowledge and have now finally dug more into :focus-visible.

What I Learned: Integration Testing Blazor Apps with bUnit

I wrote last month about unit testing in Blazor with bUnit. What I didn’t think of at the time was whether bUnit and the same methodology could be used for integration tests as well. Turns out, it can.

How I Built a Spoiler Web Component for My Site

Every once in a while I like writing about a video game I’m playing, a movie or TV show I watched. I’m often a little behind things nowadays, but even so, I try to be careful as to not spoil it for anyone reading who might not have watched the latest episode or have gotten that far into the game yet.

What I Learned: Blazor Auth with Server Side Pre-Rendering

As I’ve mentioned, I’ve been working a lot with Blazor at work and one of the issues I ran into was supporting authentication and user sessions while still supporting server side pre-rendering on certain pages.

What I Learned: Unit Testing Blazor with bUnit

At work, my current project has me using Blazor. Unfortunately that means that my tooling for unit testing the frontend and the UI no longer work for this project. React Testing Library doesn’t work all that well with a Blazor frontend. And by that I mean it just doesn’t work. Enter bUnit.

What I Learned: EventCallback in Blazor

Of late, I’ve been using .NET 8 and Blazor at both work and on my league management side project. One thing that I often need to do is pass data between components. Passing data from a parent component to a child component isn’t terribly difficult with parameters. Passing data from a child to a parent isn’t quite as straightforward.

What I Learned: Test Doubles

I recently read an article by Steve Dunn, Prefer test-doubles over mocking frameworks and it got me reconsidering some of my unit testing strategies.

What I Learned: HTTP GET Requests in Blazor with a .NET Web API & MediatR Gotcha

The side project idea that has gained the most traction with me is the league management web application. I've spent the better part of weekend and then Monday & Wednesday getting the Blazor web app communicating with the Web API I'm also building for it.

What I Learned: React Strict Mode

This past week I started a new React project at work and was dealing with a weird issue with one of my components. It turns out the issue was caused by Strict Mode on React.

What I Learned: HTML Dialog

I know I’m a little late to the game, but I recently learned how to use the new HTML <dialog> element.

Starting with Test-Driven Development

I’ve been reading Pragmatic Test-Driven Development in C# and .NET by Adam Tibi and I think it’s tilted me towards giving it a serious college try.

What I Learned: LINQ Deferred Query Execution

I’ve been reading Parallel Programming and Concurrency with C# 10 and .NET 6 by Alvin Ashcraft. So far I’ve been learning a lot about how .NET handles threads, parallel programming and concurrency as the title would indicate. But in the meantime, I’ve learned something about LINQ that I probably should’ve realized or learned earlier.

What I Learned: C# Primary Constructors

When writing C# code, I often use dependency injection to inject the various services and repositories I need in the class I’m working on. Sometimes that would end up making the top of the classes rather “busy”. C# 12 has introduced a new way to make constructors and I love it.

The Process of Switching to 11ty

Over the course of the last month or so, I began the process of converting my site from Next.js to 11ty. It was actually a pretty straightforward process and I’m happy with the result. I figure I’ll share some of the gotchas and the challenges that I faced moving my various pages over.

FitVids

On each one of my reading logs, I add a YouTube video for “A Song to Leave You With”. It uses a React component to render the embedded YouTube video. Thanks to Dave Rupert, I’ve been able to improve it.

Unit Testing and React Hook Form

One of my side projects uses React Hook Form for my forms and ran into some speed bumps while building tests for the individual components. I figure I can’t be the only one so I figure I’ll share my solution.

Personal Sites are Never "Done"

One of these days I'm going to stop itching to redesign my site.

Digging Into Blazor - Forms

One of the regular things you have to do when building interactive websites and applications is to build forms to allow users to enter data. In this post, I’m going to show how to build a simple form in Blazor.

Integrating Notion into my Site

Over the course of the last few weeks I’ve been revising how several of my pages get their data. Instead of having to manually edit a JSON file that’s in my code base, I’ve been pulling from Notion’s API. The benefit of this is that it’ll be easier to update the pages. I figure I’ll show how I did it in hopes of helping others.

Integrating with Notion's API Using .NET

Over the last year, I’ve been posting my weekly reading log. This is my list of articles and various things on the Internet I’ve read that I found particularly interesting or helpful. The way I’ve started to manage them is through a Notion database.

Is TypeScript Solving a Problem or a Symptom

I was listening to ShopTalk Episode 553 and Dave asked a question that made me pause and think, hmmm…

Digging Into Blazor - Setting Up Custom Authentication

One of the things I wanted to integrate with this project was user accounts. I am not sure that I really need it since I’m not really intending to release my card collection app as a full fledged website for the masses. But I still wanted to add it in if for no other reason than to learn.

Digging Into Blazor - Integrating with Entity Framework

Now that I was getting my feet wet, it was time for me to start laying out the framework for my first real Blazor project. Step one was to get the database setup.

Digging Into Blazor - First Impressions

I've been hearing a lot of good things about Blazor for a while now and as a .NET developer I figured it was time for me to see what the fuss was about.

The Importance of Compatibility

I was recently listening to the No Dogma Podcast and they had Jared Parsons, the C# Compiler Lead at Microsoft on. He said something that got stuck in my head.

Developing with Dev Tools Open

One thing I've started to do when I'm actively developing a website or application is keep the dev tools open docked to the side. I do this for two reasons.

Building a Social Image Generator Console Application

For a while now I've been adding an image for when my posts get shared on Twitter and the like. It's been a manual process where I open up Photoshop and manually update the text. I wanted to change that to make it faster for me to create, so I wrote up a quick .NET console app to go about doing that and will share with you how to build your own.

Reading Log - October 28, 2022 (#3)

Too much Musk this week.

Reading List: September 3 - 23

Life's been busy lately and I didn't get around to posting my weekly reading the last 2 weeks. I'ms starting back up with a slightly new format. I'm going to have a few links that I go into more depth with my thoughts on and then follow it up with the normal link list.

Updating My Likes Page with Feedbin

I've been tweaking my site here and there and the one thing I recently did was change how I populate my 'likes' page. Previously I had been doing it manually, but recently after having listened to the founder of Feedbin on the Changelog Podcast, I decided to try something different. I wanted to use a nice feature Feedbin has to make the page better.

Chats with Kent

I've been finally catching up on my (all-too-massive) podcast backlog and figured I'd place a shout-out to the podcast Chats with Kent.

Reading List: July 9 - July 15

This week we look at a lot of web dev articles as well as some amazing photos from the JWST.

Mocking React Router and useParams

One of the things I needed to do recently was write unit tests for one of the pages of Digital Family Cookbook where I pull a value from a query parameter in the URL. I ended up having some trouble with it so I figured I'd share what I did to get it working.

Better SQL Update Stored Procedures

I'm still surprised it took me so long to figure this out. When I have been creating a SQL update stored procedure, I often ended up creating multiple ones if I was concerned about only updating a subset of the fields of a table. I've finally found a better way to do it.

Reading List: May 14 - May 20

This week we're a little heavy reading about freedom of speech and content moderation.

Reading List: May 7 - May 13

I've been going through my podcast backlog so this week has a lot of podcasts.

Setting Up GitHub Actions on .NET Projects

After seeing Git Actions at work at my job, I decided that I wanted to see what I could do for my personal projects with GitHub Actions.

Refactoring Loops

Ever feel like you can never completely get started with a project? That's sometimes how it feels with the fitness tracking app I'm building.

Switching Platforms

I've been using Jekyll to run this blog for the better part of the last six years. But recently, I've been giving serious consideration to switching to Gatsby or Next.js.

Some Small Site Updates

Over the course of the last couple weeks, I've made some small improvements to my site. None of them are particularly huge, but I like the end result.

Unit Testing with MSW

A little while back, I started a new project. I have been using spreadsheets to track a lot of my fitness goals. This approach generally works, but I thought it would be easier if I had an app for that. So I did what any self-respecting fitness enthusiast developer would do...make one myself! But with that, also come unit tests.

Starting a New Job

At the end of November, I ended up leaving my job at Maintenance Strategies, Inc. and made the decision to take on a new challenge working as a software developer at Webstaurant.

Handy Visual Studio Code Plugin for Jest

I ended up starting a new project recently which I'll get into later, but after my experience writing unit tests with Digital Family Cookbook, I decided to write the tests as I code for this new project. I found a nifty little tool that makes things a little easier for me so I figured I'd share.

So I Finally Finished A Side Project

I’ve often seen a joke going around dev circles talking about how developers have tons of half-finished side projects lying around. And as much as it pains me to say, I’m one of them. But now I can say that that pile has decreased by one.

Delving into Unit Testing

In all of my professional experience, I've never worked for a company that did any unit testing and because of that, I haven't really done any either. I knew what unit testing is and the general concepts behind it, but never got around to actually building or implementing any tests. I decided that for Digital Family Cookbook, that would change.

I'm Now a React Hooks Convert

I’ve often joked that the recipe project I’ve been working on is my “white whale”. I have in the past thrown everything out only to start over. I first built it in Ruby on Rails, but it was buggy and my limited knowledge of Rails made it a little hard to debug and figure out exactly what was wrong. I opted to rebuild it in PHP since I was quite familiar with PHP after building OpenVoter. I decided then that I wanted to start over to teach myself Node.js...well you get the idea.

Continuing My Side Project & Learning React

Lately, I’ve been making steady progress on my side project, which I’m currently calling Digital Family Cookbook. I’m making it as a content management system for cooking recipes. As I’ve mentioned previously, I’m writing it using Node.js, React, & GraphQL. It’s been quite a learning curve, but I’m definitely glad I’ve been working on it. The tools are pretty cool and easy-ish to use once you get used to the syntax and some of the idiosyncrasies of React and JSX.

False Starts & My Side Project

I think I mentioned it before, but I’ve been working on a new side project. I figured it was a good way to teach myself React and Node.js, much like OpenVoter taught me PHP. I’ve been wanting to familiarize myself with some more modern frameworks, and I feel like Node and React are good places to start.

My Thoughts on Microsoft Acquiring GitHub

Another Redesign

As you can tell, I've decided to give my blog a little bit of a facelift.

Wow, I've Fallen Behind

The last couple months have been really hectic for me and unfortunately I didn’t get much done on my recipe side project.

Starting a New Project

I've been having an itch lately to get working on a new side project.

I Made A Thing!

So I was in a "I want to develop something mood" recently, but didn't feel like digging into a big project, so I came up with an idea for a new project.

Redesigned Again

Over the course of the last several months, I’ve been busy building out my website utilizing Jekyll instead of Wordpress. It’s not my first time moving away from Wordpress, but I think it will end up being permanent.

The Redesign

This has been in the works for some time now.

Back with Wordpress

At the end of January I decided to make the switch to the Ghost blogging platform. I had heard good things about it and decided to move over to it. Well, this past week I decided I wanted to expand a bit more with how I blog and realized that Ghost really wasn't going to work for what I needed. Given that and my limited knowledge of node.js, I decided that I'd be better served moving back to WordPress as my platform since I am familiar with PHP and its inner workings.

Full Steam Ahead

A week or so ago I decided that I needed a new programming project to work on. I haven't really had something like this since I closed the book on OpenVoter.

My Thoughts on Ghost so Far

Two weeks ago, I decided to make the switch from WordPress to Ghost as my blogging platform. For me it was a figuratively big jump as I have been using WordPress for years and hadn't really thought of switching to any other platform.

Now Running on Ghost

Despite my initial skepticism about switching over to Ghost as my blogging platform, I still pushed ahead and made my blog theme for Ghost. As you can tell, the look isn't all that different from it's previous look, but the backend is completely different.

Making a Switch to Ghost?

Several months ago, when Ghost was first released to the public, I took a look at it and made a note to give it a look-see. Over the past week, I finally got it running on my dev server playing nicely with my Apache setup. So far I've been playing around with it and am contemplating whether I want to switch my blog platform over to it from WordPress, which is what I currently use.

A New Mini-Project is Brewing: Daily Shots

In November of 2011, after really getting into photography, I decided to finally take the plunge and get myself a DSLR camera. I chose the Canon EOS 60D because I liked what it offered, and my girlfriend (now my fiancee) also had it and recommended it to me. I should add that it also is nice since we'll be able to share lenses. Fast forward to now, I've gotten better with photography, but don't always have the time to go out with my Canon and find those awesome shots.

Killing a Project is Never Easy

About 1-2 years ago, I decided to stop development work on OpenVoter. It's still there, you can still download and use it, but it just hasn't been updated. Kind of sad too, because some updates were actually pretty far along for the next version. That said, if I ever end up going back to work on it, it might very well take a fair amount of time to figure out where exactly I left off. But going back to the time that I decided to move on from OpenVoter, I remember debating what I wanted to do somewhat heavily. I really liked what I was able to accomplish with it, but at the same time, it wasn't really used by anyone that I knew of and didn't really see it moving anywhere else. In the end, I begrudgingly decided to shelve it and find something else to work on.

New Domain, New Look, More Posts (Hopefully)

Over the last couple months, I've been seriously considering doing a rebranding. I felt that DarkNemesis and Darker Nemesis just didn't really feel like 'me' anymore. So I went about trying to find a new moniker. "Wags" has always been sort of a nickname for me given my last name being Wagner and "kpwags" was available so after some thought, I ended up liking it and now here we are.