• MCET-SEC 6: Schedule / Essential tools

    Since I’m running behind the schedule here with what I wanted to have by now, I thought, I share… this schedule. What I have in my pipeline while creating MCET-SEC – modern cost-efficient toolchain for a small but savvy software engineering company. 1. Modern repository (system that not only holds the source code but enables collaboration – pull-requests, commenting and so on). -> This is done. With one false start  with Gogs, resolved with Gitea. 2. Test Management Software. -> Done and working fine with TestLink. 3. Build server. -> Done with Jenkins. 4. Continuous deployment/delivery. 5. Static code analysis with central reporting. 6. Test automation. 7. Ticketing/issue tracking/time tracking.…

  • MCET-SEC 5: Repo revisited

    In the second part of my series of articles where I’m creating something I’ve called MCET-SEC: a modern cost-efficient toolchain for a small but savvy software engineering company, I have chosen Gogs as a repository for my company CODEFUSION. It is running smoothly since a month or so and we are hosting first projects under it. First feedback from the developers started to come. And it was quite critical. There is one aspect my devs are not found of. The way the pull requests are commented. They were used to the way Bitbucket does it. Where you can comment and engage in a discussion on every single line of the…

  • 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…

  • 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,…

  • 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…

  • MCET-SEC

    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…

  • 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…

  • .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…

  • 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…

  • 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…