# Zolmeister

Zolmeister - Blog

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## JWT Authentication

DevFeed: [JWT Authentication](<https://devfeed.tech/articles/jwt-authentication-35618.md>)

Original publisher: [Read original article](<https://zolmeister.com/2016/09/jwt-auth.html>)

Author: Zoli Kahan

Published: 2016-09-26T05:00:00Z

Content type: tutorial

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [API](<https://devfeed.tech/topics/api.md>), [middleware](<https://devfeed.tech/topics/middleware.md>), [private key](<https://devfeed.tech/topics/private-key.md>), [public key](<https://devfeed.tech/topics/public-key.md>), [Security](<https://devfeed.tech/topics/security.md>), [Express](<https://devfeed.tech/topics/express.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [private-key](<https://devfeed.tech/tags/private-key.md>), [public-key](<https://devfeed.tech/tags/public-key.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article explains an authentication approach for hosting platforms that need to support third-party application access and verify local native API calls. It uses JSON Web Tokens with ES256 and a public/private key pair, followed by a sample authentication strategy and Express middleware implementation.

### Source excerpt

JWT Authentication Authentication models for hosting platforms require more considerations due to 3rd party api access. We wanted to be able to issue user auth tokens for 3rd party apps (think OAuth), as well as be able to verify authentication of local native api calls (through our iframe native app hooks).

## MySQL Migrations

DevFeed: [MySQL Migrations](<https://devfeed.tech/articles/mysql-migrations-35617.md>)

Original publisher: [Read original article](<https://zolmeister.com/2016/08/mysql-migrations.html>)

Author: Zoli Kahan

Published: 2016-08-27T05:00:00Z

Content type: tutorial

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [MySQL](<https://devfeed.tech/topics/mysql.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Database](<https://devfeed.tech/topics/database.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [alter](<https://devfeed.tech/tags/alter.md>), [avoid](<https://devfeed.tech/tags/avoid.md>), [database](<https://devfeed.tech/tags/database.md>), [docker](<https://devfeed.tech/tags/docker.md>), [downtime](<https://devfeed.tech/tags/downtime.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [mysql](<https://devfeed.tech/tags/mysql.md>)

### AI overview

This article describes migrating 17 million rows in MySQL without downtime while a table continues receiving reads and writes. It explains using Large Hadron Migrator to copy the table and track new writes with triggers, adjusting migration speed to avoid write timeouts, and running the process in a Docker container. The migration ultimately took more than 20 hours, and cleanup was manual if problems occurred.

### Source excerpt

MySQL Migrations Migrating 17M rows with no downtime - Isotope Scenario: 17M rows in a table, constant writes/reads, slave/master setup. If you try to run an ALTER TABLE (especially on older versions of MySQL), most operations will lock the table for writes for the entire run-time of the query. To avoid this, we need to incrementally update the table, incorporating write changes as they arrive. Our solution was to use the Large Hadron Migrator, built and open-sourced by SoundCloud.

## Zorium v1.0.0: Design and Architecture of a CoffeeScript Web Framework

DevFeed: [Zorium v1.0.0: Design and Architecture of a CoffeeScript Web Framework](<https://devfeed.tech/articles/zorium-v1-0-0-35615.md>)

Original publisher: [Read original article](<https://zolmeister.com/2015/05/zorium.html>)

Author: Zoli Kahan

Published: 2015-05-24T05:00:00Z

Content type: release

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [Code](<https://devfeed.tech/topics/code.md>), [async](<https://devfeed.tech/topics/async.md>), [data](<https://devfeed.tech/topics/data.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [Server-side rendering](<https://devfeed.tech/topics/server-side-rendering.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [async](<https://devfeed.tech/tags/async.md>), [code](<https://devfeed.tech/tags/code.md>), [css](<https://devfeed.tech/tags/css.md>), [framework](<https://devfeed.tech/tags/framework.md>), [npm](<https://devfeed.tech/tags/npm.md>), [server-side-rendering](<https://devfeed.tech/tags/server-side-rendering.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Zorium reaches version 1.0.0. The article explains how the CoffeeScript web framework was developed and discusses its design and architecture, including components, virtual-tree rendering, reactive data updates, CSS organization, and server-side rendering.

### Source excerpt

Zorium v1.0.0 (╯°□°)╯︵ ┻━┻ The CoffeeScript Web Framework Zorium (source) is the web framework we use at Clay.io. Today it has finally reached version v1.0.0 (╯°□°)╯︵ ┻━┻ This has been one of the most challenging projects I've worked on, with many great lessons learned. What follows is how Zorium came to be what it is today, and an explanation of design decisions in the framework. With Zorium (or any framework), the code is the easy part.

## 10x: Service Discovery at Clay.io

DevFeed: [10x: Service Discovery at Clay.io](<https://devfeed.tech/articles/10x-service-discovery-at-clay-io-35614.md>)

Original publisher: [Read original article](<https://zolmeister.com/2015/02/10x-service-discovery-at-clay-io.html>)

Author: Zoli Kahan

Published: 2015-02-17T06:00:00Z

Content type: tutorial

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Ansible](<https://devfeed.tech/topics/ansible.md>), [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [docker](<https://devfeed.tech/tags/docker.md>), [haproxy](<https://devfeed.tech/tags/haproxy.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial describing Clay.io's service-discovery architecture using Docker, Synapse, and a local HAProxy instance. Synapse dynamically configures HAProxy to route requests to services in an Amazon EC2 cluster, while Ansible supplies local IP and port configuration to services.

### Source excerpt

10x: Service Discovery at Clay.io Architecture Service Oriented Architectures can be one of the most iterable and available software configurations for building almost any product. There are many challenges that come with these systems, probably the biggest of which is service discovery. This is how your services will communicate with each other. For our service discovery, we turn again to Docker.

## How Clay.io Uses Docker for Deployment and Zero-Downtime Updates

DevFeed: [How Clay.io Uses Docker for Deployment and Zero-Downtime Updates](<https://devfeed.tech/articles/10x-docker-at-clay-io-35613.md>)

Original publisher: [Read original article](<https://zolmeister.com/2014/12/10x-docker-at-clay-io.html>)

Author: Zoli Kahan

Published: 2014-12-15T06:00:00Z

Content type: tutorial

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Ansible](<https://devfeed.tech/topics/ansible.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [containerization](<https://devfeed.tech/tags/containerization.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [docker](<https://devfeed.tech/tags/docker.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [github](<https://devfeed.tech/tags/github.md>)

### AI overview

This article explains how Clay.io uses Docker to isolate applications and manage deployments. It describes building and publishing Docker images, updating staging and production clusters with Ansible, using separate master and backup processes for zero-downtime updates, and rebuilding production static files with environment-specific variables.

### Source excerpt

10x: Docker at Clay.io Intro At Clay, our deploy process is fun. Seriously. Because we use Docker. Docker is a containerization tool that allows for easy application isolation and deployment. The basic idea is that Docker runs your application in a virtualized isolated environment, similar to a virtual machine, but without the overhead. You start with a 'base image', and then describe how to create a 'container' using a Dockerfile.

## 10x: Logging at Clay.io

DevFeed: [10x: Logging at Clay.io](<https://devfeed.tech/articles/10x-logging-at-clay-io-35612.md>)

Original publisher: [Read original article](<https://zolmeister.com/2014/10/10x-logging-at-clay-io.html>)

Author: Zoli Kahan

Published: 2014-10-25T05:00:00Z

Content type: article

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Logging](<https://devfeed.tech/topics/logging.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [logstash](<https://devfeed.tech/topics/logstash.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [Amazon VPC](<https://devfeed.tech/topics/amazon-vpc.md>), [Server](<https://devfeed.tech/topics/server.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [aggregate](<https://devfeed.tech/tags/aggregate.md>), [amazon](<https://devfeed.tech/tags/amazon.md>), [amazon-vpc](<https://devfeed.tech/tags/amazon-vpc.md>), [analyze](<https://devfeed.tech/tags/analyze.md>), [apply](<https://devfeed.tech/tags/apply.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [complex](<https://devfeed.tech/tags/complex.md>), [docker](<https://devfeed.tech/tags/docker.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [linux](<https://devfeed.tech/tags/linux.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [network](<https://devfeed.tech/tags/network.md>), [series](<https://devfeed.tech/tags/series.md>), [server](<https://devfeed.tech/tags/server.md>), [servers](<https://devfeed.tech/tags/servers.md>), [ssh](<https://devfeed.tech/tags/ssh.md>)

### AI overview

This article describes how Clay.io used Logstash to aggregate logs from more than 20 servers, with Elasticsearch and Kibana for analysis. It also discusses log rotation, securing Elasticsearch through Amazon VPC, and open-sourced Docker containers for deploying a distributed logging system.

### Source excerpt

10x: Logging at Clay.io Managing 20+ servers as a small team is no easy task, and when things go wrong (they always do) figuring out what happened quickly is essential. Of course we can't ssh into each machine, that would take ages, so instead we use Logstash to aggregate our logs. This is the second post in my series, and if you missed last episode: Architecture at Clay.io. Logstash overview Logstash deployments have two parts. The aggregate server (or cluster), and the client servers.

## 10x: Architecture at Clay.io

DevFeed: [10x: Architecture at Clay.io](<https://devfeed.tech/articles/10x-architecture-at-clay-io-35611.md>)

Original publisher: [Read original article](<https://zolmeister.com/2014/10/10x-architecture-at-clay-io.html>)

Author: Zoli Kahan

Published: 2014-10-01T05:00:00Z

Content type: opinion

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>), [Amazon VPC](<https://devfeed.tech/topics/amazon-vpc.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>)

Tags: [amazon-ec2](<https://devfeed.tech/tags/amazon-ec2.md>), [amazon-s3](<https://devfeed.tech/tags/amazon-s3.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [ddos](<https://devfeed.tech/tags/ddos.md>), [docker](<https://devfeed.tech/tags/docker.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [vpc](<https://devfeed.tech/tags/vpc.md>)

### AI overview

A first-person account of Clay.io's architecture for operating at scale with a small team. It describes the use of Cloudflare for DNS, caching, DDoS protection, and SSL; Amazon EC2 and VPC for servers and private networking; Amazon S3 for static content; HAProxy for traffic routing; Docker for application and staging servers; and a MySQL master-slave cluster for data.

### Source excerpt

10x: Architecture at Clay.io This is the first post in my new series , where I share my experiences and how we do things at Clay.io to develop at scale with a small team. Update: The Cloud CloudFlare CloudFlare handles all of our DNS, and acts as a distributed caching proxy with some additional DDOS protection features. It also handles SSL. Amazon EC2 + VPC + NAT server Almost all of our servers live on Amazon EC2, most are either medium or large instances.

## Developing on Linux

DevFeed: [Developing on Linux](<https://devfeed.tech/articles/developing-on-linux-35610.md>)

Original publisher: [Read original article](<https://zolmeister.com/2014/09/developing-on-linux.html>)

Author: Zoli Kahan

Published: 2014-09-13T05:00:00Z

Content type: opinion

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Development](<https://devfeed.tech/topics/development.md>), [dotfiles](<https://devfeed.tech/topics/dotfiles.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Atom](<https://devfeed.tech/topics/atom.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Nvidia](<https://devfeed.tech/topics/nvidia.md>), [GPU](<https://devfeed.tech/topics/gpu.md>)

Tags: [4k](<https://devfeed.tech/tags/4k.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [editor](<https://devfeed.tech/tags/editor.md>), [git](<https://devfeed.tech/tags/git.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [keyboard-shortcuts](<https://devfeed.tech/tags/keyboard-shortcuts.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>), [oh-my-zsh](<https://devfeed.tech/tags/oh-my-zsh.md>), [zsh](<https://devfeed.tech/tags/zsh.md>)

### AI overview

A personal account of a Linux development setup covering the i3 tiling window manager, ZSH with oh-my-zsh and Powerline, Atom as an open-source editor, and desktop hardware requirements.

### Source excerpt

Developing on Linux dotfiles i3 - Tiling Window Manager A tiling window manager is a type of window manager that arranges your windows as tiles, usually in such a way that makes managing them more efficient via keyboard shortcuts. i3 is my window manager of choice, after having used xmonad for a long time, i3 provides more flexibility and ease of configuration. Here is a great sceencast which will help you understand the power of tiling window managers.

## Fuco - A Coloring Game

DevFeed: [Fuco - A Coloring Game](<https://devfeed.tech/articles/fuco-a-coloring-game-35609.md>)

Original publisher: [Read original article](<https://zolmeister.com/2014/09/Fuco-a-coloring-game.html>)

Author: Zoli Kahan

Published: 2014-09-01T05:00:00Z

Content type: article

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [Cordova](<https://devfeed.tech/topics/cordova.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [SVG](<https://devfeed.tech/topics/svg.md>), [SVG animations in CSS](<https://devfeed.tech/topics/svg-animations-in-css.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [LineageOS](<https://devfeed.tech/topics/lineageos.md>), [Expo](<https://devfeed.tech/topics/expo.md>)

Tags: [amazon](<https://devfeed.tech/tags/amazon.md>), [android](<https://devfeed.tech/tags/android.md>), [animation](<https://devfeed.tech/tags/animation.md>), [canvas](<https://devfeed.tech/tags/canvas.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [cordova](<https://devfeed.tech/tags/cordova.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [game](<https://devfeed.tech/tags/game.md>), [svg](<https://devfeed.tech/tags/svg.md>), [web](<https://devfeed.tech/tags/web.md>), [webgl-shaders](<https://devfeed.tech/tags/webgl-shaders.md>)

### AI overview

A developer describes Fuco, a coloring game created in 48 hours for the Ludum Dare game competition. The article explains its cross-platform, Cordova-based publishing approach, the HTML5 Canvas solution for erasing and masking colored regions, and an SVG logo animation used on the home screen.

### Source excerpt

Fuco - A Coloring Game Web | Android | Chrome | Amazon | Firefox | Source Welcome, to Fuco (Source), a coloring game! Fuco was made in 48 hours as part of the Ludum Dare game compo. The theme was , which game me the inspiration for Fuco. Originally I had an idea for a game that mixed game art styles (pixel art + isometric + full 3D), however that was far too ambitious considering the time constraints and my artistic skills.