Blog

Tech
Spatial data - GIS

25.11.2020.

Spatial Data in .NET

Spatial data contains information about geometrical properties of a certain entity, such as the position, length and surface area. This kind of data could theoretically also be stored using conventional data types, but it would be quite inconvenient for processing. Therefore, many database systems and software frameworks support using special datatypes for spatial data. In this post handling spatial data in the .NET Framework will be covered.

Read more
Tech
Deep learning neural network

17.11.2020.

Deep Learning Neural Networks – PART TWO

Based on convolutional neural network architecture, which we explained in part one of this article series, we will show you how to create a simple deep learning convolutional neural network for image classification for the CIFAR-10 dataset.

Read more
Tech
Deep learning programing

12.11.2020.

Deep Learning Neural Networks – PART ONE

The most well-known deep learning architectures are certainly deep neural networks, DBF (deep belief network), and recurrent neural networks. Some of the fields where deep learning can be applied are computer vision, speech recognition, sound recognition, social filtering network, bioinformatics, drug design, advanced image processing, segmentation, whatever data has a time component, etc. In many scenarios, deep learning has shown equal and even superior results in relation to human expertise.

Read more
Tech
Database search

04.11.2020.

Query Optimization in Oracle SQL – Tips & Tricks

sql

You designed and coded your application, everything is working perfectly, your end customer is pleased, everything is firing on all cylinders… As time passes and your business starts growing, all of a sudden, the monthly report starts to arriving late – information that was needed in the morning starts arriving in the afternoon, your batch processes become slower and slower...

Read more
Tech
Encryption

14.10.2020.

What to Consider Before Using JWT

We know that JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed.

Read more
Tech
Security token and password

07.10.2020.

Introduction to JWT

For a long time, user authentication on the web consisted of storing pieces of very simple data (like a user ID) in the user's browser as a cookie. This worked pretty well – and still does for many applications – but sometimes you require more flexibility.

Read more
Tech
Flutter logo_green

30.09.2020.

Using Futures in Flutter

Long-running tasks or asynchronous operations are common in mobile apps. For example, these operations can be fetching data over network, writing to database, reading data from a file, etc. To perform such operations in Flutter/Dart, we usually use a Future class and the keywords async and await. A Future class allows you to run work asynchronously to free up any other threads that should not be blocked. Like the UI thread.

Read more
Tech
Statistics and question

23.09.2020.

Metrics, Logging and Tracing Are Just Data

Usually we think of logging and tracing data as continuously updated long chronologically ordered lines or records organized in plain text files with a relatively simple purpose – to keep record of the operating system, network, application or of service events and activities. 

Read more
Tech
Kafka logo on green background

17.09.2020.

Introduction to Apache Kafka

So, the idea of this short article is to give you a short overview of Apache Kafka. After reading this, you’ll have a notion of what Kafka is, why it was created and how you can integrate it in the microservice architecture.

Read more
Tech
Binary data in machine learning software

09.09.2020.

The Importance of Data in Machine Learning

Data is everything with a little bit of modeling on the side. So, let’s focus on a couple of key points of what kind of data is important, how much data you need, and how you can handle all this data.

Read more
Tech
Software with two bugs

26.08.2020.

Two bug application - myth or reality?

It is not surprising that, when the final product contains a small number of bugs, we need to take a closer look at it and see what led to such good results. In this article, we will study a small project that fits this description and that was completed with no more than two bugs.

Read more
Tech
SAFe for Lean Enterprises - scheme

17.08.2020.

Scaling Scrum – Intro to SAFe

You need a framework to achieve business agility in every aspect of your business operations. This will enable you to focus the entire enterprise on delivering maximum value to your customers in a rapidly changing global environment.

Read more
Tech
OpenShift and Jenkins DevOps logo

11.08.2020.

Introduction to OpenShift and Jenkins DevOps - PART TWO

From the perspective of OpenShift, Jenkins is a tool that can automate a developer’s OpenShift tasks. It’s that simple. There are several ways to automate tasks. Developers will need to do some configuration to get Jenkins working with OpenShift. It’s not like they can magically talk to each other. They’ll have to exchange some credentials and permissions.

Read more
Tech
OpenShift and Jenkins DevOps logo

