Finished migrating website is now built with Jekyll.

Jekyll • Simple, blog-aware, static sites Transform your plain text into static websites and blogs

The site is hosted on

When I commit changes to the repo GitHub Actions automatically rebuild the site. It uses the Jekyll Deploy Action by Jeffrey Tse.

Here are some tips for Managing a custom domain for your GitHub Pages site. This is a great resource.

Migrate to GitHub Pages


  • Migrate hosting to GitHub Pages.
    • Azure Static websites cost more.
    • Azure support of apex domains is not good.
  • GitHub Pages deploying/publishing with Actions is cool.

Send To Drafts


  • Send text from Windows to Drafts app. Drafts is an iOS app.

Drafts. Where Text Starts.

Drafts lets you turn text into action – it’s a quick notebook, handy editor, and writing automation tool, all in one.

– from the website


  • Sends Windows clipboard text to Drafts by way of Dropbox.
  • Sends PowerShell command line output to Drafts.


  • Download or clone this repo to your ~/Documents/WindowsPowerShell/Modules folder.
  • Add import-module Send-ToDrafts in your $PROFILE.
  • Create the Drafts folder at ~/Dropbox/Drafts.
  • From the Drafts Action Directory install Dropbox to Drafts.


Send-DosToDrafts cmdlet

  • This cmdlet works with PowerShell commands entered as command line arguments or other PowerShell commands piped to Send-DosToDrafts.
  • Running as a command line argument:

# Outputs the command results to the current window and creates a text file with the output in ~/Dropbox/Drafts
Send-DosToDrafts Get-ChildItem

  • Running as piped commands:

# Outputs the command results to the current window and creates a text file with the output in ~/Dropbox/Drafts
Get-ChildItem | Send-DosToDrafts

Send-ClipboardToDrafts cmdlet

  • Copy text to clipboard & run Send-ClipboardToDrafts.
  • I made a Windows shortcut that runs Send-ClipboardToDrafts in a minimized PowerShell window. That provides a quick icon to click. In the future I may develop a C# app for the system tray.



Windows To Drafts

Getting Started

  • Like the tagline says, where text starts. It is such a handy app and concept. But I spend a lot of time in Windows.
  • Get content from Windows into Drafts App
  • Get Windows command line output to Drafts. Wrapper scripts take commands and redirect output to a Dropbox file, overwriting previous content.
  • Copy the content from DropboxToDrafts.js to a Drafts action.
  • Or import from the Drafts Actions directory.


  • Develop a process to create Drafts with content from existing files. This is useful with the iOS Workflow/Shortcuts app too. And iOS Shortcuts are easy to automate with Siri voice commands.
  • Instead of using one file, use a single purpose folder. Drafts checks all files. When the Drafts action imports the draft it will erase the content.


  • DOS file formats (CR/LF). I use a dos2unix function in the PowerShell profile to fix file format issues.
  • Drafts App is iOS and macOS beta only.



Powershell Profile

This is my Powershell profile.

Getting Started

  • Installation process: clone or copy to $env:USERPROFILE\Documents\WindowsPowerShell. Or just cherry pick pieces.

# run as administrator

Set-ExecutionPolicy RemoteSigned

  • Software dependencies: Windows 10, 8 or 7
  • Read about Posh-Git if you are a Git user – GitHub, Better Git with PowerShell - You’ve been Haacked
  • The Profile is a good place for command line aliases for commands not included in Powershell. Examples are like Windows cmd commands, shortened commands to save on typing.
  • For longer aliases or commands, Powershell functions work well. Look at Remove-Service in the Profile for an example of a missing Powershell command.
  • Keep in mind – if the Profile gets too bloated Powershell start up is slow. Running ngen.ps1 can shorten the PowerShell startup as well as other dotNet apps.
  • Approved Verbs for PowerShell Commands


# run Get-InstalledModule for a list of installed modules


# ######## sample output ########
# Version              Name                                Repository           Description
# -------              ----                                ----------           -----------
#              newtonsoft.json                     PSGallery            Serialize/Deserialize Json
# 2.0.223              oh-my-posh                          PSGallery            Theming capabilities
#              PackageManagement                   PSGallery            PackageManagement
# 0.7.1                posh-docker                         PSGallery            Powershell tab completion
# 0.7.3                posh-git                            PSGallery            Provides prompt with Git status
# 1.6.6                PowerShellGet                       PSGallery            PowerShell module with commands

# run Set-PSRepository to trust PSGallery

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

# run Install-Module to install the modules

Install-Module posh-git

# run to update modules

Update-Module PowerShellGet


  • Provide feedback or suggestions.