Failed Post

This week I set out to write a continuation of the Blazor themed post I have been doing over the last few weeks. I was going to show how to handle OnSubmit instead of OnValidSubmit as I did in the first post on forms and validation.

I spend most of the week on trying to get this to work, but I failed. I couldn’t find a way to get access to the EditForm in the function that handled the submit. I’m sure there is a way to get this work, but I couldn’t get it to work in the timebox that I had for this post.

Hitting a wall on something like this is frustrating, but having to stretch and learn is one of the things I love about being in the development space. The hard part about a failed post like this week is I really need to cut my losses and move on to a new subject.

One of the things people often ask me about is how I manage to keep doing a post a week in the long run. The timebox I mentioned above is a critical component to the reason my system works. While I would love to be able to solve every problem I hit it just isn’t reasonable to do if I want to hit my goal of a post a week.

Summer Schedule Challenges

I’m writing just before July 4th, which in the United States is a national holiday. My family is taking advantage of this extra time off to travel to St. Louis for the first time. This is just one example of the many scheduling challenges that the summer season brings to my writing schedule.

Normal Schedule

Typically I am able to get my posts written in the hours before work by getting up an hour or two before I would have to in order to make it to the office on time. My wife gives me a hard time about getting up early, but getting at least one post done a week is something I am very proud of and don’t want to compromise on.

Dealing with the Summer Schedule

The question is how to deal with the changes in time expectations, but still get everything done. This week, for example, I only have 3 work days and will be traveling the rest of the week. The most important thing I have done to handle this situation is having 3 to 4 weeks of post done ahead of time. Knowing that I have a buffer of posts reduced my stress level related to my blog tremendously.

The other way I handle weeks with a lack of time is posts like this which are non-technical and therefore take a lot less time to write. The downside is these type of post don’t get very many reads. On the positive, it allows me some practice in a different writing style. I also hope that even if it isn’t super popular that someone gets some value out of it.

Wrapping Up

Hopefully, someone found something useful in this post. If you do like this type of post I would love to get some feedback on some non-technical topics that you all might be interested in. I don’t see this blog ever changing from primarily technical topics, but it is fun for me to mix it up occasionally.

Back at it

Hopefully, you all haven’t noticed, but over the last few weeks, I have been out of my normal routine due to some medical issues with multiple family members. Don’t worry everyone is now fine, or well on the way to fine. While my wife doesn’t actually read this blog I still want to call her out for being amazing. She is one of the family members who had an issue and I took some time off to take care of our son while she was recovering and her job is so much harder than what I do every day.

Back to blog related items. The reason you all haven’t noticed that I haven’t been around is that I keep about 4 posts ahead. This is a rule I set for myself years ago. If you are running a blog where you are trying to post on a schedule I highly recommend that you get ahead of your schedule. Getting ahead of my schedule is the only way that I have kept my stress level low enough to continue the blog at all. Since I have been out for a while my number of posts ready to go has gotten way too low and I have been struggling to get back into my normal routine.

I know this post isn’t going to be interesting to most people, but this is going to be a small win that gets things flowing again. Thank you for sticking with me and stay tuned the normal post will return next week.

Four Years of Blogging

Monday will be the fourth anniversary of my first post on this blog. If you have been around for a while this post is going to be very similar to the one from last year.

Positives

Most of my positive points are the same as last year, but here they are again in case you are new this year.

  • Driver for learning new things
  • Opportunity to use new/different technology outside of my normal work
  • Helping others learn new concepts
  • Helping others overcome problems
  • Comments from readers letting me know posts were helpful
  • No big hosting issues this year (thank you NodeHost!)

Challenges

Suprise some of the challenges are the same too. The big new one this year is negative responses/comments to some of my posts which has actually been much worse for me to come to terms with than the rest of the challenges I have faced.

  • Negative responses/comments (See this post an example)
  • Learning new things on a deadline
  • Self-applied pressure to meet my goal of a post a week (increasing my stress level)
  • Not focusing on stats, shares, comment, etc.
  • Picking the right things to learn
  • Time requirements taking away from other projects I would like to do

