The all new GlasgowMobile User Group

Glasgow has a vibrant community of developers who like to get together and discuss about technology. For a city of its size, I would say that the technology sector is pretty big and there are lots of different user groups that one can join and find like-minded people to share ideas, have a friendly chat, make some friends and, maybe, learn something new. In the past we had excellent speakers visiting our city, such as Scott Gu and Scott Hanselman and lots others that I haven't had the fortune to meet in person. I would like to see more of …[read more]


Cross platform application development with Xamarin

Posted in Talking

I recently had the opportunity to speak to the Aberdeen .NET user group about developing cross platform applications with the Xamarin. This was my first talk of 2015 and it was a fantastic experience, starting with the drive up to Aberdeen, the majestic view I enjoyed while drinking coffee in front of ther river at the university canteen and finally speaking to like-minded people about how to get started with mobile apps development. In this blog I provide links to the videos and slides from the talk and also a retrospect of what I thought went well and what could …[read more]


Application Logging with LibLog

I have blogged about application logging in .NET a few times, here and here. It seems that every iteration gets better than the one before - the logging frameworks, not my posts :) Logging has always been important but for some odd reason it is either too complicated to implement or too clunky. In the beginning, we had strongly coupled implementation using one of the established logging frameworks (log4net, nLog etc). Then we learned from our mistakes and moved on to the Common.Logging API which abstracted things quite a bit and made logging more accessible. The goal behind this evolution …[read more]


Azure Web Apps - Testing in production

I use Azure Web Apps (formerly Websites) a lot. I run a few production sites, I run test sites and proof of concept projects. The whole process of publishing to Azure has become so easy and so FREE, that I have all but eliminated all other options. You can manage your sites from the portal(GUI), FTP, PowerShell, Visual Studio, Command Line, you name it. Everything can be scripted and everything can be automated so what's not to love about the platform? One important aspect of working with clients on new products or new features is testing. Testing in QA …[read more]


MacBook Pro Retina vs Surface 3

This post is a response to a reader's comment that was posted on one of my earlier blog posts: My Developer Rig & why I use a MacBook Pro as a .Net developer. Today, I will try to review both machines and explain how and why I use each one. Disclaimer: I am not a fan-boy of either camp. I use and respect both OSs equally, however, since most of my day-to-day work in done in Windows and more specifically inside Visual Studio, I tend to spend a lot more time in the Windows world. We should start by geeking …[read more]


2014 in Review

Did you have an awesome 2014? For me it was a strange year with the first half being fairly slow but as I passed the midpoint, my efforts were intensified resulting in a very exciting and busy second half. Many reasons compounded to this effect but it was mainly me getting my "shit together" (in lack of a better synonym) and working harder on my career and personal development. Am I happy with the result? You bet I am since I did more than I did in 2013. Could I have done more? You betcha! That's why as …[read more]


Add search to your Ghost blog with lunr.js and GhostHunter

I have been using the Ghost platform as my main blog engine for over a year now. There have been ups and downs and in general I have enjoyed the features that it offers. However, like many people found along the way, there are features missing, some of them quite important (see 'search'). I admit that Ghost is still a platform in progress and new features are being added with every release, but it seems that in their effort to provide a simple blog engine, they oversimplified things. Up until now I have been using Tapir to provide search results …[read more]


Improve your code with nCover

Whether you are a beginner or a seasoned developer, then one your most important goals should be to constantly strive to improve your coding skills. For me, writing clean, efficient and purposeful code is important both for the people involved in my projects and, of course, for the project itself. As a consultant, I participate in a large number of different projects and I make it a priority to ensure that my work is maintainable, testable and readable. There are hundreds of books, articles and courses about coding standards and practices that can help you become a better developer by …[read more]