Hi, my name is Tomek Rękawek.

I do things with computers. Right now it’s some cloudy stuff for Google.

I love Unices. Sometimes I talk.

I’m also a TV show addict and a family man.

Portfolio

aqi.eco

I’m maintaining a SaaS that reads the data from an ESP8266-based, Luftdaten-compatible air pollution sensor and displays it in a nice way.

aqi.eco
Live demo
Github

Coffee GB

Coffee GB is a Gameboy Color emulator written in Java 8. It’s meant to be a development exercise and a way to learn about internal architecture of a retro game console.

Github
Why did I spend 1.5 months creating a Gameboy emulator?

Carty

Carty is an integrated tool to create, edit, review and test Sling mappings for Adobe CQ/AEM.

Homepage

SecureCQ

Secure CQ is a tool which can be used to find the most popular security problems in your CQ instance. It tests both instances (author, publish) and the dispatcher.

Github

Sling Query

Sling Query is a Sling resource tree traversal tool inspired by the jQuery. It allows to avoid boilerplate code using convenient, functional API.

Repository

Sling Dynamic Include

SDI replaces dynamic generated components (eg. current time or foreign exchange rates) with server-side include tag (eg. SSI or ESI). Therefore the dispatcher is able to cache the whole page but dynamic components are generated and included with every request.

Github

Conferences

adaptTo() 2019, Berlin

Deep-dive into cloud-native AEM deployments based on Kubernetes

Presentation gives an overview on the Kubernetes setup we internally use in Adobe, the issues we’ve run into and the ways we’re dealing with them.

Presentation
Video

Toruń JUG #36, 2017

Game Boy emulation in Java

Polish presentation about my Coffee GB emulator.

Presentation
Video
Event webpage

adaptTo() 2017, Berlin

Zero downtime deployments for the Sling-based apps using Docker

Presentation shows how the Composite Node Store, a new Oak feature, can be used together with Docker to perform blue-green deployments. This kind of setup allows to dynamically change a part of the repository (containing the application code), while leaving the content part untouched.

Presentation
Video

EVOLVE 2016, San Diego

CRX2Oak — all the secrets of repository migration

Basic CRX2Oak usage, more advanced options and some real-world cases of large-scale (hundreds of GBs) data migration cases.

Presentation

CIRCUIT 2014, Chicago

Use SlingQuery and walk the tree with ease

I talked about Sling Query — a jQuery-inspired repository traversal tool for Sling.

Presentation
Blog post
Blog post (in Polish)
Sling Query

adaptTo() 2013, Berlin

Inter-Sling communication with a message queue

I presented results of my efforts to integrate Sling with ActiveMQ.

Presentation
PoC Sling JMS

CQCON 2013, Basel

Security testing with SecureCQ.

I presented SecureCQ — automated security checklist for Adobe CQ5/AEM.

Presentation
SecureCQ

Java User Group 2013, Poznań

Shooting rabbits with sling

I introduced local Java User Group to the Apache Jackrabbit and Apache Sling.

Presentation

adaptTo() 2012, Berlin

Sling Dynamic Include

I presented an useful cache tool for Sling.

Presentation
Video
Blog post on the SDI
Blog post on the conference
Sling Dynamic Include

Cognifide blog 2012

Multidomain CQ mappings and Apache configuration

I wrote a popular article on Sling mappings configuration.

Blog post

Contact