• Draw circle with polyline

    Displaying maps on iOS often is not enough. We would like to show some kind of tips, identifiers or other objects.

    If u deal with not only displayable information but also provides functionality for rich editing or creating/managing something - drawing different shapes can be an essential part of this … read more »

  • Old new friends - Part 1: Buttons, Menus, Pickers

    Each application has its style, its character. This style reflects the purpose and functionality provided by it.

    With SwiftUI, we, as developers, receive a unified option to write once and get all. Off cause, this is not easy to implement, and so SwiftUI is a bit … read more »

  • BindingWrapper

    Displaying changes instantly is great, but not always. SwiftUI gave us a great mechanism for this, and we love it.

    Often, when we have a deal with a mobile application such behavior is exactly what we want. But imagine a situation, when on such a change u should … read more »

  • The smart polygon or how to detect line segments intersection

    As mobile developers, we should always think not only about the correctness of the logic but also about usability (UX) and about different ways, that can reduce the number of errors when we receive user input (kind of Poka-yoke ポカヨケ).

    In this post, I would like to describe the … read more »

  • Polygon Area calculation

    On my current project, I have a few tasks related to maps. It’s all very interesting - mercator, global positioning, area calculation, bearing, and other stuff.

    In this post, I would like to share an approach how to calculate the area for the selected polygon.

    … read more »
  • Covering an arbitary area with Circles of equal radius

    Maps help us to visualize different aspects of our work. We use them when we want to get information about the place when we order a taxi and in many other cases.

    Recently, I received a task to calculate a centers position of the areas with the equal area that … read more »

  • Animating gif

    I like animation a lot. Sometimes we would like to animate some complex movement of objects, and writing animation from the scratch can be a time-consuming process. As result, we can use an animated image - gif.

    There are a lot of engines (free and paid) like Lottie that … read more »

  • The styleguide

    Style - this is one of the main aspects that make u’r app looking and feeling good. U can style the same app in different ways, using different techniques, but u always use the same components - fonts, colors, and images.

    Every time this can be a bit annoying process … read more »

  • Select git branching model

    Hot to organize u’r code in the git? How efficiently use git and control app source code?. This and a few more questions can be asked before starting any new project.

    … read more »
  • User-Agent for iOS

    When we meet some person, we always want to introduce ourselves from the best side. We can describe ourselves by telling the name and a few interesting facts.

    In the computer world, if we behave as a user - we also should introduce ourselves. One of the options is to … read more »

  • My attemp to networking

    Networking - is an essential part of modern application. The good question here - what solution can we use to meet our needs.

    Often, I heard from my colleagues, that they use some library that has a lot of functions and so abilities. But in real life, they use only … read more »

  • The LLDB Debugger - Part 3: Watchpoint

    Debugging - is not just a process for finding and fixing bugs - for me, this is a great way to find out how actually the program works. To do so, we should be able to detect any change at any memory address.

    Often, breakpoints can help a … read more »

  • The LLDB Debugger - Part 2: Breakpoints

    To correctly prepare the application logic we should define some instructions and execute them at a certain moment, in other words - execute instructions. But, sometimes it’s hard to tell if it works in a way, we expect or not.

    A great helper here - a breakpoint - … read more »

  • The LLDB Debugger - Part 1: Basics

    Debugging is an essential part of app development for any platform. Luckily for us, Apple-developers, we now use lldb - “a next-generation, high-performance debugger” (source).

    In this series of article, I will try to cover some aspects related to debugging process, that I use during debugging (some … read more »

  • Observe serial ports on macOS

    Recently I played a bit within Arduino using Visual Code. After switching to M1 mac, I faced with issue, that visual-code extension for Arduino does not allow to select of a serial port and to open communication channel with the board.

    As result, every time I must check all … read more »

  • Minimal macOS menu bar extra's app with SwiftUI

    Creating a minimal utility app for macOS is quite often needs. Such an app is always available in the menu bar and can perform some operation with just a few clicks or some shortcut can show information instantly.

    … read more »
  • First look at WindowGroup

    Within SwiftUI 2.0 we got an option to create a pure SwiftUI app (at least a minimal one). To make this possible, Apple introduces WindowGroup - “a scene that presents a group of identically structured windows.”

    This view has power only for platforms, that support multi-windows - … read more »

  • Arduino crash course

    During the past few weeks, I spend some time playing within Arduino StarterKit creating very simple and basics schemes and refreshing my memory about schematic and different components used in various PCBs.

    … read more »
  • s.o.l.i.d.

    Often we are talking about some principles that can improve our code. These principles are also known as SOLID. During the past few discussions, I heard a lot of different explanations (correct and not) for the same things.

    … read more »
  • .strings

    Localization for Apple products always was a pain in the ass. Yep, every year Apple adds new and new options and features for localizations, but we always should handle a lot of issues on our own. Sometimes, when some issue is resolved, a few new ones appear.

    … read more »
  • Dynamic swift - Part 3: Opposite to @dynamicCallable - static Callable

    Use an object as a function is one more addition, that we have in Swift. This proposal was described on SE-253. And was added in Swift 5.2.

    … read more »
  • Dynamic swift - Part 2: @dynamicMemberLookup/@dynamicCallable

    In this article, I would like to explore one more dynamic feature available in the Swift language - @dynamicMemmberLookup.

    This new attribute introduce new behavior in Swift - something more related to scripting languages, but with swift type-safety. This attribute makes it possible to execute a subscript of … read more »

  • Dynamic swift - Part 1: KeyPath

    Dynamic features bring some flexibility and additional functionality into the programming language, but at the same moment, this can reduce compile-time safety.

    … read more »
  • a File

    Managing data always was and will be the main concept behind any application for any platform and at any time. But how we can do this? How to manage data between different sessions of app usage?

    One of the simplest and still perfect ways to do this is by using … read more »

  • God helps those who help themselves

    Combine improves our code and makes development much faster and easier. But, even with such an idea in mind, we can often face some issues (like “unresolved type of result”). A swift compiler is very strong-typed, so when we use it within the Combine framework we … read more »