Top posts of the year

I had two repeats this year and the rest are new to the top 5. It is a bit surprising that a post with Angular 2 in the title is still making the top 5.

Resources

ASP.NET Weekly is a weekly digest of all the best ASP.NET related news and blog post run by Jerrie Pelser.

ASP.NET Community Standup is straight from the team at Microsoft who is responsible for ASP.NET Core. These videos are a great way to get the scoop on what is in the works.

NodeHost is my hosting provider. They provide super simple and cheap hosting. If you are looking for a place to host your own blog check them out. Combine them with Cloudflare and Let’s Encrypt and you are all set if you are going to WordPress route.

See my Books, Podcasts and Other Resources post for a more complete list.

The next year

This coming year is going to be a good one with the continued previews and eventual release of .NET Core 3 and related ASP.NET Core 3, Entity Framework Core 3, and support for Winforms/WPF.

I am also open to topic suggestions. Use the comments on this post or drop me an email and I will see what I can do.

Negative Responses

After 3.5 years I finally had a post that resulted in a negative reaction from a fair number of people. The morning after the .NET Parameterized Queries Issues with SQL Server Temp Tables post went live I woke up with 4 comments waiting for approval. Before I read them this was exciting. I thought that I had hit on an issue that a lot of people had faced. I was wrong.

The Negative

Three of the four comments were about that specific person’s view of best practices and how my post was a poor example and something that any seasoned developer would ever dare use.

I replied to all the comments and tried to clarify the points of misunderstanding. The post was based on a real issue we faced and something that was not at all clear on why. The post was meant to be simple in order to show the point and I did my best to communicate these points to the commenters. To say the least this was a hard day for me.

The post now has something like 33 comments, which is way more than any of my other posts. I think that for the most part, the commenters are more clear on what I was going for. The straight up negativity around the post in question is something I hope to avoid for the most part.

The Positive

On the plus side on the day in question, I hit a new record for single-day views on my blog. The previous record was from 3 years ago when I had a post featured on the ASP.NET homepage.

While less visible on my blog I also got a lot of support from people letting me know that they understood my point and through it was clear. The post has also appeared in a blog and newsletter that I highly respect. I really appreciate everyone who took the time to reach out and remind me that this type of thing will happen and to stay positive.

Future Strategies

If something like this happens again I will do my best to keep it in perspective. I want honest feedback on my posts. I welcome people posting issues and us working through them. It results in better information for my readers which at the end of the day is why I spend so much time doing this blog every week.

I think it is human nature for negative comments to stand out. It will be important for me to temper that initial negative reaction with the positive side of things.

Back from Disney World

Today is my first day back from being at Disney World for a week with my family. We had a wonderful time. It was awesome to see our 6-year-old light up seeing all the sights and ride for the first time.

This trip was also the first full week of vacation I have had in years. There was a lot going on at work and I found it really hard to unplug. I can’t tell you how many times I checked my email and Teams while waiting in line for one thing or another. I’m sure this amounted to less than 1% of the time I was off, but I feel like even that level of work is more than enough to lose some of the mental recoveries that vacation should provide.

Future Strategies

I think the biggest thing I could do in the future is different timing. This trip ended up being during a client go live which greatly added to the feeling that I needed to stay connected in case something went wrong.

Second, I need to take more time to ensure I’m not the single point of knowledge on any subject. The one thing I did end up having to do was because I forgot to convey some information on how our QA team was running a service.

Third, I just need to take more time off. As I said above this is the first time in years that I have taken a full week off. This has been due to family medical issues and it has gotten me in the habit of saving all the time off I can to cover times I need to be out to help out the family. Now that things have calmed down I am going to have to adjust to being able to have time off and disconnecting.

Wrapping Up

I’m still in the process of getting back into the swing of things and this topic was on my mind. I would love to hear how you all deal with this issue.

