Blog
Tutorials and insights about front-end and full-stack development with React, Next.js, Node.js and friends.
Recording 'From Vanilla JS to Solid.js' Video Series
In this series of live video tutorials I'm converting a vanilla JS progressive web app to Solid.js and utilizing Firebase services to send push notifications to users.
My Top Posts on Nitrolancer
I've been working remotely and freelancing for a few years and I've got a lot of stories and advice to share. If you're into freelance, check out the list of my top posts on Nitrolancer.com
A couple of words about the latest ToJuniors pivot
I'm transforming the ToJuniors project to Nitrolancer to better reflect my current priorities and future plans.
What I Learned While Building My First Web3 Project
My impressions, discoveries and tools after two months of building my first Web3 project. This post is a great start for those who'd like to explore web3 space.
Developing a Custom Search Box with React-Select
This tutorial demonstrates how to turn a simple React-Select dropdown into a fully-fledged autocomplete search box which searches by remote data and caches results.
The Uploadcare Image Loader for Next.js Has Been Released
The story behind releasing a custom Uploadcare image loader for Next.js.
How to Protect Your CMS Site from Hacks Once and Forever
Based on our Drupal community group discussion, I'm sharing answers to the question of how to stop updating a CMS site constantly and not be afraid of being hacked.
HTTP Basic Auth for Next.js
The basic HTTP authentication is often used as the simplest approach to protect a development version of your app. Here you will find a few ways for implementing HTTP basic authentication for a Next.js app.
Node.js Certification: My Experience and Advice
In the beginning of the COVID-19 lockdown I signed up for OpenJS Node.js Application Developer (JSNAD) certification and successfully passed it. I will share my preparation approach and give advice for future test-takers.
Pipe Streams in Node in the Right Way
The stream piping is one of the features of Node.js which I especially like, so I will show you how to safely use it.
Security: Black Box vs. Blacklist vs. Whitelist
There are three basic modes in which you work with firewalls, XSS filters, access control modules and other security tools, which you should be familiar with.
On React App Security
Imagine, you inherited a React app from another developer and you need to make sure the existing code is secure. In this post I'll give you a checklist which can help to secure your app.
A Few Takeaways from Kyle Simpson's Talk at MallorcaJS Meetup
Kyle Simpson gave a talk on the economy of keystrokes at the MallorcaJS meetup on October 15th, 2019. Kyle's talk was sometimes eye-opening, sometimes encouraging and sometimes controversial but indeed worth listening to.
XConf Europe 2019
Sharing my impressions after attending XConf Europe in Barcelona on July 5th, 2019.
Is Drupal 8 really faster than its predecessor?
Developers always compare performance of different programming langugages, frameworks and even different versions of the same framework. Here I benchmark Drupal 7 and Drupal 8 and compare the results.
Configuring Webpack LiveReload with Laravel.mix
Webpack LiveReload plugin automatically monitors your files for changes and refreshes the page when the changes are detected. I will show you how to make it work in this post.
Realtime Apps With Laravel Echo: Tips and Tricks
Sharing a collection of my discoveries after developing a realtime app with Laravel Echo.
Laravel-localization middlewares now support route exceptions
The latest version of the mcamara/laravel-localization includes support for route exceptions. I'll quickly show you how to use it in this post.
Code Less in Drupal 8 with Drupal Console
Drupal Console brings new developer experience to Drupal 8. This console tool is similar to Drush but has some advantages. This post is about how to use it.
Convert Laravel Tables from MyISAM into InnoDB
Previous Laravel versions used MyISAM storage engine for its database tables by default. This post is for those lucky developers who need to switch their database to InnoDB manually.
A Quick Practical Intro to Vue.js
In this quick tutorial we create a simple Vue.js component that calculates the length of a word and displays it on the fly.
Three Simple Servers for Your Front-end Projects
If you have ever thought about testing an HTML file without putting it on a web server, this post is for you.
How to Fix the Error: This Page Is Not Secure Because of Mixed Content
If you have just moved your site from HTTP to HTTPS but your browser is still displaying some insecure content warnings, the post is for you.
Typical Mistakes of Tech Conference Organizers
As a Tech conference organizer myself, I'm going to share some mistakes which organizers often make to prevent you from making them.
Drupal Is a Developer's Toy
Drupal 8 has been reinvented in favor of better architecture and that process has taken years. Developers seem to be happy with their new toy, but what's the value of it for end-users?
Why Else You Need HTTPS
This post is aimed to convince your to switch to HTTPS as soon as you can for better security and user experience.
HTTPS with Varnish
Varnish does not support SSL/TLS itself but we can use Nginx as an SSL Termination Proxy to make HTTPS possible with Varnish. And I'll tell you how.
Manipulating Views Programmatically
The article describes how to clone, edit and delete views in Drupal 7 programmatically which is not obvious at all.
REST in Peace - API Development in Drupal
Kate @kalabro and I joined forces to give a presentation about RESTful services at DrupalCamp Baltics 2015. Here is the transcript.
The Journey to Drupal World
I gave a presentation about my Drupal development path at DrupalCamp Helsinki in 2014. I publish my speech transcript here.
One Year of Drupal Community in Saint Petersburg, Russia
We've just celebrated our first Birthday. And now I'm glad to share our story of success, give some advice to community leaders who are at the beginning of their way and ask feedback from others.
Benefits of Contributing to Open Source for Companies
As an active Open Source contributor for years, I will briefly introduce you to the benefits for companies which spend money and time to contribute to Open Source.
Right Nginx Configuration for Drupal on Ubuntu
This article is for people who might want to configure Nginx for Drupal and avoid typical issues that the author met during the configuration process.
3 Simple Ways to Declare a Media Query
Responsive design can't live without CSS3 media-queries. Here I will show three ways in which you can declare media queries in your code.