guy coding

Delayed Cancelable Action Button in React

User experience (UX) is a fine art and many developers fail at it. Years ago I watched a basic UX course on PluralSight by Billy Hollis. Since that time I have tried to focus on UX. One thing I’ve learned over the years is how awful modal confirmations are for delete operations. Today we’ll look at another way to approach delete actions by introducing a delayed cancelable action button in React.

Shipping containers

Session management in DotNetCore web applications

Last month we talked about Cookie management in DotNetCore web applications and introduced a generic cookie service. Today we’re going to look at an alternative option for storing user data. Session state is a server store of information linked to a browsing session. Today let’s look at a technique for generic session management in dotnetcore web applications.

Person using computer presumably writing React

Automatically scrolling React components into view upon render

You’ve just finished up your fancy new React component and got it into the workflow. You now perform an action on the page. As a result your component renders but it is under the fold and isn’t visible. You want it to be visible immediately. What can you do? Today let’s talk about automatically scrolling React components into view upon render.

Stoplight

Throttling requests in .NET Core web applications

Last year I worked on a team migrating a large application to ASP.NET Core from ASP.NET MVC 5. Among our goals we wanted to make the site use responsive layout, become “future-proofed” on a technology stack, and clean-up a bunch of legacy cruft. Our initial launch did not go smoothly and we reverted to the previous site to make changes. In the process we learned some “gotchas”.  Today I’m going to discuss one of those and how we addressed it. We’ll learn about throttling requests in .NET Core web applications. 

chocolate chip cookies

Cookie management in DotNetCore web applications

For those of us used to cookies in traditional ASP.NET the switch to ASP.NET Core might leave us scratching our heads. In the old system we were able to directly add and remove cookies from both the request and response objects (for better or worse). This might have led to us writing and overwriting the same cookie multiple times during a request as different portions of code affected it. DotNetCore has changed the game and that’s a good thing, trust me. Today we’re going to learn a technique for cookie management in DotNetCore web applications.

Injecting the apple with naughtiness

Dependency Injection in a DotNetCore Console Application

In my last post I talked about creating a .NET Core console application for removing advertisements from a recorded stream.  I glossed over some of the things I did in that application such as hooking up dependency injection and configuration management.  Today I’m going to talk about implementing dependency injection in a DotNetCore console application.

Film Reel - Credit Denise Jans - Unsplash

Removing advertisements from recorded video streams

Hypothetically, let’s say I have some software that records streaming video from the interwebs. For the sake of this exercise I’m also pretending this software is called PlayOn.  Next, I’m imagining that the recorded streams also include advertisements. Continuing into our hypothetical journey I’m guessing I have a media center where I host the recorded media. 

typewriter

Reason I started blogging

I’m a person who enjoys mentoring other developers.  I take great personal joy and satisfaction from seeing their successes. Over the years I’ve had people ask if I have a blog.  When I answered no they tell me that I should have one. Generally speaking I’ve pooh-poohed them and went my merry way.  In this post I want to discuss the reason I started blogging.

sand timer

Creating a simple countdown timer in React

I recently had a scenario come up where the client I’m working for wanted a countdown timer on their homepage.  I had previously built a similar feature in their old website but did not reproduce it when we built the new site. The old website was a hybrid ASP.NET MVC + Razor views + jQuery + angularJS.