Sign in

Senior Software Engineer at IPM Smart Community, mobile and web full-stack developer, instructor, consultant, Linux dude.

Did you ever want to know how your favorite apps work under the hood?

Disclaimer. The contents of this article can potentially be used with malicious intent. The purpose of this article is educational, and you should never use this knowledge in order to cause harm.

Photo by Obi Onyeador on Unsplash

Your mobile device is in your pocket every day. You access your emails, you check your calendars, you go on Discord to chat with your friends. Or WhatsApp. Or Viber. Or Signal. I don’t judge.

All of these applications rely on APIs to deliver content, cat videos on Reddit, your bank account balance (which if intercepted might be a bit of an issue, I’ll let you guess why)…


Deep-dive in how attackers exploit your website

Photo by Stephen Phillips - Hostreviews.co.uk on Unsplash

WordPress is the content management system (CMS) behind 34% of websites on the internet, making it a lucrative target for cybercriminals.

The first step in protecting your website is to understand the inner workings of WordPress and attack vectors (means by which an attacker gains access to a computer or network).

WordPress sites are usually hosted by a hosting provider. Depending on the budget, users can choose between shared or managed (dedicated) hosting. …


21st-century cybersecurity

Photo by Markus Spiske on Unsplash

According to INTERPOL, the Covid pandemic brought an alarming increase in cyberattacks. The most common ones, as explained by the report are phishing, disruptive malware, data harvesting, and misinformation. According to the same report, cybercriminals are taking advantage of the pandemic to deploy ransomware against critical infrastructure and healthcare institutions.

Colonial Pipeline. The hacker group behind the attack claims it has three new victims (per CNBC), but how did they do it? BBC reports that access to Colonial’s computer system was most likely gained through the administrative side. Some employee has probably been tricked into downloading malware through a social…


From the perspective of one software developer involved in it

Photo by Neven Krcmarek on Unsplash

When I joined the IPM Smart Community team in early 2020, I found the idea of digitalization of municipalities an exceptional leap from my previous experience in research and prototyping. This was set out to be the product used by a wider and more diverse audience. The technical specs at the time were scarce, but with the help of my amazing colleague and collaborator Pavel Remic-Weiss, we were able to prepare a detailed and fairly realistic application development plan. The decisions regarding the infrastructure and system design were set to be reliable, future-proof, and modular.

The keyword here is modular.


Everything you need to know about Docker before using it

Photo by Victoire Joncheray on Unsplash

Knowing how to deploy a containerized application in an arbitrary environment has become an inevitable requirement for software developers globally. Although Docker is not the first containerization technology, nor the only one out there, it’s certainly the most adopted one.

In contrary to the orthodox techniques, such as running backend services either on bare metal or inside a virtual machine, containerization offers a lighter, pliable, and easily maintainable alternative.

Virtual machine manager (hypervisor) grabs physical resources (CPU, RAM, storage, NIC) and slices them into virtual versions of themselves (virtual CPU, virtual RAM, virtual storage, virtual NIC). Virtual machines are built…


Null Safety Keynotes

Photo by Will Porada on Unsplash. These photos from Unsplash are generic, but at least to the point when you search for ‘dart’.

In Java, detection and prevention of null variables, references, and collections is not as straight-forward as one might imagine. The “one billion dollar mistake” is avoided using static code analysis tools, relying on IDE support, or writing lots of assertions beforehand.

Similarly, the “old Dart” disregards any sane notions of nullability, so unsafe code would not only compile just fine but also run just fine, up until you’d reach some edge case where nullable reference would crash the program.

I’ve been trying to write code that accounts for nullability on its own, using simple null checks and try...catch statements…


Implementation Guidelines

Photo by Brett Zeck on Unsplash

Mapping providers targeting mobile platforms need to establish a frictionless experience that is fast and responsive. For years, the pioneer in the field has been Google with its Maps service, used globally by millions of people. Their APIs are state-of-the-art, and it shows; everywhere, from the way developers manage their services through Google Developers Console to the excellent documentation and multi-platform support. You would expect nothing but the best from a company like that.

Apple, of course, has its service as well, which is equally capable and well-optimized for their devices.

However, the mapping game becomes a pretty barren outside…


Choosing Ktor as backend framework of choice

Photo by Taylor Vick on Unsplash

My Story With Kotlin

When Google announced Kotlin to become the first-class citizen for Android application development, my opinions were mixed. Sure, it promised a lot, but Java seemed to get the job done, there was absolutely no need to migrate, and even after doing so, the language did not completely persuade me into being an adequate alternative.

This all changed when Google began pushing forward Kotlin-first Jetpack libraries which not only accelerated development, they began exposing some of the Kotlin’s greatest strengths.

Sure, if you look at Java today, it looks nothing like Java 6 which was around when I began working on…


Opinions and Technical Overview

Photo by Safar Safarov on Unsplash

Personally, I came to the Flutter game kind of late, earlier this year in January to be precise, and when I did, the community was already pretty saturated and filled with opinionated ways of writing Flutter applications. In a sense, this was a good thing, because I tend to jump on a “wow, something new train” quite a bit, and getting thrown into the well-established ecosystem was definitely exhilarating, but also somewhat intimidating at first.

Among many reasons, which I won’t explore into details as we’d sink into a rabbit hole, was the fact that GitHub is packed with sample…

Peter Aleksander Bizjak

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