Making the transition to C#

Posted: Friday, 12 March 2021

I have worked with a lot of C/C++ programmers over the years, who have wanted to take up or convert to C# in particular for a multitude of reasons, but have never done so. Most could not believe that a company would pay them their expected salaries during the transition. I managed to do it, and this article is my bit to encourage those still willing that it is very, very possible.

Read Making the transition to C#

An introduction to Blazor WebAssembly

Posted: Tuesday, 2 February 2021

Blazor WebAssembly is a new UI technology from Microsoft that allows developers to create single-page applications using C# and .NET utilising a component-based architecture

Read An introduction to Blazor WebAssembly

Powering up a customer service helper bot with AI

Posted: Monday, 11 January 2021

When you’re an inventive company, you want your employees to be spending their time on fresh new ideas, not repetitive queries. Learn how Rock Solid Knowledge built a customer service helper bot for Garden Games, powered by Umbraco, KHAOS Control and Microsoft LUIS.

Read Powering up a customer service helper bot with AI

Machine Learning Club

Posted: Wednesday, 16 December 2020

You might have heard of "machine learning". Maybe it was through an advert for an online course or someone complaining about the dreaded “Algorithm” that rules most of online life. We’ve been running a weekly Machine Learning Club to skill up our developers in this space

Read Machine Learning Club

Switching to Tailwind CSS, a utility-first CSS framework

Posted: Thursday, 2 July 2020

What is Tailwind CSS? What is a utility-first CSS framework? Find out how switching from bespoke CSS, Bootstrap, or other frameworks can help improve your front-end development productivity and maintenance.

Read Switching to Tailwind CSS, a utility-first CSS framework

Locking & async/await

Posted: Tuesday, 10 December 2019

You may have noticed that the C# compiler gets very upset if you try to use an `await` inside a `lock` statement. There is a reason for this but what if you need synchronization when calling async methods?

Read Locking & async/await

The umBristol Umbraco V8 hackathon

Posted: Tuesday, 18 December 2018

As part of the umBristol Christmas Party day of events, our developer, Karl Tynan, recently attended the Umbraco V8 hackathon on a boat in Bristol.

Read The umBristol Umbraco V8 hackathon

Decoupling views and navigation Xamarin.Forms

Posted: Thursday, 4 October 2018

Navigation in Xamarin.Forms is tightly coupled to the UI. How can you go about breaking that coupling and making your ViewModels more testable?

Read Decoupling views and navigation Xamarin.Forms

Awaiting multiple tasks effectively

Posted: Wednesday, 23 May 2018

Working with the Task API and async and await makes consuming asynchronous operations very straightforward. However, what if I want to process several asynchronous operations concurrently?

Read Awaiting multiple tasks effectively

Mobile app development is key of 2018

Posted: Wednesday, 7 February 2018

Many of us have seen the rise in mobile use, it now seems strange that you would be without a smart phone and also not to use it to order products and help keep our lives in order.

Read Mobile app development is key of 2018

Xamarin.Forms tip: How to restrict entry view

Posted: Monday, 22 January 2018

As a Xamarin Forms developer sometimes all you need is a way to ensure that users of your application only enter specific characters into Entry views. For me, it was to restrict the entry to numeric characters and a single decimal.

Read Xamarin.Forms tip: How to restrict entry view

Creation of an Alexa skill using an internal HR API

Posted: Thursday, 23 November 2017

With the automation of HR management here at Rock Solid Knowledge we wanted to create a new way to remember who was meant to be in the office. So with a recent office purchase of an Amazon Echo, I decided to take on the development of an interactive program that could be invoked via Alexa...

Read Creation of an Alexa skill using an internal HR API

Something about nothing

Posted: Tuesday, 12 September 2017

I must admit when I first saw the list of new language features for C# 6 like many I wasn’t that impressed, especially off the back of async/await. This last month I have at last started my first new real C# 6 project and I must say while the features have not been earth shattering they are actually a joy to use…

Read Something about nothing

Unit testing decorator base classes

Posted: Tuesday, 12 September 2017

When using the decorator pattern it is a common practice to create a base class implementation of the abstraction that simply forwards all calls to the decorated class. This means that in the actual functional decorators, once you derive from this base class, you only need to implement the behaviour for the specific methods...

Read Unit testing decorator base classes

Let's stop the async suffix BS

Posted: Thursday, 7 September 2017

There is a common pattern that is used in .NET APIs where anything that returns a Task has the suffix Async…

Read Let's stop the async suffix BS

Working with CancellationToken and Dispose

Posted: Wednesday, 30 August 2017

CancellationToken were introduced in .NET 4.0 as a general purpose cancellation framework. It is often associated with Task as that was the first API to it. However, it is, in fact, independent of Task and should be used wherever you are supporting the concept of cancellation as async APIs you may call with be designed with it in mind…

Read Working with CancellationToken and Dispose