One thing to keep in mind when updating Expo SDKs

Image for post
Image for post
Photo by Kit Suman on Unsplash

Expo is fantastic. It helps you develop, build, and deploy iOS, Android, and web apps — from the same code base.

It builds the binaries for both Android and iOS on its servers and provides support for the release channels and the over-the-air (OTA) updates.

OTA Updates

The OTA updates work for any published changes to the JS bundle. You add the new feature to the app, run the Expo build, and publish. And that’s it. Users get the update right away on their devices — in the background and without updating the native app. Everything looks great so far!

When you…


Improve your development environment in 5 minutes

Image for post
Image for post
Photo by Yura Fresh on Unsplash

It’s a common scenario that the development environment requires custom entries in the hosts file.

Let say your /etc/hosts consist of multiple services that point to localhost like so:

127.0.0.1 api.local
127.0.0.1 cms.local
127.0.0.1 web.local

Multiple services can run on the same HTTP server, on the same port. In that case, the server maps the hostname to the specific service (virtual host). You cannot connect to the service using just an IP.

Assume the API api.local is used by the mobile app. …


Put your mouse down when you’re typing

Image for post
Image for post
Photo by Allie Smith on Unsplash

If you constantly reach for the mouse while writing — please stop.

You can delete a line or select a word easily without taking your hands off the keyboard. There are handy shortcuts for that. Learn them and boost your productivity.

I’m going to show you the combinations that are available in the basic text editors and web, including Medium’s story editor.

The animations display Mac-specific keys.

Windows/Linux users: Please use the control instead of the option key (unless mentioned otherwise).

Select Text — Shift + Arrows


Practical use-case for the prepare-commit-msg git hook

Image for post
Image for post
Photo by Paulette Wooten on Unsplash

You don’t have to enter the ticket number manually for each commit!

Once the branch name contains that reference, you can set up the git hook to do it for you!


A quick tour of basic Git commands

Image for post
Image for post

You write code every day, right? Why not write Git commands like a code instead of clicking over to your GUI tool?

OK, you need some time to familiarize yourself, but once it happens, you’ll be more efficient than ever.

I’m going to show you some basic Git commands and their features. This isn’t another Git documentation, though.

Git Status

The git status command shows what the full status is, where the HEAD is, and what the changes are (staged, not staged, untracked files).

Once you’re familiar with the long output, you might use the git status --short to see the minified…


Image for post
Image for post
Photo by Markus Spiske on Unsplash

It does not matter whether you’re hunting a bug in legacy code or reviewing the code you wrote last year, there are moments that you struggle and waste all of your mental energy on that single hard-to-grasp logical condition 😐.

I’m going to show you some simple techniques that will help you to make the conditions easier to understand and analyze so you won’t have to spend so much time on it anymore 😇.

First of all, I would like to mention (or remind) you of De Morgan’s laws:

the negation of a disjunction is the conjunction of the negations…


Clean, testable and without dependencies

Image for post
Image for post
Photo by Sergi Kabrera on Unsplash

I’d love to share my findings on how to create a full-featured, clean and testable hotkey library, without dependencies, in 200 lines of code.

While there are some similar existing projects, it’s still an interesting exercise, if you ask me.

Requirements

The library should support various key combinations:

  • Single keys like a, b, c
  • Key with modifier: ctrl+c, ctrl+v, ctr+shift+v
  • Key sequences: h e l l o, ctrl+k ctrl+t a

It should have options to:

  • Register and unregister callback(s) for a specific hotkey
  • Create hotkey context so the group of listeners can be turned on/off separately

Implementation

I’m using ES6 syntax, so…

Wiktor Malinowski

Father, Husband, Software Engineer.

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