Limit Failure

My family and I just got back from our first really big trip since our son was born six years ago. We had a ton of fun and it was a great experience for us all. While we were gone I intentionally let a few things drop such as my diet, exercise, reading, and podcasts. For my everyday life letting all of those things drop is a big failure.

Letting go is OK

Let me lead by saying letting things go is OK. None of us can be on plan 100% of the time especially if any of the things you are doing require your willpower to get done. Check out Willpower Doesn’t Work for more information on why using willpower to change your life isn’t a good idea.

Plan, plan, plan

Having a plan for how far off of the rails you are going to go can help limit the damage you do. For example, planning to have one unrestricted meal a day lets you have some freedom while on vacation while limiting your downside versus what it would be if you just went off the rails completely. The key for me in the future will be finding the right balance between my normal routine and not affecting the enjoyment of the trip.

I haven’t tried this yet, but I have read going to the point of visualizing the challenges you might face and how you will respond to them can be a very powerful way of making sure you stick with your plan. Then instead of having to make choices at the moment, you can fall back to going with what you visualized.

This all comes down to not having to make a judgment call at the moment you face the situation. When making calls at the moment we tend to choose the option with the most immediate reward, not the one that is the best long-term.

Back to reality

When everything is over getting back into your normal routine can be hard. If you planned fully then this transition is planned and you just have to execute. Again taking the decision away from the moment.

For our trip, the transition didn’t go as planned. We had numerous delays in flights, unforeseen things to take care of after getting home. We have been back for close to a week now and I still haven’t gotten back on track with all of my activities.

You can’t plan for everything, but that doesn’t mean you don’t plan. When faced with unforeseen events you have to make the best choice you can at the moment and move on. As soon as you have the chance to reevaluate where you are and then adjust course.

The key point is we are all going to fail and that is OK, but we want to limit the downside of our failures as much as we can. Evaluate and adjust. Don’t beat yourself up over failing. Learn.

Learning Overload

I came to the realization this weekend that the backlog of learning resources I have is now at the point that it is causing me to stress. My Pocket list is overflowing, I have courses I have signed up for, both paid and unpaid, that I have not even started, and not to mention a huge number of books I want to read.

Amazing Times

It is an amazing time that we live in that so many resources are available (mostly for free). Between blogs and YouTube alone, a person can learn more than enough to get going on just about any project. I am emphasizing how amazing this is because I don’t want anyone to take this post as complaining.

Plan to Focus

The strategy I came up with this weekend to help me address my backlog was one of focus. I have a ton of topics I want to learn about, but very few of those are in my core areas of focus. I went through my Pocket list and archived anything that was outside of those core areas. Yes, I want to dig more into both Microservices and Kubernetes, but since those are not areas I’m currently focusing on all the related resources got archived. The number of posts this left me with to read is manageable and I plan on keeping a limit on how large I let my list get.

After addressing the blog backlog I went through all the courses I have signed up for and make a prioritized list. I will be spending a set amount of time a week working my through them one at a time. I have also put a hard stop on signing up for new ones until the number in my backlog has dropped below five.

Leave Time for Doing

I love to learn new things and plan for it to continue to be a big part of my life. Going forward I’m going to be much more mindful of the course my learning takes which will help prevent it causing stress.  The plan is for this to free up some of my time to allow me to use some of my learning to actually do something.

While learning is enjoyable, what is the point if you do nothing with it? Finding a project is a whole other level of stress, but one that is worth it. I was to put all I have been learning into more practical use. I’m excited to see where this all takes me.

 

Three Years of Blogging

This Thursday will be the third anniversary of my first post to this blog. This post is going to be similar to the post I did last year in the form of a retrospective.

Positives

Most of my positive points are the same as last year. I guess I shouldn’t be surprised as these are the reasons I spend my free time working on the blog.

  • Driver for learning new things
  • Opportunity to use new/different technology outside of my normal work
  • Helping others learn new concepts
  • Helping others overcome problems
  • Made my first contributions to open source
  • Comments from readers letting me know posts were helpful
  • No big hosting issues this year (thank you NodeHost!)

