Wake Up And Code! | Adventures in web/cloud dev, and more!

Web Name: Wake Up And Code! | Adventures in web/cloud dev, and more!

WebSite: http://www.wakeupandcode.com

ID:249601

Keywords:

Code,Adventures,And,Wake,Up,in,and,more,

Description:

keywords:
description:
Azure, Simplified. (New Video Series) By Shahed C on April 21, 2021 3 Replies

Im pleased to announce the first intro teaser video for my all-new video series for all various cloud-related topics: Azure, Simplified.

Check it out, and stay tuned for more information!

YouTube Link: https://youtu.be/XD9S-rqc68w

This entry was posted in Azure and tagged Azure, cloud, learning, tutorials, video, YouTube on by Shahed C.
.NET 5, Blazor and more in 2021! By Shahed C on January 4, 2021 6 Replies

Update: Due to new personal commitments and more work commitments in 2021, I wasnt able to make much progress with my weekly C# A-Z series on dev.to/shahedc.
For now, Ill focus on some new content for my regular blog (this blog, WakeUpAndCode.com) and hope to revisit the A-Z series with .NET 6.

Original Post:

I published my first ASP .NET Core A-Z series on WakeUpAndCode.com back in 2019, from January to June 2019. I followed this with a new A-Z series in 2020, simultaneously mirroring the posts on dev.to as well.

2019 A-Z series: https://wakeupandcode.com/aspnetcore/#aspnetcore20192020 prelude: https://wakeupandcode.com/aspnetcore/#aspnetcore2020prelude2020 A-Z series: https://wakeupandcode.com/aspnetcore/#aspnetcore2020dev.to mirror: https://dev.to/shahedc

Going forward, my next A-Z series will cover 26 topics covering various C# language features. The C# A-Z series will be featured exclusively on my dev.to site under the .NET org:

.NET org on DEV: https://dev.to/dotnetC# A to Z Prelude: https://dev.to/dotnet/c-a-to-z-prelude-e3gA: Assignment with Init-Only Setters: https://dev.to/dotnet/c-a-to-z-assignment-with-init-only-setters-12moMore coming soon: https://dev.to/shahedc/series/10381
Preview of C# A to Z series on DEV

Meanwhile, this site (WakeUpAndCode.com) will continue to feature new ASP .NET Core content based on .NET 5, Blazor and more! To get a sneak peak of whats to come, check out my guest appearance on the .NET Docs Show (livestreamed Dec 7, 2020). You may jump ahead to 58:05 in the video for the sneak peek:

.NET Docs Show (Dec 7, 2020): https://youtu.be/P4wj8C2C78c?t=3485

The above video teases my upcoming cinematic visualizer app, which will allow the end user to connect the dots within a cinematic universe, e.g. the Marvel Cinematic Universe. The source code will allow any .NET developer to learn more about C# and .NET 5, ASP .NET Core, Entity Framework, Azure App Service, Bot Framework, Azure Functions, and more!

High-Level Diagram of Cinematic Visualizer

The goal of the web app is to make use of all 3 project styles available in ASP .NET Core:

MVC (Model View Controller)Razor Pages Blazor
ASP .NET Core web architecture

Developers frequently ask the developer community (and Microsoft) whether a particular web project type is preferred over the other. Last years blog series built upon the NetLearner web app by duplicating identical functionality across all three project types. This year, the cinematic visualizer app will attempt to use each project type of something specific.

MVC for data entryRazor Pages for the Portal siteBlazor for the highly interactive portion

The above choices arent necessarily prescriptive for the type of web apps they will demonstrate. However, they should provide a starting point when developing ASP .NET Core web applications.

This entry was posted in .NET, .NET Core, ASP.NET, Azure, Azure Functions, Blogging, Bot Framework, Database, Software Architecture, Web Development and tagged .net, .NET 5, .NET Core, ASP.NET, ASP.NET Core, Azure, Azure App Service, Azure Functions, Blazor, bot framework, dotnet, dotnetcore on by Shahed C.
10++ Tips for Dev Blogs in 2021 By Shahed C on October 19, 2020 1 Reply
Introduction

Have you always wanted to start your own dev blog? Do you have one now? Do you blog regularly or is your blog inactive at the moment? I asked these questions via a Twitter Poll and got a variety of responses.

Twitter Poll: https://twitter.com/shahedC/status/1317093434440798208

