$ wc -c os_disk.vhdx
5272240128 os_disk.vhdx
The vhd file size needs to be a number divisible by 1024.
5272240128 / 1025 / 1024 / 1024 = 4.91015625
4.91015625 is not divisible by 1024. We are going to round the number to 5.
5 * 1024 * 1024 * 1024 = 5368709120
And add 512 bytes for the VHD footer.
5368709120 + 512 = 5368709632
Reference: Reddit
nota kaki | foot note
just make it work.. security aside
20200223
20191221
Azure Terraform Role Definition
For security purpose, we tend to create service principal that can performs Terraform operations only within a specific resource group without able modify resource outside the resource group within the same subscription.
Reality is we still need to allow the service principal to run few actions within the scope of the subscription.
Therefore here is the role definition with actions required that Terraform operations need to execute successfully.
{
"Name": "Terraform",
"Description": "Role definition has actions required that Terraform operations need",
"Actions": [
"*/read",
"Microsoft.Sql/register/action",
"Microsoft.CognitiveServices/register/action",
"microsoft.insights/register/action"
],
"AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
}
With this as json content, we may run the following command to create the role and assign it to the subscription.
az role definition create --role-definition terraform-role-definition.json
Reality is we still need to allow the service principal to run few actions within the scope of the subscription.
Therefore here is the role definition with actions required that Terraform operations need to execute successfully.
{
"Name": "Terraform",
"Description": "Role definition has actions required that Terraform operations need",
"Actions": [
"*/read",
"Microsoft.Sql/register/action",
"Microsoft.CognitiveServices/register/action",
"microsoft.insights/register/action"
],
"AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
}
With this as json content, we may run the following command to create the role and assign it to the subscription.
az role definition create --role-definition terraform-role-definition.json
Reference
Schedule Dark Mode
To schedule dark mode at 7 PM:
schtasks /CREATE /SC DAILY /TN "Enable Dark Mode" /TR "C:\Windows\System32\reg.exe add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f" /ST 19:00
To schedule light mode at 7 AM:
schtasks /CREATE /SC DAILY /TN "Disable Dark Mode" /TR "C:\Windows\System32\reg.exe add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 1 /f" /ST 7:00
Execute these commands in Command Prompt or PowerShell. There are additional steps you need to do to ensure it is enabled even if you turn on your laptop after the scheduled time.
- Launch Task Scheduler.
- Open the Properties dialog of the tasks we created.
- Go to Settings and check the box "Run task as soon as possible after a scheduled start is missed."
Reference
20191213
Generate self-signed certificate
openssl genrsa -out www.example.com.key 2048
openssl req -new -x509 -key www.example.com.key -out www.example.com.cert -days 3650 -subj /CN=www.example.com
openssl req -new -x509 -key www.example.com.key -out www.example.com.cert -days 3650 -subj /CN=www.example.com
20170627
apt-add-repository: invalid HTTP proxy, unsupported URI
Had this error on a Ubuntu which runs behind a proxy. Your $http_proxy environment variable must contain "http://"
root@ubuntu:~# echo $http_proxy
http://proxy.company.net:8080
root@ubuntu:~# echo $http_proxy
http://proxy.company.net:8080
20141220
handy script to quickly backup a file
#!/bin/bash
# backup a file (somefile to somefile.yyyy-mm-dd.tar.gz)
FILE="$@"
#debug
echo $FILE
if [ -f $(which tar) ]
then
tar zcPf "${FILE}".$(date +%s).tar.gz "${FILE}"
else
echo "sorry, do you have 'tar' installed?"
fi
# backup a file (somefile to somefile.yyyy-mm-dd.tar.gz)
FILE="$@"
#debug
echo $FILE
if [ -f $(which tar) ]
then
tar zcPf "${FILE}".$(date +%s).tar.gz "${FILE}"
else
echo "sorry, do you have 'tar' installed?"
fi
20141020
find files that contain string
# grep -Hirn "mystring" /path/to/dir
# find . -print0 | xargs -0 -n1 -P8 grep -Hirn
thanks to sifu enshu
# find . -print0 | xargs -0 -n1 -P8 grep -Hirn
thanks to sifu enshu
20141019
error: Diskfilter writes are not supported
# cp -p /etc/grub.d/10_linux /etc/grub.d/10_linux.`date +%Y%m%d.%H%M`
# sed -i 's/quick_boot="1"/quick_boot="0"/' /etc/grub.d/10_linux
# update-grub
# reboot
# sed -i 's/quick_boot="1"/quick_boot="0"/' /etc/grub.d/10_linux
# update-grub
# reboot
share internet connection in linux via terminal
On access point side
- disable firewall
- enable packet forwarding
# echo 1 > /proc/sys/net/ipv4/ip_forward - set iptables rule for port forwarding
# iptables -t nat -A POSTROUTING -o-j MASQUERADE
- configure network interface so you can reach the access point
- set the access point as default gateway
# route add default gw - set dns resolution
# echo nameserver 8.8.8.8 >> /etc/resolv.conf
Subscribe to:
Posts (Atom)