Challenges

Again most of the challenges are in line with what they were last year. I guess I should take that as a red flag and focus on solving some of my challenges instead of living with them.

  • Learning new things on a deadline
  • Self-applied pressure to meet my goal of a post a week (increasing my stress level)
  • Not focusing on stats, shares, comment, etc.
  • Picking the right things to learn
  • Time requirements taking away from other projects I would like to do

Top posts of the year

I was a little surprised at the makeup of this list. I expected to have more than a single repeat from last year’s list.

I did a series of posts looking at Identity Server 4 this year that didn’t make the above list individual, but as a total, the series was huge for me last year. If you are interested you can check out all the posts here.

Resources

There are a couple of resources that I want to point out.

ASP.NET Weekly is a weekly digest of all the best ASP.NET related news and blog post run by Jerrie Pelser. Jerrie does a lot of good work in addition to ASP.NET Weekly including a blog and a book.

ASP.NET Community Standup is straight from the team at Microsoft who is responsible for ASP.NET Core. These videos are a great way to get the scoop on what is in the works. Also, note that if you have watched in the past this show has moved from Scott Hanselman’s YouTube channel to .NET Foundation’s channel so update your subscriptions.

John Sonmez’s free blogging course is what finally pushed me over the edge to start blogging. It is a great resource to help get you moving.

NodeHost is my hosting provider. They provide super simple and cheap hosting. If you are looking for a place to host your own blog check them out. Combine them with Cloudflare and Let’s Encrypt and you are all set if you are going to WordPress route.

The next year

As usual, I am looking forward to seeing where ASP.NET Core goes next. Things like SignalR Core, HttpClientFactory, Entity Framework Core improvements are going to be great to explore.

Outside of ASP.NET Core, I am looking at putting out a very basic Xamiran app. Based how that goes you may see a few posts related to Xamiran in the next year.

If there is a topic you would like to see covered leave me a comment and I will add it to my list of things to look at.

Welcome to 2018

This isn’t the post I had planned for this week, but thanks to a failed automatic upgrade of one of the WordPress plugins this site uses I had to restore a back up of the site which destroyed a lot of the post meant for this week. Thankfully NodeHost does automatic backups every day and the restore process is super simple.

On the positive, it gives me a chance to try out something new. I am going to list the books that I read last year. For the ones that are available on Amazon, I am using affiliate links just to see what happens. A lot of these books come from John Sonmez’s book reviews playlist. Without further adieu here is the list broken out by rough category.

Biographical/Entertaining

Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
Living with a Seal (I laughed a lot on this one)

Business

EntreLeadership (Free gift from CodeStock 2 years ago)
The Phoenix Project

Health

The Obesity Code (Very informational if you struggle with weight read this one)

Parenting

The Kazdin Method for Parenting the Defiant Child

Personal Development

Think and Grow Rich
Boundaries
Triggers: Creating Behavior That Lasts
Never Split the Difference: Negotiating As If Your Life Depended On It
Banish Your Inner Critic
The Energy Bus
Eat That Frog!
The 10X Rule
Peak Secrets from the new Science of Expertise
Moonwalking with Einstein
Deep Work

Software/Career

SOLID Principles Succinctly
.NET Core Succinctly
Little ASP.NET Core Book
The Imposter’s Handbook
The Complete Software Developer’s Career Guide

Top Picks

The Phoenix Project is at the very top of my list from 2017 it uses a story to teach lean concepts from an IT perspective. I which I could get everyone in my company to read this book.

The Energy Bus helped me adjust my perspective and have a more positive outlook on life. If you have any issues with negativity check it out.

The 10X Rule is pretty high on my list as well. This book will get you taking action toward your goals if you follow its advice.

If you have any recommendations leave a comment as I am always looking to add new books to my backlog.