No matter where you are in your software development career, this blog post will help you on your blogging journey. Format your content, improve the material and promote it far and wide. Below are some tips I came up with, based on my personal experience blogging about .NET topics.

If youre looking for my ASP .NET Core A-Z Blog Series, you may go directly to the following URL:

https://wakeupandcode.com/aspnetcore/#aspnetcore2020Table of Contents:Headings and SectionsRegular FrequencyRelevant ContentAdvertising PromotionFacebook GroupsTwitter InteractionsLinkedIn OutreachRevisionsCode SamplesYouTube Tie-insBONUS: Mirror Sites1. Headings and Sections

TIP #1: Format your blog content into sections with HTML headings.

HTML headings arent just for visual appeal. They can be used by screen readers to identify when a new section begins. They can also be used by search engines to identify those sections to be displayed in search engine results.

Take a look at these search results when you search for Blazor shared libraries in Bing and Google.

Bing search: https://www.bing.com/search?q=Blazor+shared+libraries
Bing search results
Google search: https://www.google.com/search?q=Blazor+shared+libraries
Google search results

As you scroll through the first page of results, youll notice that the excerpt for my blog includes rich formatting for sections and their headings, where applicable.

On Bing, the H1 headings are extracted into clickable tabbed headers in the search results.On Google, the H1 headings are displayed as clickable links underneath the excerpt, while a Jump to link is provided to jump directly to the relevant section.2. Regular Frequency

TIP #2: Publish new content with regular frequency.

If you publish only one blog post, you may get lucky if some Internet users stumble upon your blog. But if you publish blog posts more often, especially with a predictable frequency, you may get repeat visitors who look forward to new content.

Take a look at my blog statistics from 2018 through 2020, to see how regular blog posts brought new/repeat visitors to my site.

Blog statistics from 2018 2020

In the above chart, you can see the following:

Late 2018:

2018 Series: https://wakeupandcode.com/aspnetcore/#aspnetcore2018Before October 2018, I barely had 2,000 views per month, as I did not publish any new/exciting content. I was mostly using my blog to upload my PowerPoint slides after a live presentation.In late 2018, I published my first ASP .NET Core blog series, which ended up becoming a surprise HAPPY NEW YEAR series (revealed in December 2018). The 2018 series spiked in December 2018 (40k views) with .NET Core 3.0 coverage around Connect(); 2018.

January June/July 2019

2019 Series: https://wakeupandcode.com/aspnetcore/#aspnetcore2019From January 2019 through June 2019, I introduced my weekly A-Z series for various ASP .NET Core topics. This series resulted in gradual increase in viewership, including a spike (54k views) around the launch of Visual Studio 2019 and C# 8.0.In July 2019, I released my free A-Z ebook, compiled from the 2018 A-Z series. This resulted in another spike (66k views) after the ebook was released, itself auto-generated using a .NET Core 3.0 Worker Service.

January June/July 2020

2020 Series: https://wakeupandcode.com/aspnetcore/#aspnetcore2020From January 2020 through June 2020, I published a new weekly A-Z series for similar ASP .NET Core topics. This now-annual series resulted in a steady level of views (60k+ views) each month that hovered near the previous years highs.Around April 2020, there was a spike (80k+ views) which was a new record for my blog.After July 2020, there was no new content, and the viewership continued to decline each month.

Im currently planning new content for 2021, to focus on .NET 5 and C# 9 topics.

3. Relevant Content

TIP #3: Publish new content that is relevant to your intended audience.

Its not just enough to format your content and publish with regular frequency. You should also try to maintain one or more themes for your blog, so that your readers can have an idea of what to expect.

In my case: I came up with topics that would be useful and relevant for a .NET developer, especially developers working with ASP .NET Core web apps and related technologies.

Take a look at the word cloud below to see popular search terms that led developers to my blog in 2019:

Word Cloud of Search Terms

From the word cloud above, you can see that people searched for terms like ASP .NET Core, MVC, Controllers, Web API, cookie, storage, VS2019, hosting, signalr, tutorial and many more search terms!

4. Advertising Promotion

TIP #4: Promote your work!

If a developer writes a blog in the forest, but theres no one around to read it, did they even write a blog? This age-old philosophical question should help you think about ways to promote your work. But advertising isnt just about spending money on online advertisements. In fact, Ive personally found that its not worth it for me to spend any money on advertising.

Your mileage may vary.

