When Pair Programming Works
Pair Programming (PP) is one of the XP practices. Many modern software development companies use it in daily activities. On the other side in many places PP is treated as a waste of resources because the same result could be achieved with half of the effort. Software developers also have mixed feelings about this methodology, including me.
Read moreRoslynator Code Analysis
Roslynator is a collection of code analyzers, refactorings and code fixes. It is a Roslyn-based equivalent of FxCop. To some extend it is a replacement for Resharper from JetBrains. Of course R# is much more powerfull, bur Roslyntor is also getting more and more traction recently.
Read moreJenkins and Parametrized Branch Names
In one of the projects we work at Gemotial it was pretty cumbersome to test feature branches locally. The changes very often could have an impact on MSSQL or Oracle backend. We thought it would be great if we cloud run the changes on our integration tests configuration in Jenkins. Then, use the tests results (a link to it) in merge-request description. That way we could ensure that new functionality does not break the software.
Read moreMD Files And Why I Moved From WP
My blog always used Wordpress as the blog engine. I remember version 2.6. That was long time ago. During recent years the engine was actively developed by the community. Currently there is version 4.7.
Read moreThinking In Park?
Why there are parks in the cities? Why did city architects decide to keep those green islands?
Read moreWhat Is The Tech Stack For Me
Recently one of my colleagues asked the following question on Twitter:
Read moreHow To Recover After Exhausting Development
I've been programming for over a decade. During that time I went through several pretty difficult scenarios in my programming assignments. I want to share some thoughts in this post.
Read moreSeven Dev Personality Types survey summary
A few weeks back I've created a survey for developers. The idea was to test my 7 dev types and potentially uncover something new.
Read moreHTSMP - Documentation - bring identity for code puzzles
This post is a part of How To Ship Maintainable Product series
Read moreKatacoda
For the last few weeks, I have been learning docker. The start with new technologies was, as usual, easy for the basics and fairly difficult for the more advanced stuff. On some stage, I found KataCoda. The service motto is: Learn new technologies using real environments right in your browser.
Read moreHidden motivation ingredient
There are plenty of books about motivation. How to motivate yourself and others. We give ourselves something we like after finishing a difficult task. It can be a chocolate bar or an hour of video gaming. We try to motivate out employees with many benefits: free healthcare, informal Fridays, pizza days, in-house conferences etc. At the beginning it works quite fine, but as we go the effects are weaker and weaker.
Read moreWhat Do You Do When Programming Sucks?
This post is also available in Russian language at Softdroid
Read moreTest Message Explained
In one of my previous posts I briefly described the concept of test message. Today I wanted to explain it in more details. The need of having production system operational is self-explanatory. It is the highest priority in all businesses - be able to operate. Without any doubts regarding software quality. Users need to trust the system.
Read moreTeamCity and W3C Validator
As you may know I'm a big fan of automation. I like to have things done in background and just receive notification if something happens. This saves time and allows me to forget about yet another thing to check situation.
Read moreHow to learn new language (or other thing)
In IT industry we have to learn quite intensive new things. Everything changes, but in our industry, it happens much faster. Today's buzzword is forgotten tomorrow. How do we approach that? 's annoying and silly to waste time on somethings like that.
Read moreTechnical debt types
Technical debt in software development is considered as implementing quick and dirty solutions in order to satisfy user (or deliver a sprint - Sic!). Those solutions should be paid-off in the future.
Read moreConference types
As IT community grows every year it is natural that supporting events like conferences, user group or hackathons will appear more often. Developers are attracted by free food and drinks, top speakers or new devices to test.
Read moreTiny git repositories automation to save 5 minutes daily
I'm a big fun of automation. I would even say 'what can be automated, can be forgotten' and you can focus in important things. This post happen to be next in new series called "Automation". The series came out somehow, I didn't plan it. It just seem that there are things I would like to share :)
Read moreAutomate everything!
We all suffer from having not enough time. Time to do this or that. I did some research on where is my time spent. My daily (and simplified) activities that could be automated look like following:
Read moreBizTalk - how to create message on orchestration programically
Since 2 years I have the opportunity to work with BizTalk. This post is one of "BizTalk series". I'll keep posting interesting tricks that are easy to do, but not so easy to find on internet.
Read moreMSMQ Viewer (Mqueue)
Working with MSMQ can be hard. Windows does not provide a tool to generated or edit messages on the queue. There are plenty of tools that can do that for you. Especially I like Mqueue Viewer
Read moreLearning from different types of books
In the past, there were myths and legends passed between generations. Later Gutenberg introduced printing... the knowledge started to spread across the world rapidly. This day's books are the main sources of transferring knowledge. Open-minded people read a lot. I try to stay open-minded...
Read moreNuget and strong-signed dll
Nuget is very good packed manager tool for .NET projects. We all use Nuget to get all necessary dependencies in our project. Usually, our projects are installed in Program Files or inetpub, which is perfectly valid :) Referenced dlls will be installed along with our projects. Everything is great!
Read moreDebugging WPF Bindings
WPF + MVVM is a very common way to make windows apps. It introduces the concept of data binding. We create a view-model based on one or many models and bind it to the view. Usually, it is easy... But how do you debug bindings if something is not going right? For example, you have Control Templates and styles and so on introduced in your app.
Read moreLocal IT communities - the snowball effect
I like to meet people, discuss things related to programming, new technologies, ideas and so on. I was living in several cities and always wanted to stick to people sharing the same interests. After moving to Wrocław a few years ago I immediately joined WrocNET. At the moment I'm one of the organizers and looking forward to the next meeting :)
Read moreMultilingual team communication
Communication is a substantial skill for humans. That applies also to software projects.
Read moreLogging in application
Logging information on how our application behaves is very often omitted or not properly handled by developers. We don't know what and when to log. We don't have a logging strategy. In this post, I' share my thoughts on this topic. Let's start with what hurt us when it comes to logging information from our projects.
Read moreGenerating xls documents with checkboxes in C#
A short while ago I had a task that required generating excel documents (xls) with special OLE objects. Checkboxes, to be precise.
Read moreRefactoring ScreenCast - PART 3
My third ScreenCast from the Sample refactoring
series is already available!
Refactoring ScreenCast - PART 2
My second ScreenCast from the Sample refactoring
series is already available! In polish again.
Refactoring ScreenCast - PART 1
I want to share with you a ScreenCast I've recorded recently. This is the first of a whole series. The main topic of the series is: Sample refactoring
.
My SVN/GIT ignore files pattern
For all who are looking for good ignore pattern. I use follow one:
Read moreWrite Unit Test for the bug
When you fix a bug and you feel that it may occur in the future, don't waste time and write at least one Unit Test to check code against that bug.
Read moreCheck code changed before commit
This is often daily scenario in programmers work. Work day is about to end, You are in a hurry with finishing coding, just final commit and go home :) Looks natural. Save your work somewhere. Not so fast my friend!
Read moreUsing different .config file in .NET application
In .NET world executable files using by default configuration file with special name. Microsoft has implemented following pattern: executable: program.exe and corresponding configuration file program.exe.config. In many scenarios this pattern is fitting well, but there are some cases when something else necessary. In my situation common configuration file was desirable! One configuration file with shared app settings, configuration strings, etc.
Read moreDealing with architecture bugs. Case Study
Architecture bugs are one of the hardest to solve. To solve in a proper way ;). Almost always they affect a huge part of the system. Fixes can have an impact on all application layers because mostly a fix requires changes in more than one layer. If the system is designed according to a set of rules (i.e. is not tightly coupled) then after fixing we don't have to sit and shake because something else somewhere else may crash...
Read more