Blog
In web applications, it can be necessary to have tasks that run on start up of an application. In older ASP.Net, this was not as clear cut how to accomplish. In ASP.Net Core there is a clear pattern established through the IHostedService interface to make this a breeze. As part of my COVID-19 application, I had to create a few of these hosted services. For example, I had to set up my database prior to the application actually running. As this application is utilizing an in…
I was playing around with a Covid-19 visualization application trying to publish a container to Dockerhub this morning. The application is built in .NET 5 and React. The image builds ended up failing with some certificate issues. Certificate issues are not fun in Docker. Thankfully, there are a few open issues on GitHub describing the problem and some potential resolutions for it. https://github.com/NuGet/Home/issues/10491#issuecomment-768377395 https://github.com/NuGet…
Part of the look and feel of building a web application is determining what icons to use. There are so many great standalone icon libraries available today. Many design frameworks and languages offer their own icon libraries. It can be daunting looking through all these libraries and picking those icons you feel fit best for your site. If you're using React, there is an AWESOME NPM package that combines these to provide a large set of SVG based icons. react-icons This is a…
Recently, I updated pi-hole on my Raspberry Pi to version 5. It's been several months since I originally installed it on my Raspberry Pi. After some great results having it block ads, I decided it was time to have it act as the DHCP server for my home network too. I can now do fun things like reserve IP addresses to specific devices, and add insert custom DNS entries on my local network. I have printer.honlsoft.local resolving to my local network printer and can add other…
Ever wanted to animate an HTML element as it becomes visible on a webpage? Me too. Often, I've seen others make cool animations that trigger when scrolled into view on a website page. For example, sliding text in from the right when the page scrolls in, or making text fade in when it scrolls into view. For quite some time this involved hooking into various DOM events, finding the position of an element relative to the viewport and performing comparisons to determine if it…
I've been watching a few pluralsight courses on CSS transitions lately. I've been observing other sites and have noticed a lot of little transitions that improve the overall feel of the site. Things like rotating elements, fading in text, or motion to provide simple animations can add a new level interactivity. CSS transitions are a great tool to add these, and inject some life into webpages. In this post, I'm going to introduce an extremely simple usage of the transition CSS…
Over the past year or so, I've been trying to write more technical blogs on this webpage. Mainly, I'm trying to improve my communication skills and document some of the various side projects I've been working on in my free time. I used a static site generator named Hugo to build this site. It worked fine, but it just wasn't as productive as an environment as I hoped. It didn't have as good of IDE support. I ended up manually crafting templates in a code editor without proper…
In my previous post, I described setting up an Angular application for authentication to a Microsoft Account using Microsoft's MSAL library. In this post, I will describe connecting to a Microsoft Graph API utilizing the sign in from the MSAL library. Angular HttpClient Angular has a helper class that can be utilized to make API calls to external services. It is HttpClient. This has a lot of convenience methods to call make HTTP requests and call restful APIs. This is great…
The first blog in this series is going to describe authenticating as a registered application in Azure Active Directory with Microsoft's MSAL package in Angular. To see all blogs related to my Raspberry Pi calendar application, check out the project page. There are a lot of great things about using an identity service: No on-premises passwords to secure!! Utilizes latest security standards Integration with other identity providers (Facebook, Google, Microsoft) logins without…
A few months ago, I built a Raspberry Pi Kiosk that acted as a nameplate. Since then, a lot has changed in the world. I've been working from home full time, so COVID-19 has rendered my nameplate useless. Even when work returns to normal, the interactive portions of it don't seem appropriate anymore. You can read more about the Raspberry Pi based nameplate I built here. With the pandemic, many developer conferences have gone online, providing a wealth of new technology related…