Let me explain: Ive never advertised my blog on Google or Bing (or any other search platform). Yet, my blog appears in top search results quite frequently. Organic search results are worth more to me than any paid results.

As for social media, Ive launched a Facebook page called Shahed Codes:

https://facebook.com/ShahedCodes
Shahed Codes, on Facebook

This page has less than 1,000 followers as of this writing, yet I get a lot more views on my blog. Thats because I promote the posts from Shahed Codes in a couple of Facebook groups with a large number of .NET developers. I had briefly tried advertising on Facebook, but the engagement from free developer groups are significantly higher than any engagement for paid ads.

5. Facebook Groups

TIP #5: Consider sharing your work with other developers on Facebook.

Speaking of Facebook groups, there are countless Facebook groups dedicated to various topics related to software development. In my case, I joined a handful of .NET groups such as:

DotNetCore Developers: https://www.facebook.com/groups/DotNetCore/ASP .NET Core Developers: https://www.facebook.com/groups/about.asp.net.core/
Sharing in Facebook groups

In the above screenshot, the post was shared to both DotNetCore Developers and ASP .NET Core groups, which resulted in over 8,000 people reached, just from a handful of shares. This reach would not have been possible if the original post wasnt shared beyond the Shahed Codes page.

ebook release post: https://www.facebook.com/ShahedCodes/posts/1902014353269519

With permission from a group founder/admin, I shared my weekly posts from Shahed Codes to both of these groups, once for every new post. In case your readers have any feedback or follow-up questions, be prepared to respond to other developers who reach out to you.

You may also get request for 1:1 communications via private messages. Personally, I dont have the bandwidth to help other developers via private messages, so I usually ask them to ask their questions in public posts/comments. Ill try to help if time permits, but this approach also allows others to chime in as well.

To verify the thumbnail (or update the cached image), you may use the Facebook Link Sharing Debugger (aka Facebook URL Linter):

https://developers.facebook.com/tools/debug/6. Twitter Interactions

TIP #6: Connect with other developers on Twitter.

The first rule of Twitter is that there are no rules on Twitter. Ive had a Twitter account since 2009, but rediscovered it in 2018, when I started sharing my weekly blog posts on Twitter.

My post popular post of all time made 1.8M impressions around the world, with a silly joke tweet in 2018. My post popular post in 2020 was a thoughtful tweet that resonated with a lot of people around the world, with 310k+ impressions. Somewhere in between, a nostalgic tweet about Visual SourceSafe made 158k+ impressions. My tweets about my dev blog posts usually reach much fewer people than any of these numbers.

That being said, the value of Twitter comes from the interactions with other developers. This includes Twitter users who are already using the technology youre writing about, and others who are just starting out. Best of all, we can learn something from each other.

