Kubernetes security for application developers

06 Jun 2020

Kubernetes brought a lot of innovation into the application development and operations, these changes have effects on application and infrastructure security. It might be hard to reason about kubernetes security since this problem have to be addressed on multiple layers. In this post I will provide overview and references to the available security tools and procedures from the application developer perspective. As mentioned in the official documentation it might be easier to reason about application security on kubernetes by separating this problem into multiple layers:

Read more

Homelabbing with Kubernetes

06 Jun 2020

Homelabbing is an interesting way to learn more about DevOps and get into self-hosting. Kubernetes has brought a lot of changes into application deployment but learning curve makes it a bit harder to get into. In this post I will overview k8s deployment options and benefits for homelabs. I have been homelabbing and self-hosting for a few years. I started with a single RPI running behind PfSense firewall hosting my personal website.

Read more

Gentoo on ZFS encrypted root with EFI stub

06 Jun 2020

ZFS file system is an interesting option for many Linux users and especially so for Gentoo users due to effortless snapshots and streamlined partition management. More recently added encrypted datasets also simplify file system encryption process, which applies with some caveats to a root mount encryption. I don’t have a need for a conventional bootloader and always preferred to use EFI stub kernel with an EFI record. Setting up EFI stub loading for ZFS encrypted root require zfs kernel module to be available during the boot, this can be solved either by doing a static ZFS install or by generating initramfs.

Read more

Implementing graph components with D3.js

06 Jun 2014

Declarative approach is the most common way for constructing graphs with D3.js. However, by leveraging features of the Ember.js this approach can be improved in several areas, such as testing, code structure and rendering speed. I have been using D3.js for quite a while and always liked it. It’s an awesome project, it brought to the community so many powerful and flexible tools, that you can solve wide ranges of tasks: from complex svg construction to the simple html generation.

Read more

Implementing date picker component with Moment.js

05 May 2014

There are numerous examples of the date pickers in the internet, but you can find that some of them are really hard to use with Ember.js. Hopefully, it’s not hard to roll your own date picker in form of component with proper bindings just using the Moment.js library. I have been working on a quite large Ember.js application recently and struggled for some time to find a suitable date picker.

Read more

Vim for iOS developers

11 Nov 2013

Vim is a really popular editor for scripting languages, but it can be hard to integrate it with compiled languages like Objective-C. In this article I will describe my Vim workflow for iOS development. I would not say that Xcode is a bad editor, I used it for a several years. I simply more productive with Vim. I feel like Vim complements the way my brain works. For example, if I want to move to the third word, to the second occurrence of “f” or change word between quotes, I will just do that in Vim instead of tapping cursor keys.

Read more

Integrating Multiple Ruby Web Applications

11 Nov 2013

Using multiple Ruby application stacks in production environment can be useful. Following simple steps will introduce one possible approach to do that. In my previous article I discussed a ways to implement a live streaming with Server-Sent Events and EventMachine. Unfortunately, if we are not using EventMachine compatible application server, we could not integrate this solution into Rails application. Starting applications on separate ports/domains will violate CORS policy in browser.

Read more

Live streaming with Rails application

11 Nov 2013

Data streaming is a very useful content delivery strategy for some web applications. While live streaming was possible in Rails applications for quite a while, in most cases integrating such strategy into existing stack can be a trial task. The project that I’m working on right now has a live dashboard page, couple days ago we decided to refine it, so I started thinking about possible solution. This page has a simple requirements:

Read more