Posts

Applying an internal forums system in the company culture - thoughts

Image
Long gone are the days where, as children, we used to tie a string to two boxes and shout messages at each other. Communication for some of us has changed from phones with a round dial to smartphones in a decade.

Having worked in several places with a mobile based solution for groups of teams and dev departments forum/chat system as well as  a couple of places with an internal forum/social media system in place, I have seen more often than not that the adoption rate of such a system is diverse. Some like it, some not and some participate on a whim. And in some places it is obligatory.

However what happens when you find yourself accustomed to such a system and arrive at a place where there was none, and one is being applied. How does an organization make the shift from coffee machine pow wows to an internal forum/social/chat board. TL;DR Success of such a forum depends on... oh quite a few factors
It is not the medium, it is the content This is not a post on the different solutions out…

How to port a .NET framework project to .NET Core including tests - A Guide

Image
So you want to port your project to .Net Core and don't know how? Are you reluctant to let go of your traditional .Net Framework targeting but want to have a taste of the new .Net buzz?  Is the information on the subject incomplete or too confusing (yes it usually is). Well you have come to the right place. TL;DR This is guide. It will hopefully save you time. Rejoice.
A tale of two frameworks (well actually 3)  I will make this one short and sweet and let this article tell the tale. I recommend to read this article  before you continue: .NET Standard - Demystifying .NET Core and .NET Standard.
To port or not to port It depends If this is your production code and there is no prospect to run it in a platform other than windows then maybe not. If it is a huge complicated project then maybe notIf it is your open source baby maybe yesIf it is a new project and you see the benefit of it being cross platform maybe yes The considerations are many and it is up to you to decide. In any case…

It's been a hard year's... coding - Happy Holidays 2017!

Image
I have found myself lately learning all sorts of new things. I am mostly using this very known video courses web site. Every course is between 5-10 hours broken down to sections and clips. And this is when my mind goes blank TL;DR sometimes you need to take a break.




Take your brain to.. golf Regardless on whether you are coding, reading a technical book or taking an online course at some point or another you may find yourself being stuck on he same lines of code, or paragraph in a book, or rewinding the video of that course. This is it; your brain has had enough. You need to "F5" your brain cells. And this you do by either getting up and taking and stroll around the cubicles or get out in the open air and have your eyes look towards the horizon.. or.. whatever makes your brain disconnect for a while from the task at hand.

So towards the new year and in the midst of the holiday season and the time resolutions are being made through the best intentions of being kept, make one …

On job hunts and recruiters

Image
Job hunting for a software developer is a full time job. One polishes and hones one's skills and CV, scours the placement advertising sites and goes out to the world to seek one's next challenge. Ever since the late '90s of the previous century some things have changed and some have not when it comes to looking for a new job. TL;DR tech recruiters have changed.
Online presence and you Towards the end of the last century all we had was CVs and not so polished web sites to send our CVs to. Placement companies did their best to make their sites shiny and down the road they even had job posts online with an appropriate submit button to post your CV for a position. In time they also made agents for you to set your job preferences and have the agent send you a notification when a relevant search came up with results.
And then somewhere in the second decade of the new century something changed. Your online presence became much more important, not only when looking for a job.Your …

Distributed monolith - a microservices nightmare

"... and then the interviewer coined an expression. I stared wide eyed as it hit me... microservices or not the monolith looms behind every feature... and it is a distributed monolith" TL;DR not what you think read on. From monolith to microservices to monolith What is it that fascinates developers all over the world with microservices? Some say it is the separation of concerns into tiny services focused on one task. Some say it is the scaling capabilities the architecture provides. Others like the fact that there is no single point of failure. Or is there? I came across this video and article by Ben Christensen about the perils of a miscoservice architecture to become a distributed monolith. And then it hit me. It is not only what is described in the article as signs and perils of a distributed monolith.

Consider a set of microservices "perfectly" orchestrated. They each pass around different DTOs, even if duplicate ones, that can evolve in separate paths over ti…

.NET Core - a quick observation

.NET Core is:

A substantial rewrite of .NET in the makingA better .NETA multi-platform .NETA way to leverage an amazing language like C# over Linux and IoT (based on Linux) .NET Core is not:

A one stop shop  - yet Only for webOnly for cloud development

Evolving code and adding new technologies - Part 4

Image
In this part we will focus more on the process of changing a system architecture and the design at hand  than on code. After trying different approaches in an effort to not change the architecture entirely, with no success, there is only one thing to do. Change the architecture entirely. TL;DR Brace yourselves, major changes are coming. And they are good!

For a recap here is Part 1Part 2Part 3 and Part 5
What this change is not The system at hand is an on premise system. It does not run in the cloud. I dare say that it does not even run on the same network as the customer's other services. It is an island with a closed network with no access to the world outside including the client's kitchen. These things exist to the extent that remote debugging is not possible, not even plugging a USB key after installation (if there is a USB port on the machine). I plan to address debugging such systems in a post after the series is over so stay tuned ;) About the process of changing a…