Every time you share your content on Twitter (with a few #hashtags if appropriate), you may reach new readers who are interested in your content. Just like on Facebook, you may get questions and feedback from others who are curious to learn more.

CAUTION: Inevitably, you may also get nasty comments from people who have nothing better to do with their time. Use your time wisely. If its constructive criticism, think about how you may use their feedback to improve your content. If theyre just being mean for no good reason, take a step back and ignore/mute/block the person as needed.

Note that URLs shared on Twitter may be converted to a t.co short URL in the post itself BUT, the displayed URL should still show up as the correct URL. If the URL is too long, it may be truncated when displayed. The displayed thumbnail will also display a preview image and the domain of the clickable URL.

To verify the thumbnail (or update the cached image), you may use the Twitter Card Validator:

https://cards-dev.twitter.com/validator7. LinkedIn Outreach

TIP #7: Reach out to others in your professional network and beyond.

You may not be active on LinkedIn, but its quite likely that you have a LinkedIn account. Depending on where your connections live, they are mostly likely active around the clock, day and night. If you havent been on LinkedIn for a while, try to visit the site/app occasionally to see when more people in your network are likely to view your future posts.

Im not very active on LinkedIn myself, but I did share my weekly blog posts on the professional social network. This allowed me to reach additional .NET developers who may not be aware of my content posted to Twitter and Facebook. If Ive worked with them before, its likely that they might be interested in the new content Im sharing.

Similar to Twitter: Note that URLs shared on LinkedIn will be converted to a lnkd.in short URL in the post itself. This short URL may not be visible if its the last line of your post. To ensure that this URL appears as a clickable link in the post, add some additional text after the URL. The displayed thumbnail will also display a preview image and the top-level domain of the clickable URL.

To verify the thumbnail (or update the cached image), you may use the LinkedIn Post Inspector:

https://www.linkedin.com/post-inspector/8. Revisions

TIP #8: Update incorrect/outdated content but not too much.

By the time you read this post, some of the above content may become outdated. This is true for any dev blog post or tech book. What you do with outdated content is up to you. You could keep revising your content to correct obsolete/inaccurate sections, but that could prove to be an exercise in futility.

Worse yet, any posts or articles (your own or from others) may become inaccurate if theyre pointing to your updated content at the same old URL. To counter this, I suggest making only minor edits, including typo corrections and the addition of brief important notes to call out outdated content.

To publish new content that deviates significantly from the original content, I would suggest publishing a brand new blog post each time. This will let you pick a new SEO-friendly URL and create a new post that doesnt mess with any references to the original post.

This is how I ended up with a new A-Z series for each year (2019 and 2020) so far.

The 2019 series started with .NET Core 2.2 and Visual Studio 2017, but got upgraded to .NET Core 3.0 and Visual Studio 2019 along the way.With the new .NET release schedule (annual November releases), the 2020 series was able to maintain a single .NET version (.NET Core 3.1) and a single IDE version (Visual Studio 2019) throughout its publishing history.
.NET Versions and IDE versions over the years
9. Code Samples

TIP #9: Provide code samples, preferably linked to a public repository.

Back in 2018, my code samples were all over the place, in my GitHub repository:

GitHub account: https://github.com/shahedc

In 2019, I decided to introduce a new web app called NetLearner. The goal was to update this repo as much as possible, but my code samples were still spread out across multiple repositories.

NetLearner on Core 2.2: https://github.com/shahedc/NetLearner

In 2020, I decided to introduce a new version of NetLearner, built on .NET Core 3.1. Better yet, I wrote a mini-series of prelude posts before the A-Z series to discuss the project structure and the purpose of the NetLearner project.

NetLearner on Core 3.1: https://github.com/shahedc/NetLearnerApp
NetLearner on GitHub

From January to June 2020, I continued to built the NetLearner app every week, with 26 releases over 26 weeks. As of October 2020, the alpha version has been deployed to a public website, to demonstrate its features:

NetLearner demo: https://NetLearner.org10. YouTube Tie-ins

TIP #10: Use YouTube videos to complement your blog posts.

My work has been featured on various YouTube channels, including the official .NET Community Standup and (coming soon) the .NET Docs show. Ive also appeared on the Philly-based Dev Talk Show.

[VIDEO] 2019 A-Z Series + ebook on the .NET Community Standup: https://youtu.be/t5sBSOydYxI?t=308
[VIDEO] 2020 A-Z Series + ebook on The Dev Talk Show: https://youtu.be/QeCfUoodVfE

Coming soon, on the .NET Docs Show: https://dotnetdocs.dev/

I do have my own YouTube channel, where Ive published C# video tutorials many years ago. Going forward, I plan to publish new dev content on my YouTube channel:

YouTube channel: https://youtube.com/shahedc
11. BONUS: Mirror Sites

TIP #11: If possible, publish a mirror site, e.g. on DEV.to

My dev blog is primarily published on WakeUpAndCode.com.

Primary site: https://WakeUpAndCode.com

In addition to this site, I also publish the same content to a mirror site on DEV.to:

Mirror site: https://dev.to/shahedc
dev.to/shahedc
Conclusion

I hope youve enjoyed this writeup and found something useful that you can implement in your own blogging journey. Feel free to reach out with any follow-up questions if you need any guidance for blogging.

You can reach me on Twitter at:

@shahedC: https://twitter.com/shahedc
This entry was posted in .NET, .NET Core, ASP.NET, Blogging and tagged .net, .NET Core, ASP.NET Core, blog, blogging, blogs, dev blog on by Shahed C.
Debugging Multiple .NET Core Projects in VS Code By Shahed C on October 13, 2020 1 Reply
Introduction

Originally written up in a GitHub repo while helping out another developer, this blog post explains how you can debug multiple .NET Core projects in Visual Studio Code.

To download the sample code, clone the following GitHub repository:

https://github.com/shahedc/multiwebOpening VS Code

Launch VS Code with the project root as the current working directory. One easy way to do this is to type the word code followed by a dot . at a Command Prompt, Powershell window or Windows Terminal.

Powershell/Terminal Command:

code .

If you already have VS Code open, use the built-in Terminal (Ctrl+`) to change the current directory to the project root.

In either case, you should end up with VS Code open with the Terminal open in the correction location (project root).

Launch Configuration

This project containslaunch.jsonconfiguration for a .NET Core console project and a Web API projet.

Web API Launch Configuration
Console Project Launch Configuration
Debug Panel

In the Debug Panel of VS Code, observe that you can see both configurations, ready for launch.

Web API in Debug Panel
Console Project in Debug Panel
Setting Breakpoints

In the code for each project, set a breakpoint thats easy to identify.

Inside Get() method within WeatherForecastController.cs in Web API project
Console.WriteLine in Console project
Debugging with Breakpoints

From the aforementioned Debug Panel, run the Web API project and then the Console project by clicking the Play/Debug button for each launch configuration.

Note: when the web browser launches at the root of the website, you may browse to the WeatherForecast Controller manually, e.g.https://localhost:5001/WeatherForecast

You should see each program pause at the breakpoints you set earlier.

Breakpoint in Web API project
Breakpoint in Console project
Continue Running

Press the Play/Continue button to continue running while debugging. Observe the output in a web browser (for the Web API project) or the Terminal within VS Code (for the Web API project)

Output in Web API project
Output in Console project
Optional: Run Multiple Projects

As a bonus, I have added a Compounds section to the launch.json file.

    "compounds": [        {            "name": "Both Console  Web API",            "configurations": [                ".NET Core Launch (console)",                ".NET Core Launch (web)"            ]        }

This will allow you to launch both the Console app (in the Terminal) and the Web API app (in a browser) in rapid succession, with 1 click.

Debugging multiple projects
This entry was posted in ASP.NET and tagged csharp, dotnet, dotnetcore, Visual Studio Code, vscode on by Shahed C.
RELEASE: ASP .NET Core 3.1 A-Z eBook By Shahed C on August 3, 2020 1 Reply

As promised, below is the initial release of the ASP .NET Core 3.1 A-Z ebook. This combinesthe 26 blog posts from theseries of ASP .NET Core articleson this website.

ASP .NET Core 3.1 A-Z ebook cover

You can find thecomplete ebookon GitHub using one of the links below:

DOCX:http://bit.ly/aspnetcore31-docxPDF:http://bit.ly/aspnetcore31-pdfThings to note (updated):The cover image was generated using theCanvamobile appThe 2020 eBook isstilla work in progress

TAGS:Code Adventures And Wake Up in and more 

<<< Thank you for your visit >>>

Websites to related :
Steve Krug | Usability, mostly.

  keywords:Steve Krug,usability,usability testing,UX design,UX research,User Experience design,rocket surgery
description:Usability and User Experience

Supply Chain Today: Supply Chain

  keywords:
description:Supply Chain collaboration community with a heavy focus on automation including artificial intelligence, machine learning and di

Smartairaz Web Analysis - Smarta

  keywords:
description:
Web Analysis for Smartairaz - smartairaz.com

mtsindustrial.com

  keywords:
description:
Skip to Main Content PILLOW BLOCKS MOTORSFLEXCO FASTENERSV-BELTSMOTOR STARTERSBUSHINGSCOUPLINGSROLLER CHAINHOSEF

Google penalty expert and algori

  keywords:
description:Get your rankings back! We diagnose traffic drops and improve website quality in adherence with Google's guidelines.

Home | G-III Apparel Group, Ltd.

  keywords:
description:Visit G-III Apparel Group online to learn about our growing footprint as a global fashion leader. With a portfolio that spans ou

Country Digital | A digital agen

  keywords:hermanus, overberg, web design, web develpment, country digital, responsive, one page, portfolio, parallax, template, html5, websites, SEM, S

Alabama Public Television - Home

  keywords:
description:
Skip to content

A Day of Scala with Dianne Marsh

  keywords:Eventbrite, A Day of Scala with Dianne Marsh and Bruce Eckel, A Day of Scala with Dianne Marsh and Bruce Eckel tickets, A Day of Scala with D

IEM CETD

  keywords:
description:
IEM CETDChemical Engineering Technical Division, Institution of Engineers MalaysiaHomeCommittee 2012-2013Committee 2011-2012Com

ads

Hot Websites