You can find me in conferences or meetups not only as a listener, but also as a speaker.

Most of my talks are in VilniusPHP, NoTrollsAllowed, less in OpenCamp, NFQ talks, KaunasPHP, ŠiauliaiPHP, Hack and Tell, VilniusScala, VilniusGolang, Minsk PHP Night meetups, or Infoshow, AgileTour, PyCon, Write the Docs, BuildStuff, or Fosdem conferences. Also was a lecturer at NFQ academy

Just a typo? Drawing the line between data and logic

When the project grows, so does the team, and data being maintained.
Have you wondered, why some typos had days, whole others, only minutes to release?
Let's go trough different data types, tools (E.g. Prismic, GraphQL), principles (E.g. Test data, AB testing) and different times to release the change.In complex project

Sonic Pi: Live coding to make music

I remember somebody had a job – "he play music with PC".
Until I tried it literally with Live Coding Music Sync.

It is a good way to combine geek inside you and form of an art.


Fargate is an AWS compute engine for dockerized applications.
Presentation will consist of 3 parts: introduction to Fargate, when it is cheaper/better/worse, and short demo with simple PHP container on AWS Fargate.

Technologies changing how we think

When adopting Nicholas Carr's ideas to daily software development, principles like – productivity, functional vs object oriented programming, IDE, evolution of PHP syntax, A/B tests, lean programming – can be seen from completely different perspective.
"Intellectual technology" ideas can feel obvious, but only after you hear about them.
Let's change our brain structure together.

Inspiered by: Nicholas Carr: The Shallows: What the Internet Is Doing to Our Brains

Slides, Event, Video

Amazon Web Service (AWS) infrastructure is used by millions of users, but it feels like it is dedicated to you specifically. Talk will illustrate how Identity and Access Management (IAM) works and what we can learn designing our own (outside-cloud) solutions.

While being a lecturerer in NFQ Akademy, I have experimented with different media to make students better understand the material.

It turned out GitHub+ScreenRecorder+Docker was the best combination for slow/fast students, updating material for the lecturer and using old examples long after the lecture.

Slides, Event

I doubt there are big real projects where all changes are released only via CI/CD. For other changes we usually use term "migration". While some migration techniques seems hackish, repeating more and more of those (DNS, Network, Database, API) – pattern emerge.

Go have Goroutines, while PHP has Coroutines: while PHPuses only single processor (and thread) – it is still posible to speed up.

Talk illustrates examples with yield (generators), CURLOPT_WRITEFUNCTION and asinchroninio programming in general.

Dockerizing PHP Apps

Why and how we are using docker for development and production. Intro, what is docker, how to adapt PHP project to be used with docker, real examples of benefits and issues of using docker, deploying dockerized PHP apps in AWS.

VilniusPHP: Slides, EventVideo

ŠiauliaiPHP: Slides, Event

KaunasPHP: Slides, Event, Photos

Offline-first WEB

Service Workers and Progressive Web Apps – what it is and what if we would start designing it from offline-first web app.

Lightweight Architecture Decision Records

Lightning talk about documentation

PWA with Symfony 4

Progressive Web Apps (PWA) and Symfony 4 framework

Real-time metrics with netdata

Real-time first metrics version adapted for PHP community

Real-time fist metrics

We can put a lot of logs and have more complex/slow monitoring infrastructure than the application itself.

Talk illustrates differences of monitoring (real time, reliable, IDE integration).

Talk for BuildStuff 2017

Slides, Aprašymas, Video

JSON+Go in practice

Practical usage and caveats using JSON serialization in Go applications.

Slides, Video, Event

Headless browsers

Simulating Browser (without selenium)

WebCam based games

Using WebCam to create games: how it works behind the scenes.

Slides, Event, Video


Mutation testing

Mutation based testing using PHP tools.

Or who tests correctness of Unit tests.

Slides, Video

Server-Sent Events

Lighning talk about  Server-Sent-Events (as an alternative to WebSocket).

Visualize the WHY

DEMO used during AgileTourVilnius 2016.

To illustrate going from overview to details and vice versa

Docker on VDS?

Using docker on Virtual Dedicated Server (VDS). Why it not always work and how we can still take benefits out of it.

Slide v1, Slides v2

Limited resources and unlimited data needs – designing data flow as streams (or circle buffer) can help connect both worlds.

Introduction to Augmented Reality

Lightninig talk introducing augmented reality.

Slides, Video, Event

Inverting client-server architecture

Can we reverse Client -> Server architecture?

Multi-model Databases – what it is and how those can be used.

Augmented Reality Costume: From Zero to Hero

Creating T-Shirt+App to illustrate how future of Augmented reality would look like (using technologies of today).

Related version for: Hack & Tell

Išlipus iš 1 PHP failo

Talk for new developers how development changes when website does not fit into the single file.

Practical tips for using acceptance tests

Lightning talk about JSON-LinkdeData

Lightning talk about writing plugin for PHPStorm IDE

Sharing experience, how I learned Scala to use it for UI heavy Desktop application.

Sharing experience, about adapting website for blind people.

Using feedback from blind people, not only ready some theory.

Different media and why it is not that easy to implement real infinite zooming.

Graph databases and OrientDB as an example  (v1v2)

Denormalization and other relational database techniques.

Can same information be perceived easier just changing the representation.

Functional programing ideas in PHP (v1, v3)

Funkcinis-objektinis programavimas

One of the first public talks: introduction to Functional programming. (pdf, svg)

One of the first public talks (in 2010):
Blender – from animation to 3D presentation.