Bright Inventions

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](https://developer.apple.com/documentation/coremotion) 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.

Request timeouts in Spring MVC

Last time we reviewed how to configure HTTP client timeouts. This time let us focus on the other side of the HTTP request i.e. server. There is pretty much always a thread pool involved when we write a Spring MVC application. The thread pool configuration will vary depending on particular servlet container (Tomcat, Undertow, Jetty) so we have to watch out for subtle differences. However, most if not all of them will use a thread pool with fixed maximum size. As we already know, a pool of resources might get exhausted. In particular, a thread pool is more likely to get exhausted if we do not control timeouts diligently.