technology

Getting Badges to Update on GitHub Pages

Published at July 6, 2021 ·  11 min read

A while back I was looking for a solution that would give me a better picture when it came to deployments and releases then what I was getting from Jenkins. Jenkins may be the most popular CI build orchestrator in the world but lacks in the area of deployments. There are different needs when it comes to deployments and releases that are quite different then what you want from a CI tool....


Posting a Release on an Asana Calendar

Published at March 21, 2021 ·  9 min read

One thing that I like to do is to have a Calendar that shows all the versions that I have released to Production. I don’t have a whole lot of programs that I maintain but there is enough of a variety that I do switch around to the various bug fixes and new features and it would be really cool to see them all on a Single Calendar. This way I can be sure that features and fixes are getting out there and my stakeholders can also be aware of this information....


Testing a Docker Image as part of a Jenkins Pipeline

Published at January 15, 2021 ·  9 min read

One of the things that I have wanted to do is to test the structure of a docker image that I have just built. This should come right after the build stage so that if the structure is not what I expected, it would fail the build so that I don’t have a bunch of broken images sitting in my docker registry. I guess that this happens because I am using a docker image to build my project and the result of that output is copied into a clean docker image that will be my final image that can then be run as a docker container....


My Roadmap for 2021

Published at November 30, 2020 ·  6 min read

For my next couple of blog posts I thought I would try something a little bit different then what you might usually see on these pages. Today I am going to talk about 2021, the topics that interest me right now and what you could be expecting to see in the coming months. The year 2020 has certainly been an interesting one for many. This was a massive change for a number of businesses where they were forced to rethink the way they were doing business....


Maintaining the Golden Images

Published at October 31, 2020 ·  15 min read

Today I wanted to take you down an unusual path as I disclose some of the docker structure that I have configured recently in my environment. It has been my goal for a while now to run everything that I can in a docker container. What I mean by everything is that it is more than just my web sites and applications that I have been working as side projects for years but also includes some of the open source support tools that I use....


My Take on Software Versioning

Published at September 24, 2020 ·  7 min read

A couple of years ago I was thinking of building my own version generator that would work automatically based on the kind of work item I was working on. This would have been an api call that would be called from the build taking in the branch information checking if this branch has already been registered and return me the appropriate version number. I thought it was a pretty cool idea and would have worked for me because I work on a single Product Backlog Item (PBI or Story) or Bug at a time and it gets released as soon as it is ready....


The Path to Docker

Published at August 20, 2020 ·  6 min read

I have to say that I love Docker and working with Docker Images inside of containers. However, for the longest time I think I was looking at this from the wrong angel and I am sure that there are others out there doing the same thing. I think that this is because the explanation of this technology is usually done from an operational point of view and not from a developer....


Pipeline As Code

Published at July 23, 2020 ·  7 min read

There are new buzz words that popup all the time in the DevOps world. In the last few years one of those words that came up was Pipeline as Code. Everything is coming down to being able to turn it into code. As developers this has always been a natural step for us because we have always begun with code that then gets compiled and turned into working software. More than a decade ago there was a big push to try and re-train folks who worked on databases (DBA’s) to think in terms of database as code and keep that code in Source Control the one single source of truth....


Publishing a PowerBI Report to an Azure DevOps Dashboard

Published at April 15, 2020 ·  4 min read

I have been working with Power-BI lately using data from my Azure DevOps Service. There are provided for us a number of pre build views that you can use in both the Cloud and the on premise version of Azure DevOps Server Update 1 and higher. But what really got me going was a set of templates that are available in the Marketplace called FlowViz. Basically when you install this extension if gives you two Power BI templates, one for Scum and one for Agile....


How I Work With Work Item Templates

Published at March 12, 2020 ·  5 min read

Azure DevOps (aka TFS, VSTS) has always had this ability to save the content of a work item as a template. In older versions of Team Foundation Server this was more obvious once you downloaded tools like the “TFS PowerTools” but then it was in your face; there were templates. Today in Azure DevOps they still exist, are just a little harder to find and you can have a different set of templates for each team....


Linking WorkItems to Commits

Published at February 22, 2020 ·  2 min read

This post is about linking work items to a git commit within Azure DevOps. Doesn’t it do this almost automatically, you may be thinking? Well that was why I was surprised when I linked a work item using Visual Studio and then also tried to link the work items using the # symbol and the work item Id and found that the commit was not linked. I am almost always on top of the changes that are released almost every 3 weeks in the release notes for each sprint....


Integration Testing DotNet Core

Published at January 17, 2020 ·  5 min read

It is pretty easy and straight forward to create a dotnet core application and run your unit tests during a build process. However, I also have some integration tests that I run in my Dev and QA environments where I actually hit my test database. This is not something that you would run in the build process as I do not have a database on the build machine and this is not something that would be worth the trouble to install one, especially if you are using a hosted build agent....


Easy Configuration Updates During Deployment

Published at October 24, 2019 ·  10 min read