07.08.2020.

Introduction to OpenShift and Jenkins DevOps - PART ONE

From a developer’s perspective, the process of software development is not simple. We create applications, complex systems, algorithms, modules, services, etc. – and in most cases, we initially start with a local environment (our PCs). But, when a certain version (a part or an increment) of software is finished, things are far from over...

Read more
Tech
Evolution frog

03.08.2020.

Evolution Towards Microservices and Cloud-Native Applications

Over the last decade, the Spring Framework has evolved into the most popular framework for developing Java business applications. The Spring Framework has facilitated the development of loosely coupled applications that can be tested. However, the world has significantly changed in comparison to a decade ago. In the meantime, applications have grown into monolithic ones, making them difficult to maintain. Because of this, new architectures began to develop.

Read more
Tech
Men pressing release buttton

29.07.2020.

Release Management

The paradigm shift from "Never change a running application" to "Always run a changing application" has introduced new challenges in the release process.

Read more
Tech
Ants' bridge

23.07.2020.

Microsoft Azure DevOps Server – One Ring to Rule Them All

In the DevOps ant yard things are constantly moving. New tools for different segments of the development cycle are being created and their capabilities ever more broadened.

Read more
Tech
Orange Fancy Frame

14.07.2020.

Welcome FancyFrame

A few months ago, when I did the PR for PancakeView (the version for WPF) and had some issues with borders (which had worked perfectly on UWP), I thought about whether the code could be written once and used everywhere. Does that sound familiar? 😊

Read more
Tech
Developers around table talking about Scrum and Agile Development

07.07.2020.

Scaling Scrum – Intro to Nexus

When it comes to efficiently managing the interaction and coordination of multiple Scrum teams in an agile way, the traditional management approach falls short of its mark. Clearly, one needs an Agile framework for scaling Scrum effectively.

Read more
Tech
Kotlin in web development

03.07.2020.

Kotlin in Web Development

Kotlin is a cross-platform, statically typed, general-purpose programming language with type inference. It has already taken over android development, but is it any good for web development? In this blog, we will cover a few of the best Kotlin features for your web application.

Read more
Tech
Laptop with charts and arrows

29.06.2020.

Estimation Techniques and Testing

Testing is not based on a defined time frame. Efforts continue as long as no predetermined time frame is set, regardless of testing completion. 

Read more
Tech
Arrow and money

24.06.2020.

Estimation – Issues, Guidelines and Techniques

It can happen that project managers resort to scheduling estimates. For whatever reason, if it happens, then it is difficult to estimate the schedule at a later stage and adjust the change of the project scope. Even good estimates contain inherent assumptions, risks, and uncertainty – and yet, if they do, they are often treated as if they were accurate.

Read more
Tech
Estimation techniques

18.06.2020.

Estimation Techniques – A General Approach

Software projects are time-limited processes in which a software product is created. When running such projects, it is necessary to include estimation techniques, which are an important and unavoidable part of the project.

Read more
Tech
Finger pointing at bad code with bugs

16.06.2020.

Code Quality – SonarQube

Do you know that feeling when you see a code and ask yourself: „Oh my God, who wrote this bad code?“ And after browsing through history you see the unpleasant truth – the author is you. It is nothing strange; we learn every day, and we have new and better ideas which we can refactor.

Read more
Tech
Monitoring of Application - Developer in front PC and three screens

08.06.2020.

Monitoring in HA Applications

The key goal of monitoring is an increase in situational awareness. There is no automation without observability, and there is very little situational awareness without monitoring. The role of monitoring is to deliver observable data in a human-readable format. We can, however, extract additional value by taking a few extra steps.

Read more
Tech
JShell logo

05.06.2020.

Introducing JShell: A Guide for Using the New Java 9 Feature

The shell or the REPL (read-eval-print-loop) is a well-known tool in many programming languages. Typically, this is more common in scripting languages such as Python or Node, but more recently it’s been adopted by JVM languages like Clojure and Groovy as well. The upcoming Java 9 release finally brings this shell functionality to the Java language as well, in the form of JShell. This blog post is a preview of the use of the new feature java 9 Jshell. More details about it you can find at web sites that are used as a source: Introduction Jshell and Tutorial Jshell.

