今天在我的Mac 上build packages 一直遇到如標體的錯誤,查了一下原因可能是 brew 裡面使用的config 跟系統的不一致的關係?
可以使用下面的方式確認
- 1.查看brew 裡面使用的python版本
/bin/bash brew info python
- 2. 查看系統
python3-config --ldflags
今天在我的Mac 上build packages 一直遇到如標體的錯誤,查了一下原因可能是 brew 裡面使用的config 跟系統的不一致的關係?
可以使用下面的方式確認
/bin/bash
brew info python
python3-config --ldflags
最近看了公視的選舉報導,發現台灣其實還是有很多有想法的獨立候選人,但都因為缺乏政黨奧援
所以幾乎都是陪榜的,真的衷心希望 台灣有一天 政治可以改革,可以給這些有想法 堅持的候選人一些空間,例如透過一些審核機制或登記機制,讓他們有機會參與地方議會的運作,也能透過這些有理念的人來監督政府,就我的認知,有理念的人比較不容易受到收買
host_ip:/var/nfs/general /nfs/general nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
host_ip:/home /nfs/home nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
horizontal scale 極為 水平擴展,指的是增加更多的機器資源來擴展系統的容量
vertical scale 稱為 垂直擴展,指的是透過增加更多的cpu / memory /disk space 來達到擴展系統容量
https://account.microsoft.com/rewards/
點選上述的微軟獎勵,配合答題,可以參考下列的答案作答
【新手教學】
Q:在 Microsoft 購物就能賺取點數。如果您可以挑選 Microsoft 提供的其中一項優惠,您會選擇哪一項?
A:XBOX LIVE GOLD 會員資格
Q:等我們準備好之後,您就會獲得 50 點 - 快來設定兌換目標!
A:NT$60 MICROSOFT 禮物卡
【Reward 挑戰】
Q:Microsoft Rewards 是在哪一年推出?
A:2016
Q:在哪裡購物可以賺取 Microsoft Reward 點數?
A:Microsoft Store
Q:在 Microsoft Store 消費每 __ 元可賺取 1 點
A:30(新台幣)
Q:一個月內累積多少點才能晉升到第 2 級?
A:500點
【瀏覽器免費贈點機智問答】
Q:與其他瀏覽器相較之下,Microsoft Edge 可在 Windows 10 上讓什麼延長 36%-53%?
A:電池續航力
Q:Microsoft Edge 是唯一有 ___ 功能的瀏覽器,可讓您撰寫網頁筆記。
A:網頁筆記
Q:在 Microsoft Edge 中,誰會在您停留的相同網頁上回答問題?
A:Cortana
Q:SmartScreen 篩選工具能在 Microsoft Edge 中為您提供什麼樣的防護?
A:網路釣魚和惡意程式碼
【Microsoft 機智問答】
Q:Microsoft 在美國哪一州創立?
A:新墨西哥州
Q:Windows 95 推出時的主題歌「Start Me Up」是哪個樂團唱的?
A:滾石合唱團
Q:哪一位演員與共同創辦人比爾蓋茲一同演出 2008 年的 Microsoft 廣告?
A:Jerry Seinfeld
Q:Microsoft 共同創辦人保羅艾倫擁有哪一支美式足球隊?
A:西雅圖海鷹
Q:Microsoft 最近收購了哪一個創於瑞典的品牌?
A:Minecraft
for i in $(seq 1 10); do /usr/bin/time /bin/zsh -i -c exit; done
6.75 real 4.22 user 1.99 sys
6.68 real 4.26 user 1.83 sys
6.02 real 4.13 user 1.79 sys
5.81 real 4.01 user 1.72 sys
5.81 real 4.01 user 1.73 sys
6.11 real 4.22 user 1.82 sys
6.55 real 4.18 user 1.75 sys
6.57 real 4.21 user 1.75 sys
6.58 real 4.15 user 1.75 sys
6.42 real 4.05 user 1.74 sys
一直以來都是使用Zoc 來配合zModem 傳輸 (lrzsz), 但最近因為要連線的ssh server需要經過多次跳板,使用Zoc設定上不是那麼直覺,剛好又有傳輸檔案的需求,就想到說可以透過lrzsz這神奇套件來達成目的,在網路找了一下,還真的是有現成的可以使用,使用的套件在下面,重點在於需要額外安裝lrzsz 另外,透過在iTerm上增加Trigger point 來達成
repo:
https://github.com/robberphex/iTerm2-zmodem
基本上要解決的問題可以分為下列幾個問題
1)要如何讓az cli 或 AWS cli 透過proxy server
一般來說,如果軟體有特別的支援,就會有相關的設定畫面,如果沒有的話,通常可以透過環境變數去更改http_proxy 跟 https_proxy
例如:
export http_proxy="http://127.0.0.1:8080"
export https_proxy="http://127.0.0.1:8080"
export https_proxy="socks5://127.0.0.1:9999"
2)如何讓az cli 跟aws cli 可以使用self-sign certificate?
最近終於收到人生中的第一筆Google Adsense 收益。也由於早年設定的西聯在台灣已經不能使用,所以只好去更改支付方式,考量我這種超小流量的用戶,只要方便即可,就直接選了電匯,反正有比沒有好,由於我個人有國泰世華的外幣銀行帳戶,就直接選擇國泰,詳細的匯款資料,如果有使用國泰的App可以到你的外幣帳戶,直接點選"帳戶資訊"你需要的資料就會在上面,等到Google 匯款給你,大概1到2天就會收到國泰的通知,要你去解匯,也旨蓄要再銀行的app上直接操作就可以入帳,實務上,銀行通知人員也會既操作解說的文件給你,滿簡單易用
參考連結:https://redis.com/blog/redisjson-public-preview-performance-benchmarking/
今天聽到別人分享,在比較RedisJson 跟mongodb 效能比較,看起來RedisJson 效能真的很不錯,特別是在讀取速度方面
Things need to know
目前比較流行的兩種單位,
2.IEC. (internation Electrotechnical Commission) 也有人稱Data(IEC):全部採用2進位計畫
1 MB= 220 bytes = 1048576 bytes = 1024 kibibytes
1024 MiB = 1 gibibyte (GiB)
strace -fp 1
strace: Could not attach to process. If your uid matches the uid of the target process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf: Operation not permitted
strace: attach: ptrace(PTRACE_SEIZE, 1): Operation not permitted
查看 /etc/sysctl.d/10-prace.conf
kernel.yama.ptrace_scope = 1
把下列的值改成0 , 或者
echo > /proc/sys/kernel/yama/ptrace_scope
pigz 可以使用最多的cpu
zstd :速度慢且佔用最多資源
用來取代gzip 可以指定使用的cpu cord, 但只能用來處理檔案,無法處理目錄,所以還是得配合tar 來處理解壓縮
tar 根pigz 配合方式,一個是單純使用 | 來做組合技
tar -c /path/to/dir | pigz -1 -p [cpu]
搭配使用split 來切割檔案
tar -c /path/to/dir | pigz -p 65 -c | split -a 5 -d -b 10G - split_file.gz
解壓縮時,就跟zip 分割檔案一樣,先把分割的檔案組合
cat split_file.gz* > split_file.gz
pigz -p 64 -dc split_file.gz | tar zx -
最近開始學習使用obsidian 寫筆記,主要是用來寫上課的筆記
目前的使用方法如下
1.針對 課程 先寫一頁 筆記
然後在下面根據每週上課的時間,再產生一些日期連結
例如 [[0917-II-1-中藥概論-趙嶸]]
2.如果裡面有考古題,或需要背誦的部分,再利用obsidian 的插件
obsidian-to-anki 轉到 anki 字卡
3.筆記內容遇到,有上網google的,可以透過套件
AutoLinkTitle 自動幫你捉取網頁的標體,這樣可以節省筆記時間
另外,另外再貼上圖片的部分,原本obsidian的圖片,另外copy&paste會自動再同個目錄下產生圖片,雖然搭配插件Local image 你可以事後再自己移動,obsidain 會幫你更動連結,但還是不是那麼方便閱讀,後來找了一個插件 Custom Attachment Location 可以指定 附件的路徑與圖片命名法則
4.筆記的連結
如果在這課程的筆記中需要連結到其他筆記
先用兩個中括號選取到要連結的筆記,然後再打井字鍵#
連結到筆記中的標題
[[連結筆記#標題]]
5.事後筆記複習
a.可以搭配 outgoing link to 筆記 或 Backlinks to 筆記來達到筆記連結的狀態,也可以使用graph view 來看筆記中間的關聯
再回答同事問題時,才發現還有這種類型的網站,不過網站只有http 不是很安全
http://www.funeralinformation.com.tw/Detail.php?LevelNo=50
人民要的是,知錯能改,換鄭運鵬,這個之前瞎挺的傢伙是要幹嘛?他給我的好感比林智堅更差,林智堅除了抄襲不能錯硬凹讓我反感外,對他也沒什麼特別的討厭,但鄭運鵬這傢伙之前講過的搞笑話實在很多,對他印象實在爛到極點,這民進黨真的跟人民越離越遠
1. 開啟windows vm
2. 輸入 mbr2gpt /validate /allowFullOS
3. mbr2gpt /convert
4. 關閉windows vm
5. 從Mac 開啟VM file , 通常需要點選 "show Package Contents", 找到裡面的config.pvs
6. 使用任何的文字編輯器去編輯檔案
7. 把下列兩行裡面的 0 改成 1
<EfiEnabled> from 0 to 1
<EfiSecureBoot> from 0 to 1
1. 存擋
2. 現在可以從Parallels 開始加入TPM module
細節可以參考這篇wiki
Migrating a Windows 10 VM to Windows 11 in Parallels Desktop原文連結:https://kb.parallels.com/122702
如果還是沒看到TPM選項,就檢查下面開機選項是否有設定vm.efi
Open Parallels
If you have a VM already, shut it down
Open the Virtual Machine’s configuration
Go to Hardware
Go to Boot Order
Go to Advanced Settings
In Boot Flags, type this command:
vm.efi.secureboot=1
民進黨這樣跟台大對幹,實在讓我感到很無言,對於之前蔡英文總統的博士學位,我本來還是相信的,現在這樣一搞,我不只對民進黨失望,連帶也會懷疑之前的博士學位事件,難不成真的是有問題,就像高端。講了這麼久。到現在連個認證都沒有。真的是把民眾黨傻子嗎?
最近林智堅論文抄襲案,被台大判定抄襲,撤銷碩士學位,但卻看到民進黨全黨相挺,還有幾個以前覺得形象很好很正直的政治人物,例如陳建仁,鄭文燦也是挺到底,就讓我覺得是我的理解真的有問題,還是我真的搞錯這些政治人物,其實他們的形象也是演出來的,其實他們根本就不是那麼正派的政治人物,我真的覺得不要再挑戰普羅大眾的智慧了,學術抄襲這種一翻兩瞪眼的爭議,何必要硬幹到底,不懂這樣做的好處是什麼,測試民進黨的死忠派?過去我追隨的民進黨是有理想的政黨,現在我實在是提到民進黨三個字,就實在支持不下去,搞不懂為什麼民進黨的支持度真的還可以這麼高,真是顛覆我的想像
My home network encounter the wifi connection dropped issue recently.
I have tried to use Wifi signal analyzer to use specific channel id to avoid conflict with neighbor's wifi AP, but it doesn't work.
Today I found there is a new firmware released, just take a note to record it.
#!/bin/bash
##################
# Utility functions
##################
syno_getopt()
{
local opt_cmd="$1"
shift 1
while getopts "$opt_cmd" opt; do
if [[ -z "$OPTARG" ]]; then
eval "opt_${opt}"="-"
else
eval "opt_${opt}"="$OPTARG"
fi
done
}
cecho()
{
local color="$1"
local message="$2"
local NC='\033[0m'
local code
case "$color" in
red) code="1;31" ;;
green) code="1;32" ;;
blue) code="1;34" ;;
gray) code="0;37" ;;
yellow) code="1;33" ;;
*) code="1;37" ;;
esac
code='\033['$code'm'
echo "${code}${message}${NC}"
}
errecho()
{
echo -e "$@" >&2
}
LOG()
{
local level="$1"
local message="$2"
local timestamp="$(date +'%Y-%m-%d %H:%M:%S')"
# Echo to screen
local color
case "$level" in
"ERROR"|"WARNING") color="red" ;;
"NOTICE") color="blue" ;;
"INFO") color="green" ;;
*) color="gray" ;;
esac
formatted=$(cecho yellow "$timestamp ")$(cecho $color "[$level] $message")
errecho $formatted
}
log_check_result()
{
local name="$1"
local result="$2"
if [[ "$result" = "true" || "$result" = "0" ]]; then
LOG INFO "Running $name ... Pass"
return 0
else
LOG WARNING "Running $name ... Error found, please check messages above."
return 1
fi
}
db_query()
{
local db="$1"
local sql="$2"
psql -At -F $'\t' -U postgres $db -c "$sql"
}
##################
# Test functions
##################
findfile()
{
local pattern="$1"
local path="$2"
local files="${path} ${path}.1 ${path}.1.xz ${path}.2.xz"
local limit=20
local result=false
local extentsion file msg
for file in $files; do
if [[ ! -f "$file" ]]; then
continue
fi
LOG DEBUG "Searching error message from file: $file ..."
extension="${file##*.}"
case "$extension" in
gz)
msg="$(zcat "$file" | grep "$pattern" | tail -n $limit)"
;;
xz)
msg="$(xzcat "$file" | grep "$pattern" | tail -n $limit)"
;;
*)
msg="$(cat "$file" | grep "$pattern" | tail -n $limit)"
;;
esac
if [[ -n "$msg" ]]; then
result=true
echo "$msg"
break
fi
done
$result && return 0 || return 1
}
has_permission()
{
local path="$1"
local permission="$2"
local user="$3"
local group="$4"
local result=true
local re f_permission f_user f_group
# Check path exists
if [[ ! -e "$path" ]]; then
LOG ERROR "File or directory does not exists: $path"
return 1
fi
# Check path permission
if [[ -n "$permission" ]]; then
re="${permission//-/.}"
f_permission="$(stat -c "%A" "$path")"
if [[ ! "$f_permission" =~ $re ]]; then
LOG ERROR "Permission $permission is not match, path: $path, permission: $f_permission"
result=false
fi
fi
# Check path user
if [[ -n "$user" ]]; then
f_user="$(stat -c "%U" "$path")"
if [[ "$f_user" != "$user" ]]; then
LOG ERROR "User $user is not match, path: $path, user: $f_user"
result=false
fi
fi
# Check path group
if [[ -n "$group" ]]; then
f_group="$(stat -c "%G" "$path")"
if [[ "$f_group" != "$group" ]]; then
LOG ERROR "Group $group is not match, path: $path, user: $f_group"
result=false
fi
fi
$result && return 0 || return 1
}
##################
# Test cases
##################
disklog_check()
{
local files="/var/log/dmesg /var/log/messages"
local result=true
local file
for file in $files; do
if findfile "exception Emask\|status: {\|error: {\|SError: {" "$file"; then
LOG ERROR "Disk error(s) are found in $file"
result=false
fi
done
for file in $files; do
if findfile "EXT4-fs .*: error\|EXT4-fs error\|EXT4-fs warning\|read error corrected" "$file"; then
LOG ERROR "Disk ext-4 error(s) are found in $file"
result=false
fi
done
log_check_result disklog_check $result
}
tune2fs_check()
{
local devs="/dev/md0 /dev/sda1 $(cut -d ' ' -f 1 /run/synostorage/volumetab)"
local result=true
local dev
for dev in $devs; do
if tune2fs -l "$dev" 2> /dev/null | grep "FS Error"; then
LOG ERROR "Filesystem error(s) are found in tune2fs -l $dev"
result=false
fi
done
log_check_result tune2fs_check $result
}
permission_check()
{
# Check directory permission
local volume="$(servicetool --get-service-volume pgsql)"
local result=true
has_permission "$volume" drwxr-xr-x || result=false
has_permission "${volume}/@database" drwxr-xr-x admin users || result=false
has_permission "${volume}/@database/pgsql" drwx------ postgres postgres || result=false
log_check_result permission_check $result
}
user_check()
{
# Check root user name and postgres entry point
local count
local result=true
# Check root name
count=$(cat /etc/passwd | grep -c ':x:0:0:')
if [[ "$count" -ne 1 ]]; then
LOG ERROR "User: root has $count rows in /etc/passwd"
result=false
fi
if ! cat /etc/passwd | grep 'root:x:0:0:' > /dev/null 2>&1; then
LOG ERROR "User: root is not found in /etc/passwd"
result=false
fi
# Check postgres entry point
count=$(cat /etc/passwd | grep -c 'postgres')
if [[ "$count" -ne 1 ]]; then
LOG ERROR "User: postgres has $count rows in /etc/passwd"
result=false
fi
if ! cat /etc/passwd | grep postgres | grep '/var/services/pgsql:/bin/sh' > /dev/nuill 2>&1; then
LOG ERROR "User: postgres entry point(/var/services/pgsql:/bin/sh) has been modified"
result=false
fi
log_check_result user_check $result
}
pglog_check()
{
local result=true
if findfile "FATAL" "/var/log/postgresql.log"; then
LOG ERROR "Fatal error(s) are found in postgresql log"
result=false
fi
log_check_result pglog_check $result
}
volume_check()
{
local volume="$(servicetool --get-service-volume pgsql)"
local result=true
local avail
if ! df -BG | grep -q "$volume"; then
LOG WARNING "Failed to parse volume size, Please check available space of volume manually"
log_check_result volume_check false
return
fi
# Get available volume space in Gigabytes
avail=$(df -BG | grep "$volume" | awk '{print $4}' | sed 's/G//g')
if ((avail <= 1)); then
LOG ERROR "Available volume space is smaller than 1GB"
result=false
fi
log_check_result volume_check $result
}
calendar_check()
{
local result=true
local answer=n
if tail -n 20 /var/log/postgresql.log | grep '/tmp/synocalendar'; then
result=false
read -p "Hit Calendar bug, missing directory: /tmp/synocalendar. Do you want to fix it? (Y/n):" answer
echo ""
if [[ -z "$answer" || "$answer" = "Y" || "$answer" = "y" ]]; then
LOG INFO "Directory created: /tmp/synocalendar. Restart pgsql manullay later ('synoservice --restart pgsql' on DSM6, '/usr/syno/bin/synosystemctl restart pgsql-adapter' on DSM7)."
mkdir /tmp/synocalendar
chown postgres:postgres /tmp/synocalendar
fi
fi
log_check_result calendar_check $result
}
##### Main and help function
rebuild_database()
{
local volume="$(servicetool --get-service-volume pgsql)"
local path="${volume}/@database/pgsql"
local dsm_version=`synogetkeyvalue /etc.defaults/VERSION major`
LOG INFO "Rebuilding database ..."
if [[ "$dsm_version" = "7" ]]; then
if ! /usr/syno/bin/synosystemctl stop-service-by-reason rebuild pgsql-adapter; then
LOG ERROR "Failed to stop pgsql"
return 1
fi
else
if ! synoservice --pause-by-reason pgsql rebuild; then
LOG ERROR "Failed to stop pgsql"
return 1
fi
fi
BACKUP_PATH=${path}-$(date -u +"%Y%m%dT%H%M%SZ")
mv "$path" "$BACKUP_PATH"
LOG INFO "Backup Success: $BACKUP_PATH"
rm /var/services/pgsql
if ! servicetool --set-pgsql; then
LOG ERROR "Failed to create psgql directory"
return 1
fi
if [[ "$dsm_version" = "7" ]]; then
if ! /usr/syno/bin/synosystemctl start-service-by-reason rebuild pgsql-adapter; then
LOG ERROR "Failed to start pgsql"
return 1
fi
else
if ! synoservice --resume-by-reason pgsql rebuild; then
LOG ERROR "Failed to start pgsql"
return 1
fi
fi
LOG INFO "Rebuild done."
}
vacuum_all()
{
local result=true
##### List all databases
dbs="$(db_query postgres 'SELECT datname FROM pg_database WHERE datistemplate = false')"
echo "Database list: $dbs"
##### Vaccum
for db in $dbs; do
# Skip large size database
if [[ "$db" = "synoips" ]]; then
LOG DEBUG "Skip to vacuum $db"
continue
fi
LOG DEBUG "Vacuuming $db"
if ! db_query $db "VACUUM FULL"; then
LOG WARNING "Failed to vacuum $db"
result=false
fi
done
log_check_result vacuum_all $result
}
recreate_database()
{
local package="$1"
local db=$(cat /var/packages/${package}/conf/resource | jq -r '.["pgsql-db"]["create-database"][0]["db-name"]')
local db_tmp="${db}_$(date +'%Y%m%d%H%M%S')"
if ! db_query postgres "ALTER DATABASE $db RENAME TO $db_tmp"; then
LOG ERROR "Failed to rename database from $db to $db_tmp"
return 1
fi
if ! synopkghelper update $package pgsql-db; then
LOG ERROR "Failed to create database for package: $package"
return 1
fi
}
show_usage()
{
cat << EOF
Description:
Analysis pgsql issues
Usage:
$0 [options]
Options:
-h Show this help
-r Rebuild pgsql database
-d <package> Recreate database
-v Vacuum all databases (exluding synoips)
EOF
}
main()
{
syno_getopt "hvrd:" "$@"
shift $((OPTIND-1))
if [[ -n "$opt_h" ]]; then
show_usage
return
fi
##### Rebuild database
if [[ -n "$opt_r" ]]; then
rebuild_database
return $?
fi
##### Vacuum every databases
if [[ -n "$opt_v" ]]; then
vacuum_all
return $?
fi
##### Recreate database for package
if [[ -n "$opt_d" ]]; then
recreate_database "$opt_d"
return $?
fi
##### Check
pglog_check
disklog_check
tune2fs_check
permission_check
user_check
volume_check
calendar_check
}
main "$@"
支援兩種標題語法 Setext (Structure Enhanced Text) 跟 atx (the true structured text format)
這是標題一
========
這是標題二
--------
在前面插入1-6 個 # ,對應標題1-6
# 標題1
## 標題2
區塊引言
區塊引言,可以有階層
> 區塊引言
>> 區塊引言2
[這是google 官網](https://www.google.com "這是提示")
![](https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png)
CIDR: Classless Inter-Domain Routing, 無層級網域間路徑選擇 , 主要是用來解決IP 地址不夠用的一種技術,主要規劃於RFC 1518 跟RFC 1519, 這種方法又稱為 Supernetting.
手上有一張聯邦微風卡,純粹是因為偶而還是會在台北車站微風館場買東西,所以偶而會使用,但繳款上一直很麻煩,直到最近偶然發現聯邦信用卡的卡費,竟然可以使用一卡通money卡繳交,再加上最近一卡通也允許免費從line bank去儲值且免手續費,這樣繳起卡費突然覺的便利許多
最近在更新系統到DSM 7.1-42661 Update 3後,發現先遇到Apache server無啊起動,然後之後發現Video Station也無法啟動,然後ssh 登入系統後,會看到錯誤訊息PostgresSQL daemon not running. 檢查一下應該是在更新過程中,權限有問題,只要把權限改成postgres 即可正常啟動,簡單記錄一下大概的步驟
1.chown -R postgres:postgres /var/services/pgsql
2.systemctl start pgsql-adapter.service
中文書名“美軍四星上將教你打造黃金團隊”
這本書是前特遣部隊指揮官,根據他改造特遣隊已應變複雜多變的基地組織的心得,書在2014年出版,分為五個部分,從一開始談到,面對基地組織複雜多變的恐怖行動,特遣隊如何從一路挨打到可以順利執行任務,作者提出要應變複雜多變的環境,就讓組織一個由小團隊構成的大團隊,讓團隊可以自主應變,而不是只能等待上級給命令,然後要達成建立這樣具有應變能力的團隊,需要的就是一個體系,可以達成資訊分享的體系,大家分享資訊,建立共識,以解決面對基地組織的問題
昨天自己清洗頂樓水塔,洗好後,把抽水馬達開關開啟,卻發現沒有進水,檢查了所有開關卻沒發現問題,後來自己測試,偶然發現拉扯浮球時,似乎偶然可以啟動抽水馬達,然後上網查了一下,就是所謂的液面控制器故障,上網看了一下教學影片,更換也不難,一般來說找水電工來,通常會收費500-1000中間,如果有熟識的,可能會收個300工本費,網路上自己買材料的話,大概100塊,我自己是到振宇五金專賣店購買,選了跟我家水塔一模一樣的雷達牌,總共花了135塊,由於這廠牌名字就是RADAR(雷達),所以開始查詢資料時,很多都寫這雷達壞掉了,我還想說看不出來是如何使用雷達控制水塔水位,後來才知道其實只是一個簡單的微動控制器,頂樓水塔用的,就是把馬達接出來的中性電線接在A組開關上,然後兩個浮球,就是控制高水位跟低水位使用的
最近因為梅雨季,造成農作物一些災情。加上這兩年因為covid-19 所以政府對很多產業都採取補助撒錢的方式把大家的胃口養大了,動不動就要求補助,然後補助A縣市農產品A , B縣市沒補助就會來抱怨,這大概是這一年來電視新聞常看的場景,就在剛剛腦中突然浮出一個想法,
既然政府對於民生用品採取的主要措施就是維持物價穩定,為什麼不用類似期貨貸款的方式給於補助?例如今年因為災損,本來要補助給農民的錢,就改用預付款的方式,用一個合理的保障價格*收購的價錢,要求領取補助的農民,要在未來的某一年,當農作物價格超出保障收購的價格時,就要讓政府可以用補助時,簽訂的價格來收購農作物,如果農民已經沒種植了,就要返回補助金之類的,這樣也不會白白補助,又可以幫助農民度過難關,還可以穩定物價
最近跟上網路上的熱潮把家裡的光世代順勢升到500/250,然後價格反而還降低,還額外送了一台全屋通,雖然是wifi 5 但額外給的還不錯,另外還外加了hami video 6個月的免費帳號,因為要重新設定,所以又順便複習一下要設定的中華電信預設的帳號密碼
1.全屋通wifi
就是連上你分配到的wifi然後看default 的gateway這比較不一樣的是跟一般常見,default gateway 在xx.xx.xx.1不同,我家裡的預設default gateway 是192.168.10.53 所以就是在瀏覽器打入 http://192.168.10.53
預設帳號:cht
預設密碼:[型號末四碼]+[mac address末四碼]
要看你的機型,像我分配到的就是WE410443-TC的型號,所以預設密碼就是43tc[mac address末四碼]
其他常見數據機型號
密碼 找數據機背面(底部)規格貼紙上MAC最後四碼
RTF8207W:207w四碼
I040GW:40gw四碼
H660WM:60wm四碼
P880:p880四碼
P883:p883四碼
固定ip/浮動ip切換
xxxxx@wifi.hinet.net =>浮動ip帳號
xxxxx@ip.hinet.net. =>固定ip帳號
1.開啟ssh 登入
2.登入到nas內
3.下載aniGamerPlus.git
git clone https://github.com/miyouzi/aniGamerPlus.git
4.安裝python 套件管理軟體
sudo python3 -m ensurepip
sudp python3 -m pip install --upgrade pip
5.安裝aniGamerPlus 必要python套件
sudo python3 -m pip install -r requirements.txt
6.準備開始下載動畫(避免連線中斷,可以搭配使用screen防止連線中斷)
7.選者要下載的影片
https://ani.gamer.com.tw
8.開始下載
python3 aniGamerPlus.py -s 14882 -r 720 -m all
餐數說明
-s sn數字,就是你要下載觀看影片網址後面的數字
-r 解析度,如果非vip 通常只能下載到720
-m 模式:如果想要一次下載多集,既選擇all
解法:使用git 裡的shell
cd path-to-Git/bin (for me : cd C:\Program Files\Git\bin)
bash
exec ssh-agent bash
ssh-add MYKEY
最近熱火 Jimmy Buter 帶領熱火打敗76人進入東區冠軍賽後再回休息室時,口中唸說,當初選了Tobias Harris 不選我,其實應該所有的管理者都看得出來Jimy Buter 比Tobias Harris 能力還好,但管理者在做決定時,個人能力絕對不是唯一考量,根據Yaron Weitzman 提出的當初交易細節如下
當然現在以結果論來講,76人高層是完全做了一連串錯誤的決定,當初擔心跟Jimmy Buter 不合的Brown跟Simons都走了,球隊也失去的兢爭力,回歸到選擇提拔對的人對一個公司競爭力的影響力有多大,這是不是就看得出來呢?
最近因為amazon有滿60塊美金免運費的活動,所以上網站買了幾次,最近才發現他這滿60塊是指折扣前,而不像國內的購物網,都是要折扣後滿才能使用免運,然後網路找了一下,向下列這種有amazon的折扣網,滿適合拿來搭配你要買的東西,湊60塊免運門檻
https://gonglue.us/deals
台灣的電子圍籬智慧監控系統,主要是透過疾管署,每天會發送遭列管者的手機號碼給台灣的五大電信業者,而業者則會將手機定位固定上傳到電子平台。者要列管者離開系統劃分的基地範圍(包括關機),系統就會自動發送“告警簡訊”給當事者跟第一線的監控單位
Recently My laptop MBP 2018 encounter the network issue frequently. The wifi will drop connection randomly. The symptom is lost connection with default gateway. Here is the note that I used to record what I did for troubleshooting.
1.check the wifi status
The most WiFi device id is en0
networksetup -getairportpower en0
The Fix:
Disable WiFi
Open Finder
Press
Cmd+Shft+G
to go to the folder
/Library/Preferences/SystemConfiguration/
Delete (or move) the following files:
com.apple.airport.preferences.plist
NetworkInterfaces.plist
preferences.plist
Restart your computer
Re-enable WiFi
甲骨文這個影片介紹大概是我看過能在最短時間介紹blockchaing的影片了,不到一分鐘
區塊(Block)跟鍊(Chain)是兩個不同的東西
https://www.oracle.com/tw/blockchain/what-is-blockchain/
The cause was possible backward incompatible issue. After the view researching, it could be resolved by changed the request header 'x-ms-version' from the one your library used to old one "2019-07-07"
kubectl create job --from=cronjob/[cronjob name] [new job] -n [namespace]
sometimes you may encounter the error such as
"error: unknown object type *v1beta1.CronJob"
it was caused by the kubectl is different version. you can download the old one to resolve issue
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5", GitCommit:"c285e781331a3785a7f436042c65c5641ce8a9e9", GitTreeState:"clean", BuildDate:"2022-03-16T15:58:47Z", GoVersion:"go1.17.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.15", GitCommit:"0f9140665765825f8a4187cefd055e4b350b4a36", GitTreeState:"clean", BuildDate:"2021-09-17T23:04:02Z", GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.23) and server (1.19) exceeds the supported minor version skew of +/-1
for me, my kubectl client is v1.23.5, but server is older version wiht v1.19.15, therefor I downgraded to the older one to resolve the issue
curl -LO https://dl.k8s.io/release/v1.19.15/bin/linux/amd64/kubectl
Use vim to edit the file and convert it to the unix format
:set ++ff=dos ==> ms-dos format
:set ff=unix ==>.unix format
use "::" to separate it
for example:
it will group decks "sub1" and "sub2" in folder "group1"
1.use iphone to take a picture
使用hping2. 來看packets loss 或者 是否有使用load blance ,可以看到要是回應的id 有兩組號碼區間在回覆,吉表示有兩組server 在後段服務
`sudo hping2 -c 10 -i 1 -p 443 -S google.com
HPING google.com (en0 142.251.43.14): S set, 40 headers + 0 data bytes
len=52 ip=142.251.43.14 ttl=55 id=15396 sport=443 flags=SA seq=0 win=65535 rtt=9.1 ms
len=52 ip=142.251.43.14 ttl=119 id=39684 sport=443 flags=SA seq=1 win=65535 rtt=7.5 ms
len=52 ip=142.251.43.14 ttl=119 id=47763 sport=443 flags=SA seq=2 win=65535 rtt=9.8 ms
len=52 ip=142.251.43.14 ttl=55 id=3033 sport=443 flags=SA seq=3 win=65535 rtt=9.5 ms
len=52 ip=142.251.43.14 ttl=118 id=61592 sport=443 flags=SA seq=4 win=65535 rtt=7.5 ms
len=52 ip=142.251.43.14 ttl=119 id=62460 sport=443 flags=SA seq=5 win=65535 rtt=10.2 ms
len=52 ip=142.251.43.14 ttl=119 id=4097 sport=443 flags=SA seq=6 win=65535 rtt=7.5 ms
len=52 ip=142.251.43.14 ttl=119 id=15781 sport=443 flags=SA seq=7 win=65535 rtt=10.6 ms
len=52 ip=142.251.43.14 ttl=119 id=4205 sport=443 flags=SA seq=8 win=65535 rtt=7.5 ms
len=52 ip=142.251.43.14 ttl=55 id=65346 sport=443 flags=SA seq=9 win=65535 rtt=8.4 ms`
一班正常MTU 用1500 但vpn 可能可以設定1444
原則就是盡量不要讓封包被拆成兩個
可以指定封包大小來測試MTU設定是否適當
`
`
Install xterm on remote linux server
sudo apt-get install w3m w3m-img
sudo apt-get install xterm
on local target machine
ssh -X user@[ip] -> linux
ssh -U user@[ip]. --> mac
1.clone repo from github
git clone https://github.com/HuskyLens/HUSKYLENSUploader.git
Install pip3
on MAC
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install python3
install pip3
on Linux
sudo apt install python3-pip
sudo pip3 install pyserial
HUSKYLENSUploader
foldercd HUSKYLENSUploader
sudo python3 kflash.py -b 2000000 HUSKYLENSWithModelV0.4.7Stable.kfpkg
影片:透過chrome plug-in : Video Downloader for Facebook<sup>TM</sup> 相簿: 透過chrome plug-in : Tampermonkey 搭配script : Facebo...