Skip to content

Instantly share code, notes, and snippets.

@HainanZhao
HainanZhao / gemini-cli-job.md
Created September 8, 2025 01:58
Automate Your Daily Grind: How Gemini CLI Job Transforms Repetitive Tasks into Smart Workflows

Automate Your Daily Grind: How Gemini CLI Job Transforms Repetitive Tasks into Smart Workflows

Published: September 8, 2025


The Problem: Death by a Thousand Daily Tasks

If you're a developer, team lead, or project manager, you know the feeling. Every day starts with the same routine:

@HainanZhao
HainanZhao / CleanFolder.ps1
Created March 31, 2021 09:10
Powershell Clean Folder
Remove-Item –path "C:\XXX\" -Recurse
mkdir "C:\XXX\"
@HainanZhao
HainanZhao / SendEmail.sql
Created March 31, 2021 09:07
Send Email in SQL server
begin
exec msdb.dbo.sp_send_dbmail
@profile_name = 'EMAIL_PROFILE',
@recipients = 'test@mailinator.com',
@subject = 'email subject',
@query = 'select * from table_name',
@attach_query_result_as_file = 1,
@query_result_header = 1,
@HainanZhao
HainanZhao / Sybase Query DB Size.sql
Last active January 19, 2021 04:02
Sybase SQL Anywhere check Data, DB File, Log File size
--Table Size
SELECT sum((((table_page_count * DB_PROPERTY('PageSize')) / 1024) / 1024)) as TableSize FROM SYSTAB
--DB File Size
SELECT db_property('filesize') * DB_PROPERTY('PageSize') / 1024 / 1024 as FileSize
--Log File Size
select db_extended_property('FileSize', 'TransLog') * db_property('PageSize') / 1024 / 1024 as LogSize
--Reference
@HainanZhao
HainanZhao / TestFolder.aspx
Created January 15, 2021 10:33
Asp - Test Folder Rights
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html>
<script runat="server">
protected void ButtonWho_Click(object sender, EventArgs e)
{
Label1.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
}
protected void ButtonTest_Click(object sender, EventArgs e)
@HainanZhao
HainanZhao / ZipAndUploadSubFolders.ps1
Created September 8, 2020 07:29
Zip sub folders and upload them to Azure File storage
function ZipAndUpload
{
Param
(
[Parameter(Mandatory=$true, Position=0)]
[string] $rootFolder
)
cd $rootFolder
$folders = get-childitem -path $rootFolder | where-object {$_.Psiscontainer -eq "True"} |select-object Name
@HainanZhao
HainanZhao / ListSubfolderSize.ps1
Created September 8, 2020 07:16
List sub folder size using 1 line command
Get-ChildItem -Directory -Force|ForEach {"{0,-40}| {1:N2}MB" -f $_.name, ((Get-ChildItem $_ -Recurse|Measure-Object -Property Length -Sum -ErrorAction Stop).Sum/1MB)}
@HainanZhao
HainanZhao / CreateWinRM.bat
Created September 8, 2020 07:09
Create/Edit WinRM listners using HTTPS with SSL Certs
winrm enumerate winrm/config/listener
winrm delete winrm/config/Listener?Address=*+Transport=HTTPS
winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="*.yourdomain.com";CertificateThumbprint="XXXXXXXXXXXXXXXXXXXXXXXX"}