Skip to content

Instantly share code, notes, and snippets.

@chadbaldwin
chadbaldwin / Start SQL Server Container.ps1
Last active March 6, 2023 23:47
Using Docker, create a SQL Server container, or start one of it already exists.
View Start SQL Server Container.ps1
# Start SQL Server docker instance
function Start-SQLServer {
param (
[Parameter()][string]$Tag = 'latest'
)
$containerName = 'sqlserver'
$sa_password = 'yourStrong(!)Password'
$container = docker inspect $containerName | ConvertFrom-Json
@chadbaldwin
chadbaldwin / datetime conversion testing.sql
Last active February 27, 2023 21:16
Reference query to see all possible ways to format a datetime into a string using both `FORMAT()` and `CONVERT()`
View datetime conversion testing.sql
DECLARE @dto datetimeoffset, @dt2 datetime2, @dt datetime, @sdt smalldatetime, @d date, @t time;
SELECT @dto = SYSDATETIMEOFFSET(), @dt2 = @dto, @dt = @dto, @sdt = @dto, @d = @dto, @t = @dto;
WITH cte_tally AS (SELECT ID = ROW_NUMBER() OVER (ORDER BY (SELECT 1)) FROM sys.messages)
SELECT x.FormatCode, x.[datetimeoffset], x.[datetime2], x.[datetime], x.[smalldatetime], x.[date], x.[time]
FROM (
SELECT FormatCode = N'██ Source'
, [datetimeoffset] = CONVERT(nvarchar(60), @dto, 121)
, [datetime2] = CONVERT(nvarchar(60), @dt2, 121)
, [datetime] = CONVERT(nvarchar(60), @dt, 121)
, [smalldatetime] = CONVERT(nvarchar(60), @sdt, 120)
@chadbaldwin
chadbaldwin / alert - garage door open - no motion.yaml
Last active October 11, 2022 16:27
Home Assistant - Create an Alert that announces on Google Home when the garage door has been left open and there has beeen no motion for at least 5 minutes
View alert - garage door open - no motion.yaml
tts:
- platform: google_translate
template:
- binary_sensor:
- name: garage_open_no_motion
state: >
{{
(is_state('binary_sensor.contact_7_contact', 'on'))
and
@chadbaldwin
chadbaldwin / Garage Left Open - Loop.yaml
Last active October 11, 2022 07:19
Home Assistant automation to send a notification every X minutes the garage door was left open without motion
View Garage Left Open - Loop.yaml
alias: Garage Door Open Notification
description: Send out repeating notifications or announcements that the garage door is left open
mode: restart
trigger:
- platform: state
entity_id:
- group.garage_motion
- binary_sensor.contact_7_contact
condition:
- condition: state
@chadbaldwin
chadbaldwin / zz Filename Start with Space - added via git
Last active July 29, 2022 16:09
Testing how gist sorts files and readme's
View zz Filename Start with Space - added via git
​If you try to add a space to the name in GitHub, it gets trimmed.
If you try to add a space to the name in Windows, it gets trimmed.
The best option seems to be to add the file via command line with the space in the name, then commit and push.
@chadbaldwin
chadbaldwin / test_ripgrep_glob.ps1
Last active July 29, 2022 14:51
Testing globs in ripgrep
View test_ripgrep_glob.ps1
$string = 'Tables'
$result = '','/','*/','**/' | ? {$true} -PV left |
% { '','/','/*','/**' } -PV right |
% {
$glob = "${left}${string}${right}"
$stat = Measure-Command { $list = rg --files -g $glob }
[pscustomobject]@{
Glob = $glob
Count = $list.Count
Stat = $stat.Milliseconds
@chadbaldwin
chadbaldwin / find_dependencies.sql
Last active July 19, 2022 21:55
Find dependencies of external database references recursively in SQL Server
View find_dependencies.sql
WITH find_dependencies AS (
-- List of objects referencing an external database
-- Root node
SELECT DISTINCT Referencing_ObjectName = o.[name]
, Referencing_ObjectSchema = OBJECT_SCHEMA_NAME(o.[object_id])
, Referencing_ObjectType = x.ObjectType
FROM sys.sql_expression_dependencies d
JOIN sys.objects o ON o.[object_id] = d.referencing_id
CROSS APPLY (SELECT ObjectType = CASE o.[type] WHEN 'P' THEN 'Stored Procedures' WHEN 'V' THEN 'Views' WHEN 'FN' THEN 'Functions' WHEN 'TF' THEN 'Functions' ELSE NULL END) x
WHERE d.is_ambiguous = 0
@chadbaldwin
chadbaldwin / sample_template_sensor.yaml
Created April 28, 2022 20:13
HomeAssistant Round template sensor example
View sample_template_sensor.yaml
# configuration.yaml
template:
- sensor:
- name: new_entity_id
device_class: power
unit_of_measurement: W # watts
state: "{{ states('sensor.target_entity_id') | default(0, true) | round(2, default=0) }}"
# customize.yaml
sensor.new_entity_id:
@chadbaldwin
chadbaldwin / gauge.svg
Last active April 4, 2022 20:38
Simple gauge that can be generated and updated
View gauge.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.