Golden Award for Technetium 2019 Challenge

This was an interesting challenge for me, first of all because C# was not offered as an option for solving the problem and the problem itself was a nice brain puzzle. I managed to solve this with Java and GoLang

TecheniumChallengeResult.png

This is the problem description:
You are given a matrix A consisting of N rows and M columns, where each cell contains a digit. Your task is to find a continuous sequence of neighbouring cells, starting in the top-left corner and ending in the bottom-right corner (going only down and right), that creates the biggest possible integer by concatenation of digits on the path. By neighbouring cells we mean cells that have exactly one common side.Read More »

Golden Award for Molybdenum 2019 Challenge

It’s been a while since I took my last challenge on Codility and this was the first one I did in 2019. I felt a little bit rusty but it was a great weekend algorithm challenge. I managed to do 100% points on correctness and performance which is awarded with a Golden Award.

Molybdenum2019GoldenAward.png

The challenge was marked as hard but personally I didn’t felt like it was on the level of the hardest challenges on Codility.Read More »

2018 Codility Challenges Summary

This year I found myself to be very much interested into algorithm challenges and the format of Codility seemed most suitable for me. I did total of nine challenges this year and got nine Golden Awards.

CodilitySummary.png

Here are all of them listed and you can check all the solutions, certificates and blog articles. Feel free to ask me questions if you need additional explanation about some of the solutions.Read More »

Those who can’t farm – make farmland fields algorithms

Farming is something that I want to do in the future, farming with using technology and robots and… but I’ll write about that in some other occasion. One of the latest Codility challenges  was farmland sprinklers arrangement problem and finding an optimal way to do that. Besides that I got algorithm mind challenge this time I got inspiration and made me daydream about the possibilities in farming with using technology.

SprinklersArrangement.png

So here is what you need to do in order to help Joe the Farmer.
Joe the Farmer owns a square plot of farmland whose sides are of length N. The land is split into N rows and N columns of equal size, so that there are N2 identical square fields within the farmland. Read More »

How to automatically add base class to table mapped classes and data context in LINQ to SQL

I always tend to use LINQ to SQL (L2S) in smaller projects rather than Entity Framework (EF), it’s more lightweight and provides faster development for projects of this scope. Of course, for more robust system I would go with EF because of the better control and the relations between the context objects. If you like to go more into details on this read this topic: L2S vs Ef.

single-table-inheritance-in-linq-to-sql.jpg

Inheritance is much easier to implement in EF but it can also be done in L2S although in a not very clean way, at least not that I know of. Here I’ll show you how can you add a base class to the L2S entities that can be used for auditing, creating domain events or whatever behavior that you want to achieve across all entities.Read More »

A story about a real struggle with an algorithm

I don’t have that much of a free time but from the one I have I try to make the most of it, and I think that is very important to have quality hobbies. For some people that is crossword puzzles, for some is reading books, for me that is running and from this year I’m taking participation in Codility Coding Challenges as well.

pcthinking.jpg
In this post I would like to share my experience with the latest Codility challenge – Cuprum 2018. Read More »

Migrating SignalR from ASP.NET Web API 2 to Self Hosted Server (Part 3)

This is the last one of the series I’ve planned about SignalR, this time I’ll demonstrate how can we migrate the SignalR system that we previously created to a self hosted server and in that way have a very light weight server application that will have all the functionalities that we need and nothing more than that. The point is to get the exact same behavior of the server as we had it when we build it with WebAPI2.

SelfHostedSignalR.png
Photo Credit Code Project 

In a case you missed the first two posts please review them here
Part1: SignalR, what is happening under the hood
Part 2: How to build chat server and client with SignalR and ASP.NET WebAPI 2Read More »

How to build chat Server and Client with SignalR and ASP.NET Web API (Part 2)

So here we go we the second part about using SignalR where I’m going to show you a practical example on how to build a SignalR based chat system, how to build the client and how to build the server. In case you missed the first part about SignalR and want to discover more on what is happening on a lower level please check my previous article SignalR: What is happening under the hood (Part 1).

ChatClients.png

The code is available on GitHub and the solution currently contains two projects, one for the client implementation and one for the server implementation. Later, I plan to add another project here for the self-hosted server and we’ll use the same client but this time using this server.Read More »

SignalR: What is happening under the hood (Part 1)

SignalR provides us the possibility of real time, two way communication between the browser (or any other client) and our server. There are many possibilities on what can you do with this technology, many advantages that you can use, I don’t want to be too wide in one article so I plan to write three of them starting with this one. Here I want to write more about SignalR, what is happening under the hood  and describe some of the main components when building a system on top of it. But what is theory without practice?

signarlRSystem.jpg

That is why, in the second article, I’m going to make sample demo on how to implement SingnalR in your Web API 2 server and also make sample client that will communicate with that server.Read More »