We’ve started a new year and this year my goal is to improve my communication skills, start writing more and really try and get back into my music. One of the things I struggle with, and if you know me you know, is connecting and talking with people. That’s something that’s not really in my wheel-house, unless I know really well. So I want to get better in that part of my life, it will help me a lot at work as well as in social settings. I used to write and journal a lot, not like “Dear Diary” stuff, but track progress throughout my day on what I was working on and just jotting out notes. I’ve decided to get back into that, and I picked up Moleskine 2024 Daily Planner and the Moleskine Kaweco Fountain Pen, I really enjoy pens. Finally getting back into music, you may not know, I was a Music Education major in college, and my focus was Brass, and specifically Trumpet and French Horn. I miss playing music and really miss writing music, I’m not good at it, but I miss the act of putting things together musically. I decided for writing I would download Musescore as it seems to be the best choice, and for playing, going back to Arbans, I used that book during high school and college and still have my copy, the app might make it more enjoyable. I plan to get that started once my trumpet is back from the shop getting repairs. That’s a lot right off the bat, but I felt I needed to get it out, so let’s go over this past week.
Monday was a holiday, and honestly I didn’t even realize that, actually had to look it up on the HR page at work, so I put in an hour or so before knowing I didn’t need to! This is rather par for me, I don’t often notice holidays outside of a few, and I guess New Year’s Day was never really one I paid attention to! Over the weekend and into Monday I did a lot on a new PowerShell module that should really help with some of the things I need to do for work.
Pipelines is the name of the module, and the goal is really to make it easier to work with either [Azure Devops pipelines(https://learn.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops)] or Github Actions. I wrote a YamlSerializer that converts the pipeline classes into yaml, those can then be written to a file so that you can programatically create a pipeline. This will fill a very niche need of my own, not sure how popular it may be for anyone else, but I’m very proud of it, it’s my first dive into creating a more feature rich C# application/module for PowerShell.
As part of that I am wanting to step-up my Local Automation game. I’ve re-visited a few of those configurations and spent a significant amount of time learning and using the Github GraphQL API. I was thinking about a way to automate some of what I was doing and report it back into a project or pulling down unassigned cards from a project and creating a TODO out of those. I need more time learning this, but I may see about writing something up in the near term on using the Github GraphQL API.
Wednesday was spent learning about Logging Providers, enoguh so that I have started my own Log Provider, Logger. It’s a simple Provider that should write to console or a log file, and includes some basic log rotation capability. As part of a first release I wanted to have at least the basics of console/file writing enabled, additionally there should be tests as part of the project. This is the first C# project I’ve put up that incorporates a Test project. I’m using Nunit tests to make sure the provider covers the basics. The best part of this for me is that it works with the current release of PowerShell wihtout too much work at all, this has been an issue of mine for a while now, I’m sure it’s possible with Nlog or other Providers, but I’ve never really had much luck getting that sorted out and working for me.
My Thursday was filled with work meetings and a lot of waiting on other people so I could progress. I spent time between reading and working out the Unit tests for the log provider. Friday was a very good day, again a LOT of meetings, but progress was made. I wrote a lot of documentaiton for work about an overly complex process that really shouldn’t be and I added a C# project to my Local Automation repo.
I’m also thinking that it may be time to convert a lot of my automation tasks into Github Actions. Thinking about how my automation work for local development, a lot of that can also be done via workflows in Github. Most of my psake tasks could just as easily be steps in a workflow. As I think about how I use pipeline technologies in Azure Devops, it’s possible that I could create those tasks as individual Github Actions and then tie them all together in a larger workflow that performs most of the same functions as my psake does locally. Considering most of my work is C# and .Net, it turns out I will need to figure out Docker as well. Not sure if that’s good bad or ugly at the moment, but I guess we shall see.
I understand that this has been a long winded post, but if you’ve stuck through to the end, congratulations you made it! I hope you all have a wonderful weekend and I look forward to what comes next week!