- May 23, 2023
This article explores how we implement Application Layer Encryption in Ruby on Rails applications to protect customer-sensitive data with Asherah.
- Sep 12, 2022
This blog post explores how we optimized the GoDaddy Email Batch API by using Rails bulk inserts with MySQL and how to calculate the auto-incrementing IDs for records, given MySQL does not support a RETURNING clause.
- Jan 10, 2022
In the past couple of years at GoDaddy, we have been on our journey to the cloud migrating our web services to AWS. In this blog post, I share what we learned about deploying Puma web server to AWS by migrating our email delivery service written in Ruby to AWS.
- Oct 15, 2018
In some of our Ruby on Rails applications, we have migrated from using OS based cron to distributed cron using Sidekiq Scheduler. We will discuss the motivation for this change and the benefits from it.
- Sep 11, 2018
In our email marketing products, we changed our bloom filter implementation by using a custom Redis and an in-memory bloom filter written in Ruby. We will go through iterations at solving a real problem and writing a custom bloom filter from scratch.
- Feb 27, 2018
Config strategy for running Rails app in different environments and deploy targets.
- Oct 22, 2017
In a previous blog posts I wrote about the problem of overusing exceptions, and in this one we'll look at some exception handling and testing practices.
- Jun 11, 2017
How to debug Rails views in production.
- Feb 21, 2017
Speed up your CI builds by using an in-memory database with tmpfs.
- Jan 20, 2017
Custom auto-reconnect in Rails applications when using ActiveRecord connections.
- Dec 14, 2016
Figuring out missing fonts for Hebrew, Arabic, Chinese, Korean and Japanese for wkHTMLtoPDF.
- Nov 20, 2016
How to customize and host Firepoker tool for estimating work on projects.
- Oct 25, 2016
Another great experience being part of Global Day of Coderetreat 2016 event in Skopje. Awesome to see how it evolved over the years and still continuing.
- Oct 12, 2016
We'll be celebrating Global Day of Coderetreat 2016 in Skopje again. Join us for an exciting day practicing software design.
- Oct 5, 2016
Auto-increment counter is not persisted on disk with InnoDB engine. That can lead to some surprising bugs like what this story is about.
- Sep 20, 2016
My notes from EuRuKo 2016 conference in Sofia, Bulgaria.
- Sep 20, 2016
Custom database cleaner for cleaning multiple databases in Rails applications when using dynamic ActiveRecord connections.
- Aug 30, 2016
Octoshark is an ActiveRecord connection manager that provides connection switching mechanisms for scenarios involving master-slave, sharding or multi-tenant architecture.
- Mar 29, 2016
Processing large CSV files with Ruby in an optimized way for memory consumption and speed performance.
- Mar 23, 2016
Overview of email authentication protocols: SPF, Sender-ID, Domain Keys, DKIM and DMARC.
- Mar 20, 2016
Strategies for processing and testing bounces, feedback loops (FBLs) and List-Unsubscribe requests in an email delivery system.
- Feb 9, 2016
Slidox is a markdown to PDF and HTML conversion tool useful for building presentations and other documents.
- Feb 7, 2016
It's all about commitment and persistence.
- Dec 19, 2015
Validating an email address is an interesting and complex problem.
- Nov 18, 2015
Things to consider when deploying Ruby on Rails applications.
- Nov 18, 2015
Building a news aggregator using Machine Learning and Ruby.
- Nov 18, 2015
Redis storage and what kind of problems it helps solve.
- Nov 18, 2015
Setting up a remote pair-programming with Screen.
- Nov 14, 2015
Photos and slides from Global Day of Coderetreat 2015.
- Nov 8, 2015
Call for registration for Global Day of Coderetreat 2015 in Skopje, Macedonia.
- Oct 17, 2015
The extreme programming philosophy of building software by playing to win.
- Oct 11, 2015
How to replace your OS’ default DNS resolver with a RubyDNS powered one and test email delivery.
- May 30, 2015
Debugging stuck Ruby processes using gdb, strace and nrdebug.
- Mar 7, 2015
Playing with Ruby and standard streads and redirection on command line.
- Mar 1, 2015
Never use exceptions to control flow.
- Feb 28, 2015
Tracing Ruby code execution with TracePoint.
- Nov 10, 2014
Call for registration for Global Day of Coderetreat 2014 in Skopje, Macedonia.
- Sep 2, 2014
Compiling and installing ScrenCloud tool on Ubuntu with screenshot editing support.
- Sep 1, 2014
Compiling, installing and configuring Guake multi terminal for GNOME Desktop on Ubuntu.
- Aug 2, 2014
Convert markdown to HTML and syntax highlighting the Github way.
- Jul 13, 2014
Share your dotfiles and make them reusable after reinstalling operating systems.
- Jun 1, 2014
Why I switched from Linode to DigitalOcean.
- Mar 30, 2014
Presentation on how to build a Ruby gem.
- Mar 23, 2014
Compilation of few advanced Vim tips.
- Nov 27, 2013
Registration details and photos for Global Day of Coderetreat 2013 in Skopje, Macedonia.
- Jun 30, 2013
My notes from EuRuKo 2013 conference in Athens, Greece.
- Apr 4, 2013
Overview of few important principles introduced by the Eiffel programming language.
- Jan 28, 2013
Testing IO with Ruby in a simple and custom way.
- Jan 13, 2013
Pasting text from Vim after suspending it (hiding it in terminal by pressing ctrl+z).
- Dec 27, 2012
Simple application deploys via Git using the Gitploy tool.
- Dec 16, 2012
Summary and notes for Global Day of Coderetreat 2012 in Skopje, Macedonia.
- Jul 23, 2012
Sending private message on Facebook using Facebook Chat API.
- Jul 17, 2012
Some things I have been doing in the past half year.
- Jan 15, 2012
Taking responsibility for your career and doing things for yourself.
- Dec 18, 2011
My notes from The Five Dysfunctions of a Team: A Leadership Fable book.
- Dec 4, 2011
Summary and notes for Global Day of Coderetreat 2011 in Skopje, Macedonia.
- Nov 12, 2011
Understanding Agile values and priciples is easy, but implementing Agile is a different story.
- Oct 30, 2011
Create your own Vimfiles to have more control over your Vim editor.
- Oct 23, 2011
Notes from my development setup.
- Sep 1, 2011
Rubygems issue with too many connection resets.
- May 14, 2011
Open-sourcing PopraviMK Titanium mobile and web applications.
- Apr 10, 2011
PopraviMK presentation from e-society conference in Skopje.
- Mar 31, 2011
Writing jQuery plugins for displaying recent tweets from Twitter and recent tracks from Last.fm.
- Mar 26, 2011
Inspiring eXtreme programming wisdom.
- Mar 23, 2011
Some changes on my blog including UI redesign.
- Jan 23, 2011
Making RVM and Passenger work together for Rails 2 and Rails 3 applications.
- Jan 22, 2011
Serving static assets, stylesheet and javascript files in development in Rails 3 applications.
- Jan 22, 2011
The confusing error for missing mysql2 gem in Rails 3 application is actually a database.yml config issue.
- Jan 13, 2011
Generating routes for a specific controller in Ruby on Rails application with rake routes task.
- Jan 9, 2011
Overview of Titanium Mobile 1.5.
- Jan 7, 2011
What does __FILE__ and __LINE__ arguments mean with Ruby's class_eval.
- Oct 13, 2010
Installing Titanium Mobile and Android SDK on Ubuntu.
- Oct 12, 2010
Winning the Grand Prix on Vip Android challenge with PopraviMK mobile and web application.
- Sep 23, 2010
Changes on my professional plan, got a new job at Siyelo.
- Apr 3, 2010
Using Amazon S3 for uploads in Ruby on Rails applications.
- Feb 28, 2010
Setting up Vim editor for Ruby on Rails development.
- Feb 4, 2010
Totally random Javascript development tips.
- Jan 24, 2010
Implementing Singleton Pattern with Ruby in few ways.
- Nov 11, 2009
Fixing premature end of script headers in Apache with Phussion Passenger
- Oct 27, 2009
Announcing Macedonian Ruby User Group (MKRUG) and ruby.mk website.
- Oct 11, 2009
Fixing Ruby: stack level too deep by changing system limits with ulimit.
- Jul 28, 2009
Simple overview of the Pomodoro Technique for being more productive.
- Jul 15, 2009
Timeboxing time to prevent spending time procrastinating on unimportant stuff.
- Jul 7, 2009
Overriding Git history and permanently removing files and folders from Git repository.
- Jun 13, 2009
Introducing my blog.