Category: Technology
Getting Started with DTOs
A DTO is a plain C# class used to transfer data between layers (e.g., from your API to your Blazor client). It helps decouple your internal models from what you expose externally.
Create DTOs in a Shared Project
To share DTOs between your Blazor WASM and API:
- Create a Shared project (e.g.,
MyApp.Shared) - Add DTO classes there so both the Blazor client and API can reference them.
// MyApp.Shared/DTOs/ProductDto.cs
public class ProductDto
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public decimal Price { get; set; }
}
In your ASP.NET Core Web API:
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
[HttpGet]
public ActionResult<List<ProductDto>> GetProducts()
{
var products = new List<ProductDto>
{
new ProductDto { Id = 1, Name = "Widget", Price = 9.99M },
new ProductDto { Id = 2, Name = "Gadget", Price = 19.99M }
};
return Ok(products);
}
In your Blazor client project:
@inject HttpClient Http
@code {
private List<ProductDto>? products;
protected override async Task OnInitializedAsync()
{
products = await Http.GetFromJsonAsync<List<ProductDto>>("api/products");
}
}
Or use a service class:
public class ProductService
{
private readonly HttpClient _http;
public ProductService(HttpClient http)
{
_http = http;
}
public async Task<List<ProductDto>?> GetProductsAsync()
{
return await _http.GetFromJsonAsync<List<ProductDto>>("api/products");
}
}
Tips for DTO Design
- Keep DTOs flat and simple.
- Avoid exposing domain entities directly.
- Use nullable types if fields may be missing.
- Use records if immutability is preferred:
Fishing with Clickbait…

Cookie warnings
Everyone has to tell you they are using cookies, we all know this stop telling us, or stop using them.
Whitelisting
Now what website admins are hip to ad-blockers, everyone wants to be on the whitelist. You can either do that or subscribe to “premium” access. It’s gotten so bad with Screenrant.com that I had to stop visiting. When I put them on the whitelist I got so many javascript popups asking for a username and password to check my machine for a virus. When I took them off the whitelist they popped up a “premium” access offer and held my screen hostage for 30 seconds.
Pop-unders
Unlike pop-ups who used to throw up a new window. Popunders are those windows that dim the background and force you to read something before requiring you to take action. Some now have timers, they are also used with whitelists and…
Subscribe to our newsletter/email/discount
Usually, with some passive-aggressive statement such as “No thanks, I’d like to pay full price” or “I’d like to stay ignorant”. Sign up for any and prepare your inbox to be stuffed with garbage forever.
We value your feedback
Websites that need constant validation about how well they are doing. If you need feedback, you probably aren’t doing well.
Clickbait
Of course, everyone knows about clickbait at this point in their internet life. You know, you see an article titled “Man does this simple trick and lost 50 lbs in one day” Then when you click the bait, you see that he sawed off his own legs.
Why You Shouldnโt Hardcode Values in Software Engineering
Hardcoding valuesโembedding fixed data directly into your codeโmight seem convenient at first, but itโs a shortcut that often leads to long-term pain. Hereโs why software engineers should avoid it:
1. Poor Maintainability
When values are hardcoded, changing them requires digging through the codebase. This increases the risk of missing instances or introducing bugs. Instead, using configuration files, environment variables, or constants makes updates easier and safer.
2. Reduced Flexibility
Hardcoded values limit your ability to adapt to different environments (e.g., dev, QA, prod). For example, a hardcoded database connection string or API key means you can’t easily switch contexts without modifying the code itself.
3. Testing Challenges
Unit tests and integration tests often require different inputs. Hardcoded values make it harder to inject test data, leading to brittle or less meaningful tests.
4. Security Risks
Embedding sensitive information like passwords or tokens directly in code can expose them to version control systems or unauthorized access. Externalizing secrets to secure vaults or environment variables is a safer approach.
5. Violates DRY Principle
Hardcoding often leads to duplication. If the same value is used in multiple places, and it changes, youโll need to update it everywhereโviolating the “Don’t Repeat Yourself” principle.
In summary, hardcoding values might save time today, but it costs you tomorrow in maintainability, flexibility, and security. Embrace configuration, constants, and dependency injection to build robust, scalable software.
Spectrum internet monopoly

