Create a self signed X509 certificate in Python
Here is how to create a self signed certificate in Python using OpenSSL: from OpenSSL import crypto, SSL from socket import gethostname from pprint import pprint from time import gmtime, mktime...
View ArticleHow to unit test redirecting in Zend Framework 2
I’ve been working with Zend Framework 2 last couple of weeks and so far I like it better than the legacy Zend Framework. Proper namespaces and separate bootstrap for each module are nice features. I am...
View ArticleAccess entity manager in Zend Framework 2 unit tests
In order to access the entity manager in your unit tests you will have to make your PHPUnit bootstrap file a little bit more complex. You will need to access the entity manager if you are using...
View ArticleIntroduction to boto (Python interface to AWS)
More and more companies are using cloud storage for their files these days. There are many cloud services you can choose from (Windows Azure, Ubuntu Cloud, Amazon Web Services etc). I have used mainly...
View ArticleSelect a radio button with Mink / Behat
Either I am completely blind or I just haven’t found an out-of-box solution for selecting a radio button with Mink / Behat. I have written a simple step definition which does this for me. In order for...
View ArticleFaster Autoloading With Zend Framework 2
Standard autoloader that comes with Zend Framework 2 is not and ideal one to use in production environment. I would suggest using a classmap autoloader which is faster. Here is how it works. When...
View ArticleAre Backbone Models Singletons?
I have been using Backbone (plus couple of other JavaScript libraries) for my last project. One of the first problems I encountered was this simple code: var Foo = Backbone.Model.extend({ defaults: {...
View ArticleInstalling Selenium 2 On Mac OS As Service
Selenium 2 is a powerful browser emulator which enables you to automate frontend testing (especially JavaScript heavy pages). It can be used with Behat as well for BDD testing. I prefer using Goutte...
View ArticleQuick Introduction To BDD Testing With Behat
Behat is a PHP framework for BDD testing. It us very similar to Cucumber (RoR) or Behave (Django), it uses Gherkin language to define features and scenarions. These are then executed by Behat, which...
View ArticleBuild Pipeline Plugin’s Main Weakness
Build Pipeline Plugin is one of my favorite Jenkins plugins. It allows you to build a pipeline out of several jobs by defining upstream and downstream jobs. This way you can create a process consisting...
View ArticleHow To Properly Inherit Methods From Prototype
JavaScript is using prototypal inheritance instead of the common class bases inheritance we are all used to from Java or C#. This can be difficult to understand at first. Consider the simple following...
View ArticleMy new iPad game
My new iPad game (School of Alchemy) just got approved by Apple. You can download it from the app store. It was quite a fun project, I learned a lot about iOS web views and JavaScript / HTML5, the game...
View ArticlePermutation algorithm
You might remember me writing several articles explaining different sorting algorithms. I might come back to that series as there are few sorting algorithms I haven’t gone through. But I wanted to do...
View ArticleRound half to even in Go
Rounding half to even is used a lot when dealing with financial transactions. Here is my implementation in Go: import "math" // http://en.wikipedia.org/wiki/Rounding#Round_half_to_even func...
View ArticleCreate a readonly user in Postgres
This is quite useful to create a user that can be used for backups, reporting and so on. Assuming you have databases foo_db and bar_db and want to create a readonly user for them called backup_user...
View ArticleUsing Celery as middleware in SOA
When creating a service oriented architecture, one of the most important decisions to make is usually what protocol to use for inter service communication. I would like to propose a SOA based on...
View ArticleCelery workflows
Celery is a great asynchronous task/job queue framework. It allows you you create distributed systems where tasks (execution units) are executed concurrently on multiple workers using multiprocessing....
View ArticleMachinery: Celery for Golang
I haven’t written anything here for a long time. Just a quick update. I have been working on an interesting open source project for last couple of weeks. It is an asynchronous task queue/job queue...
View ArticleCodeship Go 1.5
Codeship virtual machines used for builds currently have Go 1.4 installed. It’s quite easy to upgrade to 1.5 though. Just use the following setup commands: export GO_ARCHIVE=go1.5.2.linux-amd64.tar.gz...
View ArticlePinglist – Uptime And Performance Monitoring Done Right
I would like to to introduce a project I have been working on for a better part of last year in my free time. Pinglist is an uptime and performance monitoring platform currently consisting of a web app...
View Article