The Dovetail Blog

Flexing our CSS muscles


I just recently started working on a small pet-project to keep sharpening my skills on the whole stack in my free time. One of the things I decided to go with is angular-material. It's an official Angular implementation of Google material design and it uses flexbox layout instead of the grid layout we're used to seeing in frameworks such as Bootstrap or Foundation. We talked a bit over it and since we will most probably use angular on most of our future projects, we decided to keep an eye on the whole thing so we could start using it when it feels production-ready.

We've outgrown our office, so we've taken a second room in GEC

Dovetail has grown in employee numbers quite quickly over the past 2 years. As a result we've run out of desk space in our GEC based office, so we've rented a second room, right next door. Four of the Dovetail team (myself included) have now moved into the new room.

We discussed different names for the new room, initially landing on dovetail 2. This name was not satisfactory as it inferred that we were a lesser side of Dovetail (not even remotely true!!), so we looked to geography and our two rooms are now called "Dovetail east" and "Dovetail west". 

We've been settling in nicely over the past few weeks, the east is a little quieter as there is less equipment and phones ringing, but we do miss out on a bit of the usual Dovetail banter. It's okay though, the Nespresso coffee machine is still in the west, so we visit regularly to catch up on the daily gossip. 

Dovetail offices, dovetail values

Having 2 rooms has taken a little getting used to, but it's a part of growth and a sign of exciting times ahead for Dovetail as we adjust to a bigger team.

IKEA customers are Swiping across the UK

One month has passed since the launch of the new Swipe A Surprise mechanic in 16 Ikea stores (UK and IE), and there are only two weeks left until the end of this phase. If you want to get your hands on a free gift from IKEA just join IKEA FAMILY and make any purchase in your local IKEA store!


This update arrives late on the blog because we have been busy actively tuning the system to improve the customer experience every day.

This new version of Swipe A Surprise works in a very different and more user friendly way. The interaction required by the user has been reduced to 2 simple actions: Scan and Print.

Every IKEA FAMILY Kiosk has been upgraded with a 2D barcode scanner, allowing customers to scan the barcode printed on their till receipts. The kiosk then shows the prize and allows the customer to print a voucher. So simple and so quick - over 122,000 prizes have been activated so far!

Mossy kindly showing a tasty voucher!

Here's Mossy holding a tasty voucher!

Olá Dovetail

Hello, my name is Murilo André da Silva and the I'm the newest international addition to Dovetail. I've been working here part-time since May while I was finishing my English studies and also bringing Coxinhas to the big bosses. In the end they liked the "Brazilian fried chicken things" so much that they decided to hire me.

I'm from a small (by Brazilian standards) city in the south of Brazil called Foz do Iguaçu. It is famous for the Iguazu Falls:


Before coming to Dublin I was working for SOFT-TI Informática as a Web Developer. Most of my experience comes from working with the .NET Framework, specially with ASP NET MVC applications. 

I'm really enjoying my time here at the company and I feel that the future here for me is very promising.



Changeover day in the fishtank

We've had a lot of fun with Pinchy the crayfish over the years. He amazed us with his prehistoric anatomy and we were fascinated by his molt. We laughed at his antics as he clambered around the tank. And he really challenged us when he laid eggs (though even that event failed to correct our casual use of masculine pronouns).

Look how big he got:

Pinchy in his travelling clothes

Unfortunately Pinchy's leading attributes were his appetite and his hunting. He ate all our fish bar two insomniac zebra danios. Since the loss of our pleco the tank became a quiet, overgrown, sad looking place - one into which we were unwilling to condemn any more fish.

Well that all changed this week. Goodbye Pinchy, hello bala sharks!

undefined undefined

Thanks to Shauna's Pet Shop for helping find a home for him.

p.s. I see he's on Shauna's Facebook page currently and somebody is talking about gumbo...Pinchy about to leave

Setting up a SMTP Server on an Azure Virtual Machine

Today I had an interesting challenge. It was to set up a SMTP server on an Azure virtual machine for a client who were moving to the cloud.

As we all know Microsoft likes to lock down or change certain settings on us when using their cloud services so hopefully this guide will help someone when setting up their SMTP on an Azure VM.

Here is the steps I needed to do in order to get SMTP server working on the Azure virtual machine.

  1. Install SMTP via Server Manager > Manage > Add Roles and Features
  2. Click Next until you reach "Server Roles"
  3. Tick Web server
  4. Click Next
  5. Tick SMTP
  6. After Installation Open IIS 6.0 Manager
  7. Right Click on SMTP Virtual Server and click properties
  8. Pick the VMs local IP address (Should be only one in drop down)
  9. Click Access Tab
  10. In the "Connection" and "Relay" screens select "All Except the list below"
  11. undefined
  12. Click Apply and OK
  13. Go to Services
  14. Right Click "Simple Mail Transfer Protocol"
  15. undefined
  16. Set the startup type to Automatic
  17. Click Apply
  18. Stop and Start the Service
  19. Click OK
  20. In your Web configs ensure to change any SMTP Server values from "localhost" to the name of the Azure VM e.g. "DovetailExampleVMName" This is the name you used when you first created the Virtual Machine on the Azure portal.
  21. Test your SMTP server

