David Stewart of Marketing Digital Solutions thinks it is OK to creep on females on LinkedIn

And I bet he isn’t the only one.

What I am about to share are screenshots taken by my wife from unsolicited LinkedIn messages from David Stewart. This isn’t the first man to contact her on LinkedIn for a less than professional reason and I am sure she isn’t the only woman on LinkedIn getting these messages.

Messages which have left my wife feeling grossed out (her words) and are making her consider changing up her LinkedIn profile to try and dissuade wankers (my words) from posting inappropriate content. What a sorry state of affairs that people have to try and tailor their online presence so as to not get creepy messages.

The messages

Starts off innocuous enough, although like I mentioned these were unsolicited.

David Stewart being a creep

Another unsolicited email a couple of days later;

Creeper twoNot happy with no reply a hours later he now makes a dirty remark about ‘intensive care’ (my wife is an intensive care nurse). He also makes reference to her appearance.
Creeper three

He has already been reported to LinkedIn and I believe blocked now, but you have to wonder how many other people he has contacted this way and how many he has made to feel uncomfortable.

This type of behavior is disgusting and the people that do it need to be called out publicly (hence this blog post).

Share this on

Review: Backbone.js Patterns and Best Practice

Recently I have been reading Backbone.js: Patterns and Best Practice, it is put out by Packt publishing and has been written by Swarnendu De.

I will give you five guesses as to the content of the book!

In my 9-5 I have been using Ember.js for most of my JavaScript needs but I have a lot of love for Backbone.js and I have to say I loved this book.

As a bit of a background I have been reading the Kindle version of this book and as a disclaimer I was contacted by Packt to see if I would be interested in reviewing it, this doesn’t effect my review though (writing a review I don’t personally agree with makes no sense for anyone!)

I would consider myself a beginner/intermediate Backbone.js user, I have enough experience with it to be dangerous but my Backbone.js code is nowhere near as clean as it could be and the best practices outlined in this book are going to be a massive help to me in keeping my code clean and reusable.

One standout chapter of the book was dealing with collections, I loved the discussion around filtering data, something I have seen in a lot of Backbone.js code is that collections are pretty much used because they have to be and people iterate over the entire set way too often. I think collections are way more useful than a lot of people realise and books like this will hopefully help people use them to their full potential.

I think my favourite section of the book involved the discussion around routing and subrouting, routing in Backbone.js has always been something I haven’t fully understood before and I found this section super helpful.

One thing I wasn’t so keen on was that testing was sold as being something that isn’t that easy, I personally disagree and if you test from the start (as the author suggests you should) then it really isn’t hard and I don’t think people need an excuses to not test.

Overall I would recommend this book if you wanted to improve your Backbone.js-fu!

Share this on

Generating migrations with couchrest_model

CouchRest_Model is a lovely way to handle CouchDB calls from without your rails app, it provides an Active Record like interface to your data.

In a project I am working on at the moment I am using both CouchRest_Model and Active Record at the same time, which isn’t a problem at all and they normally don’t stand on each others feet.

I say normally because one time when it can cause issue is whenever you are generating migrations using the command rails generate migration myMigration.

You may find that if you run this you will get the following error;

errorĀ  couchrest_model [not found]

This is because CouchRest_Model assumes it is the default ORM, which is fine in the app, but not find for migration generation.

To get around this we can add a flag to our migration command;

rails generate migration myMigration --orm=active_record

This will allow the migration to generate as expected.

Share this on

CouchRest Rails Setup – Setting a blank username/password is not the same as not setting a username/password

If you are using CouchRest in your Rails project and locally you don’t want to set a username and password for your couchdb install then bare in mind that the following are not the same;

CouchRest::Model::Base.configure do |config|
    config.connection = {
        :protocol => 'http',
        :host     => '',
        :port     => 5984,
        :prefix   => '',
        :suffix   => Rails.env,
        :join     => '_'

The code above has no username and password set, so it will not try and speak to CouchDB with any credentials.

The code below *has* a username and password set but they are both blank, so it will try and speak to CouchDB with the username and password both being set to an empty string, this will result in a 401 Not authorised error.

CouchRest::Model::Base.configure do |config|
    config.connection = {
        :protocol => 'http',
        :host     => '',
        :port     => 5984,
        :prefix   => '',
        :suffix   => Rails.env,
        :join     => '_',
        :username => '',
        :password => ''

This isn’t particularly unique to CouchRest at all but it tripped me up earlier so I figured I would share :-)

Share this on

An introduction to Ruby/Rails/Git – Belfast Ruby


Tonight saw the Rumble offices packed to the rafters with new and experienced Ruby developers coming along to learn more about Ruby, or to help lend a hand to those that wanted to know more.

The Talks

There were three talks tonight, one on Ruby on Rails. one on Git/Version Control and one on Ruby in general, I will briefly talk about each one in turn.

Ruby on Rails by Nicklas Persson

Nick opened the event and gave the first of the three talks on the subject of Ruby on Rails, after a whirlwind mention on the history/creators of Ruby/Ruby on Rails Nick spoke about why Rails is a useful tool and demonstrated how little effort it takes to get something up and running using some built in Ruby on Rails functionality.

Git/Github by Melissa Keizer

Next on the agenda was a talk/demo of how easy it is to get up and running with Git and Github. Melissa started by explaining some terminology and concepts associated with version control and then decided to give a live demo of setting up a repository on Github and working through some of the basic functionality. This was probably the most practically useful talk of the evening and hopefully conveyed how easy Git actually is for the standard stuff.

Ruby by Kieran Graham

The final talk of the evening was by Kieran on why Ruby is a fun and useful language to learn, he drew some excellent examples of how sensible Ruby seems when compared to languages like Objective C (and Brainfuck) his talk was very well received and I think instilled a sense of ‘doableness’ in folk who maybe are completely new to Ruby or programming in general.

The Sponsors

The event had three great sponsors;

  • BrewBot – Supplied beer for the event that they brewed especially for us called Ruby on Ales. Unfortunately I didn’t get to sample any of it but I am sure it was amazing.
  • ShopKeep – Supplied the pizza and yet more beer! and also some chairs (but who needs chairs when there is pizza and beer!)
  • Rumble Labs – Hosted the event and put on a good spread of snacks and yes, you guessed it, more beer!

My Thoughts

It was so exciting to see so much interest in the community for Ruby and seeing that certainly gave me a passion top-up. Unfortunately I didn’t stay around to get chatting to too many folk after the talks but it was a great evening and I feel the Belfast Ruby community is stronger as a result.

Thanks to all the speakers and sponsors for making another awesome Ruby event, I look forward to the next one!

Share this on