• Contracting is Dead in the UK

    looney tunes logo

    When I started contracting back in 2011 the market was buoyant and it was not unusual to be fielding multiple calls a week (or day) from recruiters asking whether you were available or not. This meant that when you were coming to the end of one contract you normally had another secured to follow on. Life was good.

    Then Covid happened and the whole landscape changed with the contract market essentially imploding overnight. Unfortunately, when the world started to get back to normal the contract market didn’t follow suit, it remained pretty much stagnant.

    The primary cause of this can be leveled at IR35 and the Off-Payroll changes rolled out to the private sector in April 2021. Now, I’m not going to try to explain the abomination that is IR35 because that’s not going to achieve anything, it will make this a very long and boring post and frankly it isn’t going away, so there is no point banging on about it.

    The long and the short if it is …. I’m out … I’m done with contracting and that’s that!

    But where does that leave me, because the permanent job market isn’t a great deal better.

    Read more
  • The Day I Cancelled Pluralsight

    crossed out pluralsight logo Back in early 2012 I watched an online course on Pluralsight - Data Layer Validation with Entity Framework 4.1+ by Julie Lerman.

    It was the first of a great many courses I’ve watched since then and I’ve learned a lot.

    But in recent years I’ve found that I’ve spent more time watching other high quality courses elsewhere.

    Previously there wasn’t anything like Pluralsight - sure, there was YouTube but the quality just wasn’t there. You could find some useful content but it fell short of the quality of the courses on Pluralsight.

    Read more
  • Adding Clustering to MAUI Maps on Android

    Over the years I’ve developed a number of mobile applications that require the ability to display a number or locations on a map.

    The challenge comes when there are a large number of locations to display because the map very quickly becomes overwhelmed with marker pins - but only really on Android because Apple Maps provides a degree of clustering out of the box.

    image of android emulator and ios simulator running the sample application which displays a map of the UK with 500 randomly dropped pins. The landmass of the UK is almost totally obscured by the pins while ios is only displaying about 50 pins which massively reduces the on screen clutter.

    The above images show the difference between the standard Android and iOS maps with 500 markers randomly dropped onto them and as you can see, Android isn’t really cutting it as the UK landmass is pretty much totally obscured by the marker pins. While it could be argued that the iOS version is the lesser of the two implementations because there is clearly data missing, zooming in will cause more marker pins to be revealed.

    In this post I’ll show you how to extend the functionality of the regular Android mapping implementation provided by the Microsoft.Maui.Controls.Maps package to include Marker Pin Clustering which, in my opinion, will improve the UX no end.

    Read more
  • Developing a Jekyll Website with Docker

    docker logo

    Yesterday I spun up Jetbrains Rider, loaded up the Jekyll folder for this very website and prepared to get a blog post out of my head and online … but this is not that blog post!

    No, that post had to go on hold while I battled with error after error as I tried to get the site built and the Jekyll service up and running. Before I knew it, the evening was drawing to a close and I still didn’t have the site running locally.

    The problem was clear though - dependency issues with Ruby and its Bundler that are core to Jekyll’s operation. Something had updated on my MacBook Pro and it had really upset the apple cart.

    error in Rider terminal when trying to start jekyll server showing what appears to be a dependency error

    So how was I going to get around that?

    Read more
  • Save Blushes with Git Hooks

    We’ve all done it - we’ve committed a file, pushed it to the repository and it’s broken the build …. I know, shock, horror huh!?

    Now I’m not suggesting that experienced developers are committing code that doesn’t even build - I mean, we all check that much right ….. right? But do we always remember to run the unit tests?

    No, we don’t, and what happens next - we have to run the tests locally, find the issue, fix it and then go through the cycle again. While you make be able to squash these ‘fixing build’ commits out of the history but that build failure will always be there (unless you’re the DevOps admin of course).

    But what if there was a way that you could avoid having to remember to do these simple, but easily forgotten, tasks. Well, that’s where git hooks come in.

    Read more