Wednesday, April 13, 2016


PowerShell Functions:

Recently I made a PowerShellFunctions. In a previous post I talked about one of the functions used Display-Calendar. I have since updated it to utilize the appropriate verb show. For a list of appropriate PowerShell verbs look no further than: Approved Verbs

I have recently updated it to include:
  • PS-Windows-Functions
    • Sync-WindowsTime
  • PS-File-Functions
    • ConvertFrom-Base64
    • ConvertTo-Base64
    • Write-CompressedFiles
  • PS-Calendar-Functions
    • Show-Calendar
  • PS-Structured-Query-Language-Functions
    • Get-Sql
    • Show-DatabasesWithTable
  • PS-GUI-Functions
    • Set-Clipboard



This starts the Windows Time service and calls w32tm /resync
Why might you use such a command? Perhaps you dual boot and the time is off after rebooting.
See: KB2385818.



This takes a input and produces a Base64 string:
echo "Look of disapproval" | ConvertTo-Base64
Results in: TG9vayBvZiBkaXNhcHByb3ZhbA0K


"TG9vayBvZiBkaXNhcHByb3ZhbA0K" | ConvertFrom-Base64
Results in: Look of disapproval


Takes a directoryPath and writes a zip file in the destinationFile location.
Write-CompressedFile $directoryPath $destinationFile
I use this to zip up my module directory and save to my cloud:
Write-CompressedFile $env:PSModulePath.Split(";")[0] $ExportCompressedModuleFilePath $true



Previous Blog Post



This one is probably one of my favorite functions in the library. Here is an example:
Get-Sql "mycoolserver" "mydb" "select * from widgets"
You can pipe it to something like:
Get-Sql "mycoolserver" "mydb" "select * from widgets" | Out-GridView
Or make a query that calls a query:
Get-Sql "mycoolserver" "mydb" "select serverName, databaseName from linkedServerTable" | %{Get-Sql $_.serverName $_.databaseName "Select * from Widgets"}
Hopefully your database doesn't do that, but if it does it is nice to know PowerShell can handle it.


Sometimes you need to find a database with a specific table:
DatabasesWithTable "mycoolserver" "importantTableName"
Gives you a list of databases with the appropriate table.
As we learned from the previous example you can chain these via the pipe line so you could run a query for each database.

Wednesday, April 6, 2016

How to make the most of archiving a web page to PDF

When you work in a technology industry and like to code your own pet projects there is often overlap. Sometimes when I am at work and I find an interesting to which article I would like to dedicate further research, I email myself a link. 

When I don't have time to fully digest the page, I like to save the content for later. As the web is a dynamic ever changing environment often sites change owners, or newer content takes the place. I like to archive them into PDF. 

Typically the web page is filled with clutter, but some browsers offer a "Reading Mode"

Internet Explorer 11:


Firefox (proposed):

Chrome (also in the works)

Turning on reader mode increases the quality of your archive through noise reduction.

Friday, April 1, 2016

Handling distractions when sleeping (For a Friend)

If you work in the IT operations industry for any length of time you probably will be "on call" at some point.

Being on call is typically a stressful time. You are constantly dreading the inevitable beep from your phone, or pager if your company is stuck in the mid-eighties. With a modern cellphone it is mostly used for more than one task. Some phones have a messenger application which might use the same ringtone as your phone.

A call at 3:00AM versus a Facebook Messenger message from one of your buddies who works the night shift can be just as stressful if you can't tell the difference.

Two of my close friends and I were in a group Facebook message. One of us works a regular business schedule. Another works the nightshift, another works a slightly different nightshift. One of us was on call this week and informed us that "It's my midnight.". I got to thinking about how to manage applications which provide interruptions in our sleep.

Assuming you don't get "on call" messages via Facebook Messenger here is how to manage it:

Find the gearicon on the application:

It is currently located on the top bar, but with the constant refining of the application it might change in the future.

After clicking the gear you will find yourself on the settings page:

Click Notifications & Sounds:

The "kill it with fire" choice is up at the top:

Simply sliding to off whilst you sleep might give you the best bang for your buck, but some of the other choices might be more appropriate, such as changing the sounds.