Read more
Tech
Blazor App Interface Example

01.06.2020.

Blazor WebAssembly

This article touches on the WebAssembly hosting model. This model makes development much easier with its use of CSS, HTML and C# without any need for JavaScript. It can adapt to user needs of being tied to a specific app hosting model. User interface events are triggered and executed directly in the browser. In order to create new applications with this framework in the WebAssembly version, you need to have Visual Studio Preview 2019 with the latest ASP.NET and web development workload.

Read more
Tech
Scrum of Scrum of Scrums Scheme

26.05.2020.

Scaling Scrum – Intro to Scrum@Scale

As one of the most popular and widely accepted agile frameworks, Scrum was envisioned and designed to enable a single team to perform its work at optimal capacity and at a sustainable pace. Given the rising volume and complexity of work performed during the development of a modern product (or service), most organizations eventually had multiple Scrum teams working together. 

Read more
Tech
Cleaning code on screen

18.05.2020.

Clean Code

Does the following situation seem familiar? An application that has been working reliably for many years suddenly needs a security update somewhere in the code. It’s the software of all things, whose documentation has been somewhat neglected since the last release(s); the software, whose original developers are no longer available. So, what do you do?

Read more
Tech
Developer coding low code platform

13.05.2020.

Low-Code Platforms

Companies, from SMBs to large enterprises, in order to support their business processes inevitably use one or more software products, mainly purchased as an off-the-shelf package, or nowadays the leased peruse PaaS or SaaS products. Rapid market and business environment changes require fast process adaptation, which is why software should be quickly modified and made ready to support activities with minimal stress and costs. One of the possible solutions lies in using low-code development platforms.  

Read more
Tech
Best Agile Practices Icons

04.05.2020.

Best Agile Practices to Improve Productivity

Agile is an iterative approach to software development in which developers deliver functional code to their customers in smaller iterations or sprints. Agile practices help to deliver more value in one iteration and keep developers on track with project requirements. Here are some tips to improve your team’s productivity by using the best agile practices.

Read more
Tech
WebAssembly logo on black cover

01.04.2020.

WebAssembly: A Light at the End of the Tunnel

WebAssembly, in truth, neither is strictly web nor assembly. Then what is it? We will try to answer this question in this short blog series about WebAssembly. In this post we are going to start with a high-level overview of WebAssembly, how it works, what it brings to the web and how it will affect JavaScript.

Read more
Tech
MFC-.NET-interoperability

24.03.2020.

MFC and .NET Interoperability

This should serve as a short intro to the somewhat archaic MFC library. Nowadays, the .NET framework is much more widely used. Nevertheless, you might come across the need to connect an old MFC application to a new one written in .NET, for example, if the MFC one is too large and complex for easy migration to .NET. So, let's take a look at how to do that.

Read more
Tech
Git states and section of project

11.03.2020.

Three States of Git and Three Sections of a Git Project

git

These three states make a system based on promotion. Each file can reside in one of these three states and change states depending on what was done to it. 

Read more
Tech
Git logo and working icon

03.03.2020.

How Git Works

git

In order to understand how Git works, we first need to understand how Git saves data about changes made to one or multiple files.

Read more
Tech
Git logo

27.02.2020.

Introduction to Git and Types of Version Control Systems

git

Git is a Version Control System or VCS. VCS is basically software designed to record changes within one or more files over time. It allows us to undo or to cancel all made or pending changes within one or more files. If we're working on a project with many files, VCS enables us to control the whole project.

Read more
Tech
Moving from monolith architecture to microservices

19.02.2020.

Breaking down a monolithic application to microservices - you need to publish them somewhere

It’s not a panacea and it’s not a guarantee that it’s the right way of working with microservices but it works for us, maybe it’ll help you in breaking down your monoliths, or at least it’ll break some stuff.

Read more
Tech
Monolith vs microservices - illustration

19.02.2020.

Breaking down a monolithic application to microservices - real world examples and tips we use in our .net world

For our next steps, I wanted to give you a few real-world examples of designing and developing microservices that we use in our .NET world.

Read more
Tech
Breaking down monolith to microservices

11.02.2020.

Breaking down a monolithic application to microservices – where to start?

This approach might not be possible for every part of your system but you’d be surprised in how many cases you can implement it.

