Deprecated: Assigning the return value of new by reference is deprecated in /home/melaloui/public_html/ueckerman/wp-settings.php on line 520

Deprecated: Assigning the return value of new by reference is deprecated in /home/melaloui/public_html/ueckerman/wp-settings.php on line 535

Deprecated: Assigning the return value of new by reference is deprecated in /home/melaloui/public_html/ueckerman/wp-settings.php on line 542

Deprecated: Assigning the return value of new by reference is deprecated in /home/melaloui/public_html/ueckerman/wp-settings.php on line 578

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/melaloui/public_html/ueckerman/wp-settings.php on line 18

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1244

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/classes.php on line 1442

Strict Standards: Redefining already defined constructor for class wpdb in /home/melaloui/public_html/ueckerman/wp-includes/wp-db.php on line 306

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/melaloui/public_html/ueckerman/wp-includes/cache.php on line 431

Strict Standards: Declaration of Walker_Comment::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/comment-template.php on line 1128

Strict Standards: Declaration of Walker_Comment::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/comment-template.php on line 1128

Strict Standards: Declaration of Walker_Comment::start_el() should be compatible with Walker::start_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/comment-template.php on line 1128

Strict Standards: Declaration of Walker_Comment::end_el() should be compatible with Walker::end_el(&$output) in /home/melaloui/public_html/ueckerman/wp-includes/comment-template.php on line 1128

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /home/melaloui/public_html/ueckerman/wp-includes/class.wp-dependencies.php on line 31

Strict Standards: Redefining already defined constructor for class WP_Http in /home/melaloui/public_html/ueckerman/wp-includes/http.php on line 61
ueckerman.net

Announcing the freenx-server cookbook

{June 24th, 2013 }

I have taken an interest in the Devops movement since hearing about it initially, and more-so after reading Continuous Delivery.

To better facilitate lean development, I am a strong believer that developers should be multi-talented - the more roles we are able to fill within a team, the greater our usefulness and the more effective the individual and the team.

As examples, I often work with domain specialists to write stories and produce detailed test scenario’s when the need arises - performing the role of analyst and tester. While this requires a different skills-set, they are not too far removed from the realm of a developer and a good understanding of these skills makes for a better developer.

Devops is a natural fit.

Developer and operations skills are very complementary. Operations skills make for a better developer, a greater awareness of potential operations issues. An agile developers automation skills make for better, automated, operations.

So since those early days, I’ve kept an eye on the Puppet, Chef and more recently Ansible communities but never had the opportunity to get my hands dirty.

Until recently.

You may have noticed my previous entry on my first cookbook, chef-teamcity-server. Meet my next cookbook - freenx-server!

I was faced with the challenge of needing remote X window access to some AWS instances.
Whilst I am by no means an expert in the Ubuntu administration world, I chose NoMachine’s NX tools as they are supposedly more performant and secure than other options.

The cookbooks default recipe will install freenx-server, and setup the server with a default configuration. It essentially automates the configuration steps outlined here, including enabling password authentication (so beware).

Note that it is only tested on Ubuntu 12.04 at this stage.

Enjoy!

Many thanks to my employer, MYOB, for making chef-freenx-server possible.

Announcing the teamcity-server cookbook

{June 21st, 2013 }

The Pitch

Ever needed to install and configure a TeamCity server? Are you tired of re-configuring it for ‘production purposes’, using an external database as a datastore?!

Well perhaps the chef-teamcity-server cookbook can help!

The default recipe will:

  • Install and configure a TeamCity server
  • Install a PostgreSQL database
  • Install Git (naturally, I am assuming you work with a Git VCS!)

Enjoy!

Fineprint

You might need to complete some manual steps as outlined in the cookbooks GitHub repository to complete the servers configuration. The cookbook aims to automate as much as possible, however the JetBrains crew would like you to acknowledge license terms and initialise the TeamCity database via their UI. Note: Only available on Ubuntu.

Credit

Many thanks to my employer, MYOB, for making chef-teamcity-server possible.

Announcing http_server_manager

{June 21st, 2013 }

Ever wanted to manage a process running a HTTP server in a dead easy way? Or control it within a test or a build process?

With the advent of PaaS providers like Heroku and Engine Yard, there is often less of a need to use heavier process managers, like God in the Ruby space, or more generally Monit.

Enter the http_server_manager gem.

The intention of this gem is to control the lifecycle of a HTTP server via Ruby and Rake for development purposes, and do it in a dead simple way via simple configuration and pid files.

http_server_manager is not a process monitor. It will not, for instance, re-start a process that unexpectedly dies.

It is not intended for production use, although this is no way a reflection of the quality of the codebase. It is thoroughly tested. Use it in production if you like, but there are more advanced and complex tools for that job.

What it does do well:

  • Attempt to start the server process when you tell it, and:

    • Block until a HTTP response is received, raising an error when waiting for a configurable amount of time
    • Log process output to a file in a configured location
  • Kill the process, and its entire process tree, when you tell it
  • Report on the status of the process (running, stopped, etc)

Enjoy! See the GitHub repository for more information.

Many thanks to my employer, MYOB, for making http_server_manager possible.