Posts

Lesson Learned: Start Small, Stay Sane

Lesson Learned: Start Small, Stay Sane Posted by Justin Minnaar Over the past few days, I’ve learned a hard but valuable lesson — one I think many developers and creators can relate to. I was rushing to build a product. I had a vision, a roadmap, and a thousand ideas swirling in my head. I wanted it all: a sleek design, robust features, scalability, security, CI/CD pipelines, database management, user authentication... the whole commercial-grade package. But somewhere along the way, I got overwhelmed. The complexity snowballed. I found myself lost in the weeds — trying to anticipate every future use case, every edge condition, every possible feature. And instead of progress, I hit paralysis. The Turning Point The breakthrough came when I reminded myself of something deceptively simple: start small . So, I’ve reset. I’m now building from the ground up using a basic framework. My first goal? Just get the home page working. Nothing fancy — just something visible, functional,...

Providing support to customers

On several occasions, the company 1-Grid.com which provides hosting of several domains I manage for customers, has had problems. Today I find that my account, and all domains managed by my account, has been suspended. According to their panel, everything is paid for and there are no explanations as to what is going on. This is when I become frustrated, as I can't reach anyone for assistance. Phoning them I'm told it is outside their normal operating hours. Logging a ticket online does nothing, as they have not responded to any of my tickets logged in the last month. So I guess this leaves only one option. Spend a day transferring all my customers to another provider. The lessons to be learned for the rest of us.  - Inform your customers of what is going on. - Provide support at all hours for them. - Choose carefully when looking for a company to host with. I am wondering if this is possibly a company decision to remove smaller customers by just ignoring them until they move awa...

C# 8.0 nullable operator

I converted one of our libraries to C# 8.0 and turned on the 'nullable' and 'nullable references' options. I was pleasantly surprised to find several potential bugs where the passing of a null value would have caused a null exception, and it was simple enough to fix these. (This library was built without unit tests, horror!) I found a few interesting things though. In the following function, we receive a warning from the compiler about a possible null dereference error. At first I wondered if using the base string functions, instead of the above, would resolve this: var value = "some string"; var empty = string.IsNullOrEmpty(value); if (empty) return; value = value.Trim(); // still getting a possible null deference So I changed the code to the following, and the problem goes away: var value = "some string"; if (x.IsNullOrEmpty()) return; value = value.Trim(); // still getting a possible null deference And then removed the function c...
 Blogging with style It would be nice to have the power of a tool like Confluence for editing my blogs, so I could include code samples by using the ` or ``` commands, Sample Code  And back to normal code.

C# safe-navigation ?. operator

Instead of writing... private StoBatch SelectedBatch { get { return (selectedArea != null) ? selectedArea.SelectedBatch : null; } set { if (selectedArea != null) selectedArea.SelectedBatch = value; } } In C# 6 we can now write... private StoBatch SelectedBatch { get => selectedArea?.SelectedBatch; set { if (selectedArea != null) selectedArea.SelectedBatch = value; } } I wish they would allow me to also write... private StoBatch SelectedBatch { get => selectedArea?.SelectedBatch; set => selectedArea?.SelectedBatch = value; } } It would be fantastic if I could just write... private StoBatch SelectedBatch is selectedArea?.SelectedBatch; I keep dreaming!