Does your mobile app really need a DB?

Data bases are essential when it comes to multi user applications. They help us store huge amount of data generated by, or related to, huge amount of users. They let us query for a sub set of data, relevant to our business cases. This is a typical for every web based application.

But what about a mobile app?

Are mobile apps multi user apps? No, not really! Mobile apps are personalised. It’s mostly one user per device. There are sometimes options to logout and log in as another user, but this is mostly about mobile app being a front end for a web app. The data…


A story of custom binary serialization for a game made with Unity3D

This year I helped a customer develop and ship a word puzzle game for iOS and Android. One of the challenges in this project was, the game should ship localized in 31 languages. This means every language gets its own set of levels. The customer wanted to start with 3K levels, which they were able to procedurally generate offline. The game targets people, who know multiple languages, so switching between languages should be seamless. …


You probably know what binary search is but WTF is Eytzinger order?

You might have heard of a data structure called binary heap. It is a binary tree represented as an array, where the parent is at position i, the left child is at position i*2+1 and the right child is at position i*2+2.

https://en.wikipedia.org/wiki/Binary_heap#/media/File:Binary_tree_in_array.svg


DTOs (Data Transfer Objects) are classes which people use to represent and store data before they serialise and send the data over the wire. So the primarily purpose of a DTO is to be able to turn an object graph into a buffer (array of bytes).

[Application state] --> [DTOs] --> [Buffer]

And turn a buffer into an object graph.

[Buffer] --> [DTOs] --> [Application state]

Some people (my self including) don’t see the point of separating between Application state and DTOs some times. Specifically if the mapping between the Application state classes and DTO classes is 1:1. The mapping…


If you need a self describing object notation?

Check out CBOR (Concise Binary Object Representation):

Paste your precious JSON into the playground and see how much bytes you are wasting with JSON.

If you are using JSON + JSON-Schema?

You are really doing something wrong. The main benefit of JSON is that the payload is self describing. The main benefit of Schemas is that it describes the payload. When you have a schema, your payload carrying the description around is redundant. Thats like wearing a mask in an air tight room. It just slows you down and balloons your payload unnecessary.

If you want to have a schema, pick a format which is not self…


Thanks to COVID-19, large events as we know them are a luxury nobody can afford. The next best thing is a remote event. However I believe that in order to make a remote event nearly as fruitful as an in person gathering, we need much more than just a stable video feed.

I have experience in organising theatre plays, concerts, tech conferences and small meet-ups. What all of this things have in common, they attract people with similar interest to enjoy them together. Being at an event in person, gives you a possibility to meet like-minded people, establish connections, realise…


Cambridge Dictionary defines debt as:

something, especially money, that is owed to someone else, or the state of owing something

So does technical debt mean, we owe technology to someone else?

That’s an intriguing thought, specially as most of the software we write runs on software and hardware built and owed by someone else. But I think this is not how we mean it.

Wikipedia defines technical debt as:

Technical debt (also known as design debt[1] or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of…


I decided to write up a short retrospective of 2019. It’s more about me remembering stuff, so don’t expect anything super exciting.

I am a freelance software developer. This year I was involved in 3 client projects. A social media platform, where I built the iOS client and most of the BackEnd based on AWS Stack (DynamoDB, Lambda, S3, SNS, Cognito, etc…). This project has started already in October 2018 and abruptly ended for me in the Q1 of 2019, thanks to some issues between client and the mediating company. …


A viable alternative for storing large configurations

If you are using JSON, CSV, XML, or even SQLite in your game to store data, you definitely should take a few minutes to read this blog post. If you don’t, you might still learn something useful 😀.

WTF is FlexBuffers?

FlexBuffers is a JSON comparable binary format, designed as a schema-less alternative in the FlatBuffers project, which was initially built at Google.

I got you at Google right?

If you are interested in the roots, please follow the link.

What do you mean by JSON comparable?

By this, I mean that everything you can represent with JSON you can also represent with FlexBuffers and vice versa. This is why…


This week I attended the first European and the biggest micro-mobility conference. I am actually quite foreign to the field, but I saw people in my twitterverse writing about it, so I got curious and decided to check it out. And I am glad that I did.

As complete n00b, I was blown away by the first keynote held by Horace Dediu. Specially with the facts that micro-mobility is all about cities. The micro-mobility vehicles and the city form a symbiosis and affect each other.

Second highlight of the day (at least for me), was the keynote “The Future of…

Maxim Zaks

Tells computers how to waste electricity. Hopefully in efficient, or at least useful way.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store