• CODEFUSION,  Continuous Integration,  Software Engineering

    MCET-SEC 4: Build server

    All right, all right! I will look into at the Docker while building my cost-efficient toolchain for a small Windows minded software engineering organization. Docker was the immediate feedback I’ve got from my developer at CODEFUSION. “Are we building our toolchain using containers?” – they’ve asked. “Nee!” – I’ve replied. Not because I have something against. It’s actually the other way around. It is because I do not have any experience with containers. I’m a Windows person. I know that Microsoft is all about Docker, but I have no time to learn I thought. Then I’ve started to set everything up on Windows. Repository with pull-request functionality based on Gogs…

  • CODEFUSION,  Software Engineering,  Testing

    MCET-SEC 3: Test Management Software

    My company, CODEFUSION, is 9 years old. We are growing organically. At the time of writing this words (March 2019) we are 14 people.  We are software development company founded and run by software developers. But from the beginning it was clear for us, that the business of software development cannot be successfully run only by developers. We knew that one of the most important aspects of being a software shop is to have good testers. So we hired great testers and quality assurance engineers trying to maintain the 20% ratio (devs to testers). At the beginning they were able to manage their work on foot. We were so few,…

  • CODEFUSION,  Continuous Integration,  Software Engineering,  Windows

    MCET-SEC 2: Repo

    This is the second part of the series MCET-SEC where we create a modern cost-efficient toolchain for a small but savvy software engineering company. I run a small development company of 10+ developers. We specialize in Microsoft .NET development (desktop, web, services) but we are doing a lot of in modern web (like Angular/TS) and mobile (Xamarin, native Android and iOS). It was a while since I’ve written “Continuous Integration in .NET” and build the toolchain for my company. It is time to renew it. Lets start with the repo. Repo it is a common name given by software developers to the most important tool in our toolset: a source…

  • Books,  Continuous Integration,  Software Engineering


    It has been a lot of time since I have written my book “Continuous Integration in .NET”. A lot of time at least in terms of modern software engineering. It has been almost 8 years. A lot changed in this time. I was starting to write the book still being a head developer in a middle-sized German software development company. Now I own myself a small-sized Polish software development company. These 8 years was a busy time. Building a stable company is a task that takes a lot of time. It was a time I neglected hobby. A hobby that made me write the book in the first place. How…

  • Hacks

    How to use Wireshark to get IP camera RTSP URL

    I have bought a simple IP camera. Manta SRV201HD. Nice, small, with a decent built and superb cost-effectiveness. Manual describes the configuration over an Androind/iOS app. I’ve tired and run away from the store seeing the permissions it needed to install: I want the other way around. I’ve connected to the camera WIFI using my laptop (it spreads a technical wireless network with some cryptic SSID) and went to the web interface (to check the camera IP you will have to go to the router DHCP table or use some WIFI sniffing tool). The configuration was seamless. Enter local WIFI SSID and password and reset. Now back to my local…

  • DotNet

    .NET Versioning Riddle

    We have a .NET application compiled with .NET Framework 4.5 as a target. The riddle is: why does this application work on Windows 7 with only .NET Framework 4.0 installed but not on Windows Server 2003 with the same .NET Framework 4.0 installed? The answer it twofold. The first part is easy: 1. Why does the application compiled with .NET Framework 4.5 as a target even works with .NET Framework 4.0? It is because the CLR is still the same. It is 4.0. Have a look with ildasm at a simple exe or dll targeted for .NET Fraemwork 4.5 and you will see: So the app will work but, as…

  • BPMN

    Certificate of Basic BPMN Competence

    On April 28th 2017 I’ve passed the Polish state examination of the basic competence in Business Process Model and Noatation (BPMN). The exam is carried out by the System Research Institute at the Polish Academy of Sciences. It is an exam in accordance with the requirements of the standard ISO / IEC 19510:2013.         The scope of the certificate contains: 1. Basic terms of business processes Process and sub-process Process goal and purpose of process modeling Map of processes Process model Process vs. procedure Process measures Participant (business role, position) 2. Basic terms related to process modeling in BPMN notation Objects in process diagrams Pools and lanes…

  • Article,  Conference,  Continuous Integration

    Machine Learning 4 Continuous Defect Prediction

    Defect prediction is a set of techniques used to identify a likely buggy software change (eg. a commit). Various measurements from previous changes are taken into consideration to predict weather a new change is likely to contain a bug or not. Commit messages or bug tracking system entries are usually examined to gather the measurements. Machine learning is often used to classify the buggy/clean changes. We are working now on adding a continuous notion to defect prediction. On one side by building on top the idea of continuous defect prediction in the IDE (Integrated Development Environment). On the other side by perfecting the prediction by using the unambiguous results of…

  • DotNet

    What is IL – practical example

    I’m sure you know your C# code is not directly compiled into machine code and ran. It is first converted into IL. CIL to be precise. Its stands for Common Intermediate Language. This CIL is then assembled into bytecode and compiled by JIT (Just-in-time compiler) into executable machine code. So much for the theory, but have you ever tried to mess with IL yourself? Not? Lets try it. Run the Visual Studio Command Prompt from the start menu. Find yourself suitable directory to tinker around. Create a program, compile it and run: C:\Dev\ilmagic>copy con p.cs public class p { public static void Main() { System.Console.WriteLine("Hello console!"); } }^Z 1 file(s)…

  • CODEFUSION,  Conference

    XVIII KKIO Software Engineering Conference

    I will be speaking at the XVIII KKIO Software Engineering Conference in Wrocław, Poland. The conference will take place between 15th and 17th September, 2016. It is a conference “covering all topics of software engineering research and practice”. This years motto is: “Better software = more efficient enterprise: challenges and solutions”. I will be speaking about “Agile Experimentation” (more to it soon). I will also cover the Visual Studio extension we developed at CODEFUSION called NActivitySensor. Let’s meet in Wrocław!