The only option I have for the internet is Spectrum. To get a good deal I have to make the business and residential services compete with each other.
After getting locked into a โdealโ for spectrum business class. They started offering lower rates and faster speeds. After several attempts, they offered to raise my rate to $349 a month rather than the $100 Iโm paying now. Not that good of a deal in my opinion.
So I decided to sign up for residential service at a lower rate and faster speed. But now the tech for the business class came by and disconnected me on the street. They truly are separate entities because they donโt check to see if you signed up for another service, they just cut the cord. I called to see if they would come to fix their mistake and they said since I’m a residential customer they wouldn’t touch the line. I said it didn’t stop you from disconnecting my residential a few hours ago.
So now Iโm at the mercy of Spectrum. The sad thing is if you are a business customer they will fix your problem within 4 hours, but now that Iโm a lowly residential customer I have to wait for the first available appointment. Even though itโs their error.
Fast forward a year, and I spent about a half hour today trying to give Spectrum my money for cable TV. The deal kept getting worse. By the time my base package was quoted, it was $160 for broadcast channels (no DVR) and internet. My current promotion ended and it was now $140 for both, which was up from $110 the previous month. So I ended up dropping cable and now only paying $60 for the internet. Now guess what’s showing in my newsfeed? Ads for Sling, Dish, and DirecTV. I will probably go with Sling since it works with AppleTV. Thankfully, AT&T Fiber is coming soon.
Effective Workflow Management in Git Branching

๐งฉ Branch Roles & Responsibilities
1. DEV Branch
- Purpose: Active development, feature integration, and bug fixes.
- Best Practices:
- Developers work inย feature branchesย off DEV.
- Useย pull requestsย with code reviews before merging.
- Keep DEV stable enough for integration testing.
- Rebase or merge MAIN into DEV regularly to stay up-to-date.
2. QA Branch
- Purpose: Integration testing and bug fixing in a controlled environment.
- Best Practices:
- QA is updated from DEV when a sprint or feature set is ready.
- Bug fixes found in QA should be made inย hotfix branches, then merged into both QA and DEV.
- Avoid direct commits to QA unless absolutely necessary.
- Tag builds for traceability.
3. UAT Branch
- Purpose: Final validation by business stakeholders.
- Best Practices:
- UAT is updated from QA after successful QA testing.
- Only critical fixes should be allowed here, ideally via hotfix branches.
- Keep UAT clean and stable for business sign-off.
4. MAIN (or PROD) Branch
- Purpose: Production-ready code.
- Best Practices:
- Only merge into MAIN from UAT after approval.
- Useย release tagsย and maintain a changelog.
- Protect MAIN with branch policies (e.g., no direct commits, required reviews).
- Consider usingย release branchesย if multiple versions are supported.
โ Additional Tips
- Automation: Use CI/CD pipelines to automate testing and deployments between branches.
- Branch Naming: Use consistent naming likeย
feature/login,ยhotfix/qa-bug-123,ยrelease/v1.2.0. - Documentation: Maintain a branching policy document for your team.
- Communication: Ensure everyone understands the flow and responsibilities.
Exploring Utility Neutrality: From Water to Internet
Do you remember Net Neutrality, do you miss it? Do you even notice when you had it? To me, it sounds like people are trying to say that people have a “right” to a fast internet connection. The next step is that everyone gets free gigabit broadband. The Internet is not a public utility, you still have to pay for it, just as you do water, electricity, feces removal, and rubbish pickup. If you want a better service I think if you should have to pay for it. Why would your ISP want to slow down Netflix, Hulu, and Amazon streaming? Not everyone has a right to transportation. You can ride your skateboard, bike, bus, train, personal vehicle, luxury car, commercial jet, or private charter plane. Which one would you rather take? In my opinion, it sounds like people are being paranoid because they don’t want to give up their favorite “free speech” websites. Take that however you want to. Since we are on the subject of “public utilities”. What about…

