One month ago I became a dad for the 3rd time. And so my spare time, which has always been a premium, has shrunk even further. But here’s some thoughts on some stuff:

SQL Stuff

  • SSDT Supports Visual Studio 2017. And not only that, SSDT supports SQL Server Database, Analysis Services, Reporting Services, and Integration Services projects in Visual Studio 2017. SSDT has come a long way since those days of requiring two different IDE’s - one to support BIDS and the other to support Database projects.
  • Another feature in SSDT which was added for database projects which I completely forgot about was “Ignore Column Order” when publishing a database. Now in row based storage, it doesn’t matter where your columns are aligned in a table, other than for the look of the thing. If you want “columns together” then indexes are what you need. What makes this option really useful is those times when you have a database that has never been in source control and you want to start deploying to other environments where the database already exists. So when you start automating deployment you don’t have changes like columns being reshuffled when that’s really not important.
  • There is an official version of SMO available on Nuget. Prior to this you could either use one of the unofficial versions, use SQL Tools Service, or install the MSI, which required SQLCLR and another MSI who’s name has escaped me. There is a .NET Core version coming soon. SMO is great when you are working with objects like SQL Agent, but even though you can execute SQL when using SMO if that is all you really want to do then you should use SQLDataClient, which is installed as part of .NET.

PowerShell Stuff

  • Approved verbs are still really important in PowerShell. This apparently is still news to some people, and it is definitely my biggest bellyache complaint.
  • ASOS have open-sourced their CI process for Octopus Deploy Step Templates/Script Modules. This is good because there’s no obvious way to do this currently, and so none of your scripts are version controlled. Which leads me onto…
  • I have finally decided that Script Modules in Octopus Deploy are completely useless until Octopus Deploy get their act together and enable some sort of version control system to be applied to Script Modules. irrespective of the open source module mentioned above. Until then all modules required for deployment will be packaged as NuGet packages and downloaded as part of the deployment process. This means I can also control the version that is pulled down when a release in Octopus is created.
  • Step Templates however, area necessary evil: I still hate that there’s no version control with them, but if chances are you’re writing custom deployment code in Octopus, and so Step Templates are required. my advice would be to write as much functionality as you can into a NuGet package, and use Step Templates to merely execute the functions in the module.

Software Stuff

  • I finally ran out of reason not to buy GitKraken. I loved the free version but started using it at work so much that I felt bad for not buying a licence, which is the decent thing to do. I’ve also paid for it out of my own pocket so I can use it elsewhere.
  • I’m also in the process of moving from G-Suite to Zoho mail. I don’t know why I’m paying $5 a month for a custom email account. It’s nuts. So I’ll see how Zoho gets on. Just need to DNS to update and it’ll all work smoothly. Added bonus is 25 free accounts, so now the kids have got their own email addresses. But I’m not done yet: One day I’ll move away from Wordpress and use something like Hugo. But seeing as I paid up for three years I’m hardly in a rush. I might well trial it out on another domain first before I movet his main one. UPDATE: one week in and it’s going very well. Am very impressed by the efforts.
  • Pi-Hole continues to be super useful.

Pokémon Stuff

  • I used an all-Rotom Team in the No Holds Barred competition and surprised myself in winning more than I lost. This I think was in part to other people taking the competition not too seriously, like myself, and just going for the teams they’ve always wanted to run as opposed to 6* Zygarde Complete or whatever. So my team had more of a chance than I thought.
  • The next competition is Mega Melee, where only mega-evolution Pokémon can compete. Am going to go for an all-bug team, just to make things interesting. I ran all-all bug team once before and had some epic and real fun battles I’ve since discovered it’s 1 V 1, so am going to go Mega-Slowbro with Scald, Toxic, Slack Off and Recover.