I keep forgetting this every time. So let’s recap the steps necessary to set up basic ES6 project with Babel, ESLint, Browserslist and Flow.

Image for post
Image for post

Notes to take into consideration:

  1. This is a bare minimum set up;
  2. It does not include corejs, you need to provide browser polyfils in the final entry/bundle file of your final web project;
  3. Flow static type checking is optional, I just like to use it and with this setup it’s really straightforward;
  4. Structure of the project is:
    dist/ — destination where src/ is being transpiled into;
    flow/ — projct specific declarations of types, e.g. …

Ever wondered how to make such thing working right? Me too. So here’s how with none of the $ObjMap<T, F> utility obscurity.

Image for post
Image for post
Try it out onlie →

It looks like is should work but it doesn’t. There are few mistakes in our basice assumptions.

tl;dr: Use Object.freeze() and $Exact<T> Flow type utility.

1. Type is not Exact

Defning object type in Flow is by default inexact. Making your object type $Exact<T> would force object to has only the properties/keys defined by the type. You can use short notation {|᠁|} or more explicit, which is always better,$Exact<{᠁}>:


Image for post
Image for post

Recently I switched from developing React Native apps back to developing websites. You know, due the corona and stuff. And I miss few things. More than a few things to be honest. But what I miss the most is the tooling, Flow in particular.

Flow is a static type checker. It checks the Flow type annotations embeded into Javascript code and bugs you with errors while you code before you even start the engines. That’s why it’s tagline states it’s a static type checker for JavaScript.

For the sake of brevity of reading from now on whenever I refer to Flow I mean code with Flow-flavoured annotations taking TypeScript into account. TypeScript and Flow have quite similar in type annotations at least for the basic primitive types. …


When the Fujifilm XT-3 camera came with an firmware update Ver.2.10 that allows us to shoot video files over 4GB file size limit I thought that that’s it. All of my problems should have magically be gone by now. Except I was wrong.

Image for post
Image for post
Photo by Federico Bottos on Unsplash

The release note states:

Recording over 4GB movie file as one file

Movie files are no longer split when the file reaches 4GB file size. The file is recorded as one file providing an SD memory card greater than 32GB is used (excludes 32GB) (*1).

That *1 mark means that there are few conditions however:

  1. You need SD memory cards bigger the 32 GB otherwise movie recording will continue without interruption when the file size reaches 4GB, however subsequent footage will be recorded to a separate file.
  2. You need to re-format SD memory cards before first use, and be sure to reformat all memory cards after using them in a computer or other device. …

Image for post
Image for post

This my first take on looking for a straightforward unified solution to responding to Keyboard open–change–hide events in React Native. There are great solutions that work great in some specific cases. But I’ve tried and failed to get them work great together.

This is the first article to cover this broad topic to invite others to share their experience. I am sharing mine together with some code samples. I am looking for your comments and thoughts.

The new “average”

Look at the list of the most used apps in the app stores. Most people have had experience with most of them. Those apps provide some of the best, if not the top user experience on mobile. That’s what they, I mean we all expect the same from your app.

  1. keep the content accessible while the keyboard is open;
  2. dismiss the keyboard interactively while scrolling down the the bottom edge of the…

Image for post
Image for post
Victor, bench at the Kalemegdan, and Genex on the horizon

I was sixteen or so when I got a new mobile phone. Last one was stolen from me on the bus while chatting to a girl I liked and I got my eyes and ears just for her. One day I set the language preferences on the new phone to Serbian and never looked back. Many words were almost similar to Slovak, some resembled others. I still remember some.

Take “Šaljem poruku.” for example which means “Sending a message”. “Šaliť” or “šaliť sa” means to get crazy and have fun, or to do tricks. Usually kids “sa šalia” at the playground. “Ruka” means hand in Slovak. “Poruke” means having something close, withing the reach (of a hand). It still makes not much sense to me and most of the phrases had some quirky meanings too.

Fast forward. On July 5, 2018 I planned a short trip to Prague with short stop in Brno along the way. My plan was to attend some dance event, then hop on a morning train to Prague. …


Image for post
Image for post

You won’t notice. At first. You won’t notice that moment she comes. But after she comes, you will know. You will know and feel the difference. But not immediately and the reason will become obvious yet simple only later.

She is your home.

She is familiar. Like she didn’t had to come nor leave. Her touch is warm, her embrace tender. You won’t wonder what’s happening. It will feel all so natural.

That’s why you won’t notice.

She will stand in front of you and you won’t notice she came but you will pay full attention to her presense. Almost like she was there with you all the time. Nothing hits you. No smoke signals, no upfront notification, no grand manifestation. No fanfares.

She will simply be there.

You won’t loose your breath and your heart won’t start to beat faster. No special flash of light. No warning. But that moment you meet her your perception of time will bend. Time will distort so much. …


Image for post
Image for post

I remind myself that I am here for limited amount of time. It is a good thing to do. I feel shivers down my spine every time I realize that.

There is this dialogue between the unconscious me and the introspective me that is constantly torpedoing the other one with questions and pushing my limits.

“Let’s turn it all upside down,” it said one day. “You are going to die tomorrow. But, you are given one last day.”

Now imagine this happens every single day just before you go to sleep.

Every. Single. Day.

You are given one more day to live.

Tomorrow

How would you live your day if it worked that way? What would you change? What would you do differently?

When was the last time you said to yourself that you would do things differently if you just got another chance? …


I took a break. A break from me failing at what is the most precious — love.

This is not a post about 10 things I learned while I was being single nor an heroic ethos about how it transformed my shallow existence into something worth loving.

Nope.

I am worth loving. I know that. And I want to feel close and intimate with a human being. I want to feel and share connection. It was always like that. It was so strong that I got myself into yet another dead end relationship more than few times in a row.

It got better in the end. …


Image for post
Image for post
Karel Kryl, persecuted Czech singer, Velvet revolution, illustration © Martin Adamko 2016

You can travel, study, not study, talk nonsense, listen to music you like and the others don’t, dance, sing, read and write whatever and however good or bad you will. (Take this text right here for example.) You simply have the option to decide about your life. You and no one else but you (or ones you let to, by the way you don’t need to).

On November 17 1989, a student demonstration in Prague was put down by riot police, leading to the Velvet Revolution uprising that will end the communist government in Czechoslovakia, nowadays Czech Republic and Slovakia. This piece is inspired by the events.

Creativity flourishes within boundaries and limitations. It’s easier when things just “cannot” be. You can just wrap your hands, shake your head and blame the others who stand in the way of your sprawl. You’ll manage someway or the other eventually (also creativity). Freedom also comes with huge amount of responsibility. Suddenly there is no one but you that makes your life miserable by default. At the same time there is no one else to take care to make it nice for you too. …

About

Martin Adamko

One that loves design, illustration, photography, digs in code, adores his dog and enjoys life & good coffee. http://be.net/martin_adamko

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