Skin in the Technology Game

This article was published here Have you ever built a product without sufficient market validation? The result is usually wasted resources and more importantly — a wasted opportunity to build something actually useful. This problem can be summarized with 2 characteristics of a product team. Product team lack of skill…

Continue ReadingSkin in the Technology Game

Estonian ID card authentication using Nginx and CORS

Authentication in web apps using an Estonian ID card with Nginx is pretty straightforward (although quite unstable). Initial setup Simple ID card authentication boils down to: Enable One-Way TLS on your main domain (e.g. app.example.com)Enable Two-Way TLS on a secondary domain (e.g. id.example.com) using the ID card certificate chain.Redirect user…

Continue ReadingEstonian ID card authentication using Nginx and CORS

Assigning static IP address for Google App Engine

Why? GAE(Google App Engine) is a great choice for developers who want to build and deploy applications in a minute. Thanks to a fully managed serverless platform, you are free from the painful server configuration for deployment as well as automatic scaling. But there is a problem that comes with…

Continue ReadingAssigning static IP address for Google App Engine

Managing OpenAPI specification

The usual document structure Taking a look at the OpenAPI specification file, there are several distinct sections: Information - which usually includes the title, version, some description, terms of service, etc.Servers - where we describe the servers that we use, usually split into production, staging, etc.Paths - resources that our…

Continue ReadingManaging OpenAPI specification

Error Handling in Flutter

  • Post author:
  • Post category:Blog

Foreword Due to the rising popularity of Flutter I feel it’s a good time to review some of the aspects of keeping your code clean and maintainable. One of the things that developers might not pay so much attention to while building apps is error handling. While it might not…

Continue ReadingError Handling in Flutter

Using Emscripten/WebAssembly in web workers and interacting with native C/C++ code concurrently

What problem are we trying to solve? JavaScript runs in a single thread per web-page in the browser. This limitation prevents CPU intensive work on client side (encoding/decoding, complex calculations, etc...). Let's see how WASM and WebWorkers help pull through these problems by porting native C/C++ libraries to the web…

Continue ReadingUsing Emscripten/WebAssembly in web workers and interacting with native C/C++ code concurrently