In a proper CI/CD setup where we are building once and deploying that build to various environments as it travels down the pipeline towards production there is almost always a set of configuration files that are different for each environment. Over the years there have been a number of different techniques that have been used to manage this like never deploying the web.config file during a website deployment or storing the various configurations and copy them to their locations at the time of deployment....


Teams (SubTeams) and Area Paths

Published at March 22, 2019 ·  9 min read

Back in around the 2012 release of TFS (now known as Azure DevOps) we were introduced to the concept of Teams. This was a logical breakdown of a single project that typically could represent an organization or at least a division. I come from the camp of one collection and one project as this gives you the most value and best experience and even though the product has evolved to be even more flexible then it has I think this is still the best approach to take today....


Red Gate tools vs SQL Server Data Tools

Published at May 16, 2018 ·  18 min read

Recently I have been tasked with showing a development team how to version their SQL databases using the Red Gate tools. Normally I mentor and give guidance in these kinds of projects using the SQL Server Data Tools but because their databases were so large they found that the SSDT approach would just not work for them. They did find in their own experiments that the Red Gate tools did not impose these limitations and worked quite well dispite their database size....


Linking the Iterations to all your Teams

Published at March 2, 2018 ·  8 min read

I am sure that there are several development teams out there that work similar to me. I am a big fan of the one TFS Project to rule them all and then using teams to separate the work. In my case I am working on my own but support several products, so I have a team for each of the products even though I am pretty much the only member on all those teams....


When Should we Move the Work Items to DONE?

Published at October 9, 2017 ·  5 min read

This is a very common question that I get asked by different software development teams as I make my rounds to helping clients with their ALM practises. There is a common pattern associated with this question and I know this is the practise when I see a lot of columns on their Kanban boards or worse yet a lot of states that they are tracking on the work items....


Master Only in Production (an Improvement)

Published at July 5, 2017 ·  3 min read

Some time ago I wrote a blog post about My New 3 Rules for Releases and one of those rules was to only release into production code that was built from the master branch. In that solution I wrote a PowerShell script that would run first thing on the deployment to only go forward if the branch from the build came from master otherwise it would fail the deployment. This gave me a guarantee that builds that did not come from master would never get deployed into Production....


One Build Definition to Support Multiple Branches

Published at June 1, 2017 ·  4 min read

Before I moved to git, I had the same situation that many of you have had when it comes to managing build definitions. I had a build definition for each branch and for a single product this could have been several all doing the same thing. Yea, sure they were clones of each other and all I really needed to do was to change the path to the source in each case....


Sending an Email to the Developer when the Build Failed

Published at May 4, 2017 ·  4 min read

Over the many versions of TFS there were existing workarounds that allowed us to send an email to the developer that queued the build and it had failed. Although these workarounds did work, I always felt that this should have been handled by the alert system within TFS. What was lacking was some sort of condition that if the build failed it should go to the developer that queued it up....


When is Waterfall a Good Choice

Published at April 19, 2017 ·  7 min read

In my work as an ALM consultant I will often be asked the question or told that a team can’t go and practice agile they have to do waterfall. I think they are looking at this in the wrong way. One of the things to think about in waterfall versus agile is what these two methodologies are really all about. Is waterfall really all that bad? The answer to that question is: No, waterfall is actually a great methodology and a great pattern that has worked for some projects....


An Argument against the Date Based Version Number

Published at February 22, 2017 ·  5 min read

In the past I have followed two types of version numbers for the products that I build and support on the side. Products that were customer facing all followed the Semantic concept of version control. If there was a big change but not breaking then the minor number incremented. If the change could have potential breaking changes then the Major number was incremented. This concept works well in that every time that code was changed the third digit, the build number was incremented....


Security Configuration for Teams

Published at November 2, 2016 ·  8 min read

Typically if it does not matter if team member’s can view the work of other teams or maybe they even work across teams which is usually the case, then having Contributor access at the TFS Project is all that is needed and desired. However, there may be those situations where you find that you need to guard data from each team so that the other teams cannot see the source or the work items of the other team and yet be within the same TFS Project so that we can get good cross team reporting that makes sense....


My New 3 Rules for Releases

Published at September 23, 2016 ·  9 min read

Everyone of my products have an automated build and a properly managed release pipeline. At the time I just thought business as usual as I was always on my way to having a well performing DevOps operation in my personal development efforts. Well something happened in the way that I started approaching things which you don’t really plan, things will just start to happen when you get into a situation where everything is automated or at least they should and that is what this post is about....


My Experience with Git Sub-modules

Published at September 12, 2016 ·  5 min read

I just replaced my phone with a new Microsoft Lumina 950 XL which is a great phone. In my usual fashion of checking out the new features of my phone I wanted to see how my web sites looked. The operating system of this phone is the Mobil version of Windows 10 and of course is using the new browser called Edge. Well it seems that my blog did not look good at all on this new platform and was in fact not even close to being workable....


Some MSDeploy Tricks I have Learned

Published at August 3, 2016 ·  5 min read

