Computer Science, Software Development, Cloud Computing, and Management Blog Posts

Git - Gitflow Workflow

Saturday November 21, 2020
The Gitflow Workflow was first published in a highly regarded 2010 blog post from Vincent Driessen at nvie. The Gitflow Workflow defines a strict branching model designed around the project release. This workflow doesn’t add any new concepts or commands beyond what’s required for the Feature Branch Workflow. Instead, it assigns very specific roles to different branches and defines how and when they should interact.

Git - Simple Workflow

Saturday July 27, 2019
A Git Workflow is a recipe or recommendation for how to use Git to accomplish work in a consistent and productive manner. Git workflows encourage users to leverage Git effectively and consistently. Git offers a lot of flexibility in how users manage changes. Given Git's focus on flexibility, there is no standardized process on how to interact with Git. When working with a team on a Git managed project, it’s important to make sure the team is all in agreement on how the flow of changes will be applied. To ensure the team is on the same page, an agreed upon Git workflow should be developed or selected. There are several publicized Git workflows that may be a good fit for your team. 1

The gitignore file is an essential part of a Git repository.

Thursday June 13, 2019
The gitignore file is an essential part of a Git repository. Various files should not be deployed to a production environment or shared between development environments. "A gitignore file specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected." (https://git-scm.com/docs/gitignore) There are standard templates for IDE's, such as JetBrains, VSCode, and Sublime, there are also templates for CMS/Frameworks, such as Django, Drupal, WordPress, and Larval. gitignore.io provides a command line interface to include various templates into a .gitignore file, https://docs.gitignore.io/install/command-line.

Amazon Web Services (AWS) Administration via Microsoft Windows CLI

Sunday March 17, 2019

The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.

"Chocolatey - Software Management Automation"

Quick How to Connect to Office 365 via PowerShell

Saturday March 16, 2019

How-To create a remote PowerShell session to your Exchange Online organization

  1. Open Windows PowerShell as Administrator
PS > Set-ExecutionPolicy RemoteSigned
PS > $UserCredential = Get-Credential
PS > $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
PS > Import-PSSession $Session -DisableNameChecking
PS > Connect-MsolService –Credential $UserCredential
PS > Connect-AzureAD –Credential $UserCredential

"Be sure to disconnect the remote PowerShell session when you're finished. If you close the Windows PowerShell window without disconnecting the session, you could use up all the remote PowerShell sessions available to you, and you'll need to wait for the sessions to expire. To disconnect the remote PowerShell session, run the following command."

PS > Remove-PSSession $Session


Microsoft Office 365 Administration with PowerShell

Saturday March 16, 2019
As a Microsoft Office 365 Global Administrator, PowerShell and Git are the necessary tools for effective management. The following is a quick guide for installing the Office 365 and Azure PowerShell modules and Git.

General documentation writing concepts, including structure, mechanics and language.

Thursday November 29, 2018


  • Descriptive Title – The title should be descriptive and include common search terms based on the subject of the document.
  • Introduction – A summary of the procedure, including context of the procedure, a high level purpose of the process and the technology involved.
  • Prerequisites – What needs to be in place before starting the procedure? What is needed to allow the procedure to be completed without disrupting the flow of the procedure?
  • Procedure – Document all steps needed to complete the procedure.


Mechanics can help with the readers’ understanding of the document.

  • Screenshots – Screens provide visual ques and context for steps of the process. Use tight screenshots, only including the part of the screen that is focus of the step or process. Do not capture the whole screen.
  • Related Assets – If a step or process is related to another asset (document, configuration, password, user, etc.) include a link to that other asset. This provides both context to the process and allows for quick access to the other asset. Relationships are bi-directional, meaning that a user can move between assets, from a process to a configuration, or from a configuration to a related process. For example, Creating an Active Directory User, linking the steps of the process to an organization AD server, provides information on where to create the user, and when viewing a server knowledge of what services / functions that server provides.
  • Bold Text – Use Bold Text to form onscreen buttons or text to help differentiate them from the rest of the text in a given step or procedure. This allows for text to be skimmed, and a user can quickly find links, text, or buttons that are needed for a process.
  • Italicized Text – Use Italicized Text for examples to also help differentiate them from the rest of the text.


  • Audience – Who will be reading the document? Knowing your audience will help determine if and what jargon, acronyms or slang can / should be used.
  • Assumptions – Document assumptions should be added to the Prerequisites section of the document.
  • Brief – Keeps the steps short, clear and precise.
  • Avoid Time-Sensitive Information – Use job roles instead of an individual’s name, for example.


Chocolatey Package Manager for Windows

Sunday August 26, 2018
Chocolatey is a package manager for Windows (like apt-get or yum but for Windows). It was designed to be a decentralized framework for quickly installing applications and tools that you need. It is built on the NuGet infrastructure currently using PowerShell as its focus for delivering packages from the distros to your door, err computer.

Monitoring Amazon Web Services (AWS) - AWS CloudTrail

Saturday August 18, 2018
Collect, manage, and analyze audit logs of events that could help detect, understand, or recover from an attack.

The NIST Definition of Cloud Computing

Thursday January 18, 2018

"Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models." - https://csrc.nist.gov/publications/detail/sp/800-145/final

  • «
  • 1 (current)
  • 2