How to prepare your web application for the cloud

Crafting a web application that is able to run in the cloud, is a bit different than an application that is built to run on a single web server and some developers learn it the hard way. In order to...

What to consider when choosing a new tech stack

When it comes to creating a new stack, all options are on the table. Some people find it as a fine opportunity to learn a new stack, others prefer stuff they’re already familiar with, some others prefer to distribute their...

Testing your code is not optional.

Let’s start with a story… A quadrillion years ago, I used to work for companies none of which had automated tests in place and believe it or not, testing was not that popular; We wrote the code, tested manually on...

How to fix Sectigo's expired root certificates

As of today (May 30th 2020), Sectigo’s root certificates that are usually bundled with any SSL purchase (in my case it was on February 2020, just 3 months ago), are due to expire. Here’s a short post on how to...

Not everyone likes DevOps: why we're building Stackmate

Over the course of the past few years, I’ve worked extensively with infrastructure orchestration & automation tools like Terraform and Ansible. I was blown away and got so pre-occupied by them, that I kept asking myself “Why isn’t this the...

Using a React Component as a Layout with ReactOnRails

New year, new codebase for a side-project of mine, and I decided to go with ReactOnRails, turbolinks and other sorcery that will help me go faster but won’t sacrifice code quality. An issue I found with this approach is that...

Understanding variable assignment in JavaScript

Hello var, old friend In days of yore, using var was the only way to declare a variable. Those were interesting times, when developers dealt with hoisting all the time, leading to hair-pulling bugs and unexpected behavior. To better understand...

Being efficient as a remote worker: a study on productivity

Either as contractor or full-time employee roles, remote work is a popular trend globally as many companies prefer this type of distributed setup in order to take geographic restrictions and other limitation out of the equation that sets the path...

How to downsize a root EBS volume on AWS

When it comes to increasing the size of an EBS volume, AWS provides clear options and documentation for that. But what happens when you were optimistic about the usage of your root EBS volume or you’ve now moved most of...

How to (selectively) run multiple processes with Foreman

If you’re using the foreman gem to manage simple Procfile process setups, there will be a time where you’ll just need to run 2 or 3 processes separately. This can be easily achieved if you pass the “formation” parameter or...

Deep Work by Cal Newport: The most impactful productivity read so far

A bit of a background For over a decade now, along with my technical skills, I’ve been trying to make sure that an 8-hour work day is as productive and efficient as it gets. I’ve had pretty strict rituals, I’ve...

Upgrading React Router v4 on an Isomorphic, Redux-powered React web application

Hint: It's not as hard as you may think it is

The Motivation When working on the next release of ezploy.io (currently moved to stackmate.io), among the many changes I’ve introduced, I had to upgrade react-router to its latest stable version v4. At first I thought it was a bit of...

Django Snippets for everyday problems

In late 2015 I found myself working with Python, Django and py.test. I was trying to apply some practices that I had been applying for a very long time with different tools, but Django resisted, so here’s the survival kit...

Git 101 - Workshop on Found.ation co-working space

In March 2015, Found.ation invited me to host 2 workshops for how to use Git. The workshops were of great success and I was very happy that people would not also start using Git, but prefer it over other SCM...

Hacking your workflow - FrontMass 2014 Keynote

Right before Christmas 2014, the SKGtech team held a great conference in Thessaloniki, called FrontMass. I was lucky enough to be one of the keynote speakers, covering my favorite topic: How to hack your workflow for better productivity. My main...

Developers can actually be funny

This is a very enjoyable presentation. It’s Scott Hanselman’s keynote from the 2014 O’Reilly Velocity conference in Santa Clara, CA. Scott Hanselman is a web developer, working with Microsoft and Azure and during this presentation he goes on about JavaScript,...

Switching to Jekyll GitHub pages

Goal: An easy to maintain personal website Being a Web Developer is complicated by itself, so, when it comes to maintaining a personal website about ourselves, most of us are terrible at it. We either envy the fancy-designed websites by...

Display PDF in-page without a javascript plugin

There are cases where a PDF file is more than a download link and you need to display it inline inside your page. Recently I’ve stumbled upon a conversation where somebody was looking for a good jQuery plugin that displays...

Vagrant Apache or nginx serving corrupt Javascript and CSS files

If you prefer a virtualized environment for your web development purposes, you may find Vagrant a really handy solution. Vagrant is a fantastic tool that creates a virtual machine which can be provisioned with Chef or Puppet and be re-packaged...

Hacking the way you work: My keynote on JoomlaDay 2013

In June 2013 I was invited to give a talk on JoomlaDay 2013 about tools that a developer can incorporate into their workflow and enhance their productivity. My speach evolved around vagrant, git and a few best practices one should...

iTerm2 + Oh My ZSH!

If you’re anything like me, you’re probably dealing a lot with the terminal. I use it all the time because i’m working with Git and lots of branches, i create cron jobs and console applications, so i need a pretty...

How GitHub Uses GitHub to Build GitHub

This is probably the presentation I’ve read the most while going through SpeakerDeck or SlideShare. I love GitHub both as a software product and philosophy as a team, so I try to read as much as i can related to...