Hope this helps some people who are having trouble porting some websites over to an Azure virtual machine that used SMTP on their server. 

Rube Goldberg on the keyboard

Occasional Dovetailer Garrett Heaver recently asked what the lights are for on my monitor stand. This post is to answer him.

I annoy myself by accidentally hitting the caps lock key so I normally remove that key from my keyboards. (I think I may have actually learned that trick from Garrett). Recently I happened to have an Arduino Trinket lying around and some switches so I came up with a rather ridiculous replacement :)


There is a little video here on Youtube.


SSL Certificates, .NET Users MVC & The Return

SSL Certificates

I love SSL certs the green banner they give give a nice since of security when shopping online. But this week I was installing an SSL certificate and I encountered a very strange error "CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met." 

The error occurred when I tried to install the certificate via IIS.

To fix the problem I had to do the following:

  1. Click Start, click Run, type mmc.exe, and then click OK.
  2. Click File, click Add/Remove Span-ins.
  3. Select Certificates, and click Add, and then click OK.
  4. Select Computer account, and click Next, and then click Finish.
  5. Click OK.
  6. Expand Certificates (Local Computer), and Personal, and then Certificates.
  7. Right-click the certificate, and then click Properties.
  8. Edit the Friendly name field


After I finally got the certificate installed I applied the it to the IIS binding for the site and we got the green banner on the site when we visited the secure side of the site.

.NET Membership with MVC & Auto Scripting

Kit this week has been building a Membership implementation for a client. He was trying to do it via code first approach were the database would be built later on.

I thought there was no automatic script building for SQL server. However buried deep inside .NET and not well documented Kit found how to get the database on the SQL server to be automatically populated specificly for Membership/Identity. All one had to do was send in the connection string and when you registered your first user the tables would be created on your SQL database. This will make creating Membership entities a lot easier int he future. Nice on Kit.

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
       public ApplicationDbContext()
           : base("ConnectionString.SQL Server (SqlClient)", throwIfV1Schema: false)
       public static ApplicationDbContext Create()
           return new ApplicationDbContext();

The Return of Gregory

Greg our intern for 7 months last year has returned to work full time with Dovetail. We are delighted to welcome him back. Hopefully he will have a blog post for you this month. He has been working with Fabrizio on the IKEA project.

End Of May Roundup

It has once again been a busy month for Dovetail. With development work, meetings and trips to Denmark we are looking forward to the Bank Holiday weekend.

Rafal & Mossy have been working on the Lobbying web application. They have been putting some finishing touches to the application.

Murilo has been working on the CSS for the Lobbying application. The CSS will feature high contrast colours which will mean the site will be more accessible. He is also working on transferring some old virtual machines over from Tomas's old machine to his new one. This involves getting the old VHD file to work on Hyper-V.

Murilo has also delivered an update to our Hawkeye application. The new update allows us to monitor various Azure products and to alert us when they go down which means we can quickly determine if an issue lies with an application or with Azure.

Fabrizio has been working on some new features for IKEA Swipe a Surpirse.

Kit has been doing some fantastic work on an update for a client and we hope to have more on this very soon.

Tomas has been working on finishing some updates for CIS. He also manged to fit in some other work for other clients.

Trevor and Martin have been going to meetings to get a scope on a new project.

I've been working steadily on updates to the Irish Rail project as well provide support to existing clients. 

And we are happy to announce the return of Greg who has finished his degree with Griffith College and will be starting work here on Tuesday. 

We look forward to welcoming him back to the Dovetail team.

Hej Copenhagen, nice to meet you.

Trevor and I had a quick visit to Copenhagen this week. We were meeting a potential new client which is exciting.

All business aside, it was fun to visit a new country and city. I've never been to Denmark or Copenhagen before, so we got a little time to explore the city before our return flight. Trying to avoid the usual tourist traps, we scouted out a lovely little Danish restaurant called Restaurant Kronborg, where we experienced some traditional cuisine consisting of smoked fish on an open face sandwich.

Restaurant Kronborg

Copenhagen is a lovely little city. I won't mention the last minute booking by a certain someone that resulted in us staying in a hostel in the red light district. The amount of bicycles there is simply staggering, and everyone is so positive about cycling there. The infrastructure helps a huge amount too. Dublin seems to be going through a cycling revolution at the moment and can learn a lot from Copenhagen, with our city also being relatively small and flat.

Dovetail visits Copenhagen