Bright Devs Blog

Don't fool yourself with lateinit modifier

Don't fool yourself with lateinit modifier

android kotlin

Kotlin language provides a nice and clean way to handle nullable variables in code so that it is less error prone. Unless you do it all wrong, of course.

Don't fool yourself with lateinit modifier
#girlswhocode

#girlswhocode

redshift

Last week I attended a climbing competition dedicated for girls only to celebrate the international women’s day. It was held quite far away from my home town and on my way back I was wondering why I was so excited to attend a climbing competition for women and at the very same time I am so sceptical about any girls-only programming events.

#girlswhocode
How to deploy Lambda function with CloudFormation?

How to deploy Lambda function with CloudFormation?

aws cloudformation lambda cloudform

Serverless deployments are popular these days. With a minimal cost you can have your own code wait and respond to various events. AWS Lambda, Azure Functions are just 2 examples of serverless offering from the biggest cloud providers. For a long time I had thought about them only in the context of ad-hoc setups not suitable for a long term development. This was until I found out that you can, with a little effort, version and deploy the serverless API just as a traditional back-end. In this post I am going to show how to deploy AWS Lambda functions with the help of the tool Adam created at Bright Inventions called cloudform.

How to deploy Lambda function with CloudFormation?
The modern way of getting started with React and TypeScript

The modern way of getting started with React and TypeScript

React TypeScript web

One of the prerequisites for a healthy and sustainable tech stack that reduces the risk of our project quickly getting obsolete is a tooling and automation around the mundane chores. Out of the tools fatigue JavaScript world suffered few months back the new generation solution was born at Facebook for React.

The modern way of getting started with React and TypeScript
GroupWork, but not GroupThink

GroupWork, but not GroupThink

groupwork teamwork creativity success

Have you ever heard about Groupthink? It occurs when a group of people make faulty decisions due to mutual pressure. According to Irving Janis who coined this term for the first time in 1972, the group pressure leads to a deterioration of mental efficiency, moral judgement as well as reality verification. Groups affected by the groupthink phenomenon frequently ignore alternatives while looking for a solution. People who are vulnerable to groupthink mostly have a similar background, work in organisations with a lack of established decision making process and do not meet any outside opinions.

GroupWork, but not GroupThink
How to call a load balanced ECS service?

How to call a load balanced ECS service?

aws ecs cloudformation elb cloudform

A service running ECS can call plethora of AWS APIs. It can read messages from queues, publish messages to SNS topics, query a database. These are all valid ways to communicate with the service. However, often the most appropriate way is to call the service by an HTTP API. In this post I’ll describe how to configure an ECS service running inside VPC so that other services can call its API.

How to call a load balanced ECS service?
Adding features to your chart on Android

Adding features to your chart on Android

android chart live data dynamic data

In the previous post I did show you how to make a basic setup of Android linear chart using MPAndroidChart library. Now I’ll show you some features I found useful.

Adding features to your chart on Android
Different iOS build configurations than Debug and Release in React Native

Different iOS build configurations than Debug and Release in React Native

react native ios build configurations

Default iOS build configurations, Debug and Release, might be enough for the beginning, but sooner or later you will probably need to extend the number of build configurations in your app. While this is pretty straightforward in native development, unfortunately, it is not in React Native.

Different iOS build configurations than Debug and Release in React Native
3 top habits to improve the cooperation with clients

3 top habits to improve the cooperation with clients

habits cooperation planning

There is always a room for improvement regarding the service that we deliver to our clients. In this post I describe 3 habits that I consider really helpful in order to work effectively with clients.

3 top habits to improve the cooperation with clients
Navigation in React Native

Navigation in React Native

react native navigation

Navigation between screens is probably one of the very first concerns you will have while creating a React Native app. Once you start, you might be surprised that there is no built-in, fully featured navigation that will work on both platforms. Although React Native recommends using React Navigation, you will quickly discover that this library is purely based on JavaScript and it does not directly use the native navigation APIs on iOS and Android. And as another library says, if you are trying to deliver a user experience that is on par with the best native apps out there, you simply cannot compromise on JS-based components trying to fake the real thing.

Navigation in React Native