Bright Inventions

Comparison sorting part 1

Sorting data is one of the most important tasks that computers have been doing since they were invented. Over those years developers have found many ways of doing it.

Use ShouldKO for better assertion messages

Most of us write tests these days. Whether they are unit, integration, end-to-end or performance tests once written we often do not go back to them until they fail. It is thus vital to have a clear assertion message when a test fails.

My motives for MVVM + FlowControllers path

There are many different approaches to building an iOS application. MVC, MVP, MVVM, VIPER, Redux... And surely, you can name many others. I've been writing iOS apps for some time now, and I have noticed that MVVM + FlowControllers approach works pretty well for me. In this post I'd like to focus on "WHY?" I use it over other approaches, "HOW?" I use it in my apps.

Multi tenancy task scheduler

Last time I showed how to extend Spring default request handler adapter so that we are able to schedule or reject incoming requests. The goal of the TenantTaskCoordinator is to: queue requests for processing limit the maximum number of concurrently processed requests reject requests after the maximum queue size is reached interrupt processing of a request upon an upstream subscription disposal

Testing Android ViewModels

In my previous post I described how to implement injectable Android view models using Dagger and ViewModel library from Android Architecture Components. In this post I will show a simple way to unit test the view model created then. You can find the full code in the same repository as previously on GitHub.

Tabs - navigation pattern on Android

Proper content organisation in your Android application may be achieved with a wide range of layouts and widgets. Today I’d like to focus on tabs that is what kind of components are dedicated to using tabs in an application, what are the key principles in using them and how to customize their view.

Polish Tech Night

During my four-day trip to Berlin I had a pleasure to participate in the 3rd edition of Polish Tech Night as a member of group led by Gdański Inkubator Przdsiębiorczości Starter. Polish Tech Night is an event connecting Polish tech startups with German ecosystem, combined with numerous workshops on the plenty of subjects like business cooperation, venture capitals, or law aspects of running a company in Germany.

AWS CloudFormation patterns & practices with cloudform

Recently we introduced cloudform – our open-source library that allows for managing AWS CloudFormation template files through TypeScript. Its core value proposition is to cope with the massive JSON files in a sane and familiar way – to treat it as any other TypeScript code we have in our project. But what does it actually mean? Let's look at some examples to check where this path can lead us to.

Multi tenancy in Spring MVC

One of our clients aimed to replace old, often DOS based, point of sale systems with a cloud based, SaaS modeled solution. At Bright Inventions we have developed all required components including AWS based back-end processing requests originating from multiple clients. Each business that uses the SaaS point of sale can be considered a tenant in a multi-tenant environment. There many aspects involved when developing multi-tenant application with data isolation and partitioning being the most discussed topic. However, today I would like to focus on computational and resource isolation aspect.

Injectable Android ViewModels

In the following post I’m going to show a simple (almost boilerplate-free) yet powerful implementation of the view models dependency injection on Android using Dagger.