Water Neutrality
I will gladly pay more for premium filtered water coming into my house rather than the water that smells like it was just boiling a dozen duck eggs dipped in the sewage treatment plant. However, do I think that if I used my allotted water my water company will cut me off and let me die of thirst, no? But I pay more per month if I use more water, and I pay a minimum no water what. If I don’t pay my bill, then I get no more water.
Electricity Neutrality
I’d love a service where I didn’t get any brownouts. Companies are really cashing in on putting solar panels on your roof. What about energy neutrality, shouldn’t it all be free since the sun is free?
Website Neutrality
I already pay more for my internet because I want faster speeds, I don’t want buffering of my YouTube and Netflix so I have a business account. This way I don’t have to share bandwidth with all my neighbors who are playing video games. Truth is, I’ve already paid premium rates for Hulu with no commercials. Guess what, there were still commercials.
Trash collection Neutrality
I’ll pay more for a service where I can fill up as many containers as I want rather than just the one small one. And without bags, and I’ll pay someone to sort my plastic, glass, and cardboard. I stopped recycling because it became too much of a chore to separate all the crap myself. I don’t care about the environment anymore. Our society hates children anyway, so why should we care about their future?
Conclusion
Universities already have Internet 2 How is that fair with net neutrality? There is also this thing called the “Dark Web”, and I really have no interest in it. That thinking will still exist regardless. However, I would be interested in something called the “Light Web”. An internet that doesn’t have all the depravity, perversions, and other garbage so I don’t have to put a million filters on my internet router so I can keep my children sheltered as long as possible. Right now I guess the “Grey Web” will have to do.
Make Your Hashtags Readable: A Simple Guide

There is a time and place for hashtags. They are supposed to be short and readable. #dontdoahashtaglikethis #notproperhashtagusage. Those are hard to read. At a minimum, if you are going to build a long hashtag, use camel casing. #itMakesTheHashTagMoreReadable. If your hashtag is that long, just spell it out as a sentence.
Older folks read the hashtag as the pound symbol. So be careful when starting a hashtag campaign that starts with the pound symbol such as the #MeToo movement. Also, #hashbrowns are delicious.
How to manage robocallers

Remember back in the days before Caller ID and *69 when you could call someone and say something offensive, then hang up without any recompense? Well, now telemarketers have an arsenal of war dial devices at the ready.
My favorite is the lady who’s having trouble with her headset. The call starts with a “Hello, hello?” Then, an apologizes that her headset isn’t working correctly and she asks for a confirmation that you can hear her. If you say yes, then it’s a go-ahead for her (the robot) to begin the sales pitch. The second time she called, I said, “Didn’t you call me an hour ago?”. The robot replied, “I’m sorry, I didn’t get that. Can you please say yes or no?”. Once I knew it was a voice-activated prompt, I began asking all sorts of questions that she couldn’t process. Finally, I talked so much that it disconnected me. However, I still get calls from time to time.
Typically, if I don’t recognize the number, I will just silence my phone or double-click the power button to send it to voicemail. If the caller is not in my contacts and it’s an important message, they will leave me a voicemail. However, these robots are now starting to leave voicemails. My call block list is growing exponentially.

How to keep your kids safe at the pool

While at the pool, I had a great idea for a new smartphone app. It’s calledย iDrowned, the Anti-drowning smartphone app. The app works in tandem with a bracelet. Attach the bracelet to your toddler who doesn’t have swimmer’s wings on. The app will alert you when your child has fallen into the pool. As an upgrade,ย you can have a bracelet on yourself that sends out an electric shock once your kidย begins to drown. This allows you to keep looking at your smartphone as long as possible while ignoring your child.





You must be logged in to post a comment.