Bright Inventions

Working with iOS in-app purchases

There are more pleasant things to do in iOS development than setting up and testing in-app purchases. The process is laborious and requires thorough testing, especially that in-app purchases are crucial from a business perspective.

The human side of software development

Getting into the world of software development can be a really demanding task. Introducing clean code, providing tests to your solution, using the right tool for the job, keeping up with latest trends... these are all things that you were most probably told about at the time that you barely knew what programming was. It seems that many people tend to neglect the side of development that hasn't got too much to do with machines...

Dockerizing Android builds

Docker is a great container platform that helps building a true independence between applications, infrastructure and developers. It provides an isolation which supports building modern continuous integration environments with ease and at low cost.

Database timeouts

Last time I have outlined the importance of timeouts. Without a carefully considered timeouts our application can become unresponsive easily. In this post I will focus on configuring various timeouts related to interaction with database. I am going to focus specifically on relational databases. The principles and practices however can be applied equally well to other types of databases.

IOTA - Hello World

The most mature client library we can use for IOTA is a JavaScript one called iota.lib.js. Let's see what we can use it for.

Mastering LED with BASIC wirelessly

As a DIY fan I love to browse internet in search of ideas and inspirations. So I’ve found a pretty nice project, called ESPBASIC. I heard about BASIC, but I had never had a chance neither to learn it nor to use it, so I thought it was ‘s time to meet BASIC (although it’s just an interpreter). I have few ESP-12F chips in my drawer, few cables and LEDs scattered around and a free breadboard, and that will be enough for the first encounter with BASIC. My idea is simple and typical for electronics - I have decided to make hello world of DIY world - blinking LED.

Make the Most of It

Some people can achieve much more during the same time than the others. The secret may lie in their time management. It is not an innate skill we are born with. I suppose I am learning it constantly by doing regular updates in my to-do list. By managing our time effectively we do not only complete tasks much faster, but also work smarter while not being overloaded and burnt out.

Slack + Fastlane = ❤️. About one of Continuous Integration puzzles.

Professional development process consists of many puzzles. Some of these puzzles can be: unit testing, choosing good architecture, clean code, continuous integration and many more. In this post I will focus on one of these puzzles - Continuous Integration(CI). An integral part of CI in iOS Development process is a great tool called Fastlane. Fastlane is a powerful engine which handles a number of tasks like - dealing with code signing, creating `.ipa` files, generating screenshots to AppStore and much more. One of the cool feature of Fastlane is a Slack integration - and this is what I wanted to write about.

Selecting the right partner to build your MVP

One of the things that we do best at Bright Inventions is helping startups build their first MVP. It’s pretty common that founders select us as their technology partner and rely on us to turn their vision into reality. We enjoy this kind of challenges and over the years have started to understand quite well why - simply said - startups like to work with us. However, this note is purely intended as a set of generic things to look for in a technology partner.

The importance of timeouts

Timeouts are not an exciting thing to talk about. They do not add immediately perceivable value. They are difficult to guess get right and force one to consider problems that are hard to solve. In fact, in my experience, the timeout is only ever considered when our software stops working or is about to. That is an enormous shame since, in my opinion, carefully applied timeouts can vastly improve software resiliency.