In an earlier post I talked about Hexo the tool I use for this Blog. In that post I talked about how delighted I was with this process except for one thing that did bother me and that was the deployment to the Azure website. For this process I was using FTP to push the files from the public folder to Azure. Instead I was hoping for an MSDeploy solution but that is harder than it sounds especially when you are really not using a Visual Studio Project and MSBuild to create the application....


How I Use Chocolatey in my Releases

Published at June 10, 2016 ·  13 min read

I have been using Chocolatey for a while as an ultra easy way to install software. It has become the prefered way to install tools and utilities from the open source community. Recently I have started to explore this technology in more depth just to learn more about Chocolatey and found some really great uses for it that I did not expect to find. This post is about that adventure and how and what I use Chocolatey for....


Who left the Developers in the Design Room

Published at May 23, 2016 ·  5 min read

This post is all about something that has been starting to bug me and it has been bugging me for quite a while. I have been quiet about this and have started the conversation with different people at random and now it is finally time I just say my piece. Yes this is soap box time and so I am just going to unload here. If you don’t like this kind of post, I promise to be more joyful and uplifting next month but this month I am going to lay it out there and it just might sound a bit harsh....


Let the Test Plan Tell the Story

Published at April 5, 2016 ·  6 min read

This post has been the result of some discussions that I have had lately when trying to determine the work flow for a client but this often comes up with others in the past but what I had never used as an argument was the role of the test plan in all this. Besides being an eye opener and an aha moment for the client and myself I thought I would explore this thought a little more as others might also find this helpful in understanding and getting better control of your flows....


Migrate from TFVC to Git in TFS with Full History

Published at February 1, 2016 ·  7 min read

Over the last year or so I have been experimenting and learning about git. The more I learned about this distributed version control the more I liked it and finally about 6 months ago I moved all my existing code into git repositories. They are still hosted on TFS which is the best ALM tool on the market by a very, very, very long mile. Did I mention how much I love TFS and where this product is going?...


A New Start on an Old Blog

Published at January 14, 2016 ·  6 min read

It has been quite a while since I have posted my last blog so today I thought I would bring you up to speed on what I have been doing with this site. The last time I did a post like this was back in June of 2008. Back then I talked about the transition that I made going from City Desk to Microsoft Content Management System which eventually was merged into SharePoint and from there we changed the blog into DotNetNuke....


Database Unit Testing from the Beginning

Published at November 15, 2011 ·  11 min read

The concept of unit testing for a database and really this means a database project still seems like a wild idea. Of course I am still surprise how many development shops still use their production database as their source of truth which it shouldn’t be but that’s because they do not have their database in source control. In order to take you down the road to explore some of the benefits that are going to be available to you with being able to run unit tests on your database I need to get us all caught up with how to create a database project as this is where the magic happens....


Database Schema Compare where Visual Studio goes that extra mile

Published at January 27, 2011 ·  7 min read

There are a number of good database tools out there for doing database schema comparisons. I have used different ones over the years at first initially to help me write SQL differencing scripts that I could use when deploying database changes. If your background is anything like mine where you were namely a Visual Basic or a C# developer and could get by with working on SQL if you could write directly to the database....


The Two Opposite IT Agendas

Published at August 17, 2009 ·  5 min read

The Problem I have been in the Information Technology (IT) field for a long time and most of that time has been spent in the development space. Each environment different from the previous one and in some cases there were huge gaps in the level of technology that was used and made available in each location. This has stumped me for a long time why this was. You go to a user group meeting and when ever the speaker was speaking about a technology that was current and he would conduct a quick survey around the room how many were using this technology, the results would be very mixed....


Goal Tracking

Published at February 9, 2009 ·  5 min read

Since about the beginning of the year I have been thinking about goal tracking. I compiled a long list of technologies that I wanted to learn, experiment with and maybe even build some projects using some of these newly learned skills. Nothing quite like turning something new into something useful. I find that this technique provides me with the best understanding of how and why a technology would be used in one scenario over another....


C#.net or VB.net

Published at June 21, 2008 ·  10 min read

Starting from the Beginning I have been a Visual Basic developer for over ten years now. It was not my first language that got me excited about programming. No, that would have been Clipper. I accidentally fell into Clipper much the same way that Visual Basic started as an experiment for me. It was sometime around 1987 or 1988 when I was working as the accountant and network administrator for my family’s car dealership....


The Power of Time Tracking

Published at June 21, 2008 ·  7 min read

I love to keep track of time. It could be related to my love of data and all the information that I can extract from it: how much fuel does my car use, how much time do I spend on stuff each week, how many hours am I away from my family. Actually my attraction to time tracking goes much deeper than that. I never planned to start my own business when I made the career change into software development so many years ago....


What is The Web We Weave?

Published at June 14, 2008 ·  9 min read

A little more than a year ago, Mary and I had a discussion about the many projects that we both have had in the backs of our minds and would like to make a reality. We thought a corporation would be good in that it could provide us with the legal entity and a single structure in which we could register our copyrights and trademarks. It might also provide us with some tax relief and if things went well, could very well represent a major part of our future....