Read more
Tech
XamAnimation ProgressBar

04.02.2020.

Easily animate Xamarin custom controls built with SkiaSharp

Let’s se how we can simplify our gauge animation with Xamarin.Forms built-in infrastructure.

Read more
Tech

24.01.2020.

Porting ios control to Xamarin.iOS and then to Xamarin.Forms (with SkiaSharp)

When we need to use some custom control from ios and use it in our Xamarin.ios application we have two options to do this. Make bindings or rewrite it with C#. You may wonder: “Why may I ever need to rewrite control instead of just making bindings?” The first and most obvious answer is “you need to extend this control with your own properties and functionality”. The second answers is “you will need it to port to other platforms”.

Read more
Tech

16.01.2020.

Domain-Driven Design: A Short Introduction to a Complex Software Development Approach

In this blog post, I will try to define Domain-Driven Design (DDD), concentrating on one of its concepts, Ubiquitous Language (UL). This is a just quick overview, not the full explanation. I intend to give you a small glimpse into the terminology and practices that DDD represents.

Read more
Tech

08.01.2020.

Configuring Angular, Jenkins, and GitLab for CI/CD

This article assumes that you have a running Jenkins instance on your Linux machine with a valid domain (not localhost), GitLab and that you are familiar with the Angular framework.

Read more
Tech

19.12.2019.

CI/CD Cloud Voyage with Jenkins

In the past I played around with creating pipelines for Angular deployment with Travis and Google Cloud, but companies rarely decide to put their code on cloud. More often, they want their application to be developed, tested and run in protected environments where the company has full control and where it costs less money.

Read more
Tech

13.12.2019.

Database Transaction Isolation Level

A lack of knowledge about Transaction Isolation Levels can impact the quality of produced applications. That's why we prepared an e-book for database developers.

Read more
Tech

05.12.2019.

Proxy in Reverse: Nginx < Gitlab + JIRA + Jenkins

As you go about your daily business, moving JIRA tickets around and pushing code to Gitlab, most of you don't think about how it all works behind the scenes. It takes a bit of DevOps magic to make it all operate smoothly.

Read more
Tech

28.11.2019.

Working in Distributed Agile Teams

What are Agile Development and Distributed Agile Teams? What are the benefits and challenges of every Distributed Agile Team? How to build trust in physically distant groups of people, and how to overcome geographical and cultural differences to meet project goals?

Read more
Tech

13.11.2019.

Flutter

Flutter is Google’s UI Software Development Kit (SDK) and a great option if you looking to develop a mobile app in a fast and easy way, with minimal code writing. 

Read more
Tech

07.10.2019.

JPA Entity Inheritance

Recently I participated in a discussion with some quite experienced people in IT about ORM and how useful it is. Since I have had both good and bad experiences with ORM in the past, I decided to conduct some research on some good and bad ORM practices.

Read more
Tech

02.09.2019.

How to solve document generation problem

Word and similar tools become less useful when trying to fill in one template file with multiple different data sets. For example, many different documents where the only difference is the forename and surname. Doing this by hand becomes tedious and time consuming.

Read more
Tech
Fullstack developer

06.08.2019.

To be or not to be a full stack developer?

This article is intended for web developers as I come from that part and therefore consider myself able to speak only about full stack web developers. The article can be used as a list of things that you can put a checkmark or use it as a to-do learn list. Maybe, I will succeed in convincing you that full stack developer is an expression you should use very carefully. Let’s dig in.

Read more
Tech

01.07.2019.

A Guide: How to successfully manage a distributed software development team

Rise of distributed team popularity, especially in software development, is sometimes due to specific project needs, but in most cases, it's driven by the inability to hire the appropriate talent locally. Therefore, the need for establishing and successfully managing a distributed team is steadily becoming increasingly important.
This guide encompasses relevant experiences, practices, and recommendations, all of which aim to facilitate the art of successfully running a distributed software development team.

Read more
Tech

18.06.2019.

Using Q-Learning for Pathfinding

This post is an introduction to a method of reinforcement learning known as Q-Learning. We will use a simple example of solving a logic puzzle to explain basic concepts of this method. A basic knowledge of math and graphs is required to follow this post.

Read more