Bright Inventions

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.

Implementing a simple pedometer using Swift

Core Motion is well-known iOS framework. As we could read in [docs]( it process accelerometer, gyroscope, pedometer environemnt-related events. In this post I want to focus on pedometer events and how to handle it.

Bright Year

There is nothing more important than people at work who support you, who help you, who share their knowledge and experience with you, and who come to work with a big smile on their face. And I have this kind of people around me. I suppose it is the most incredible motivation that anyone would like to have. Seeing clever, full of passion and energy people every day in the morning can really give you an extra kick.

Working with iOS push notifications

Push notifications, also known as remote notifications, are a tremendously useful feature of mobile applications. They can be used for sending users marketing offers, increase users engagement by providing a personalised content, implementing a chat or even triggering some action to be performed in the background. And what’s really useful, users don’t have to keep their app opened.

In the end, the love you take is always equal to the love you make

Elon Musk once said that leadership does not depend nowadays on the number of patents companies have, but on the ability to hire talented people who know how to make the most of the knowledge and skills they have. Knowledge and patents themselves should be open source. Knowledge sharing is the process in which the main role is always played by people. It is about collaborative learning where everyone contribute to drive a real value. By sharing our individual experiences, know-how and skills with others we really learn a lot and gain new perspectives.

Introducing cloudform – tame your AWS CloudFormation templates

Whatever we do here in Bright Inventions, we deeply care about automation, traceability and repeatability. This is why, whenever we do anything at the backend, we define our infrastructure as code with the great help of AWS CloudFormation. The problem is that our template file grows quickly and becomes hard to maintain. This is how cloudform – a TypeScript-based imperative way to define AWS CloudFormation templates – was born.

Request timeouts in Spring MVC

As we saw previously, we only have limited options to configure maximum time a request processing can take in Spring MVC. In this post I will show how to enforce such timeout through a custom Servlet Filter.

Children and programming

Recently, when I was waiting for my nephew at school, I was looking at the advertisements around not to get too bored. To my surprise there were as many advertisements about lessons of programming as about some sport classes. They all aimed at the youngest children - the first grades of primary school. I was sitting there and wondering how it is possible to teach children how to write a code in any programming language when they cannot write in Polish yet. Hey, they can barely read!

IOTA Hackathon

One may ask if it is a real fun spending two days in front of computer with a bunch of strangers. The example of IOTA Hackathon shows that it is indeed.