超務實長清單整理:Do not make it easy!(2021 年 9 月 1 日更新)
文:薯伯伯
這幾個月香港人失去了甚麼,《蘋果》、教協、民陣、六四、七一、六一二,從媒體到組織,從集會到基金。然後,有人甚至認為他們有權抹去群眾的記憶——當七二一成禁忌,八三一也成紅線,面對洪流,我們更應堅持自己的記憶。
努力防止淡忘,承傳香港人的真相。即使事實會被歪曲,歷史會被改寫,無力感遍佈每一角落,但謹記:Do not make it easy.
談到資訊保安,也是相同道理。世上沒有無懈可擊的保安系統,但如果人人都能注意自己的資安,提高賊人入侵系統的難度,正是這種防守,不致讓賊人如入無人之境,為所欲為。
堅持的其中一個功能,正是 do not make it easy!
▶️ 請訂閱 Patreon 頻道,支持不受干預的獨立創作及評論 | www.patreon.com/pazu
* * *
為了方便讀者閱讀,我特別整理了一個清單,當中一些文章加了⭐️號, 方便看重點。
⭐️:重點文章
⭐️⭐️:重重點文章
⭐️⭐️⭐️:重重重點文章
如果你實在沒有時間,只能閱讀四篇文章,我建議你必須讀的是:
❤️ 資安必備三招
https://www.patreon.com/posts/52521375
❤️ 零基資安訓練營(五):SIM 卡鎖
https://www.patreon.com/posts/37843206
❤️ 零基資安訓練營(六):習慣使用密碼管理器
https://www.patreon.com/posts/38002570
❤️ 零基資安訓練營(七):使用二步認證
https://www.patreon.com/posts/38049149
另外,如果要搜尋 Patreon 的文章,請參考這個方法:
Patreon 的搜尋功能
🔎 https://www.patreon.com/posts/53398201
* * *
(以下文章清單,儘量每月更新一次)
(⭐️=沒時間就先看有星號的文章,越多星號表示越重要)
~~~~~~~~~~~~~~~~~~~~~~~~~
0️⃣【八月份議題:在民間推動 Coinbase 作日常支付工具】
~~~~~~~~~~~~~~~~~~~~~~~~~
在八月份,希望推動更多人使用 Coinbase 作為朋友之間的日常支付工具,亦希望坊間多一些小規模的商店參與。
介紹番:
🎉 生活上用 Coinbase 作小額轉賬,完全離岸生活上用 Coinbase 作小額轉賬,完全離岸
https://www.patreon.com/posts/54160156
🎉 三步開戶口,平民離岸恩物
https://www.patreon.com/posts/53715140
🎉 Coinbase 你問我答
https://www.patreon.com/posts/54309234
~~~~~~~~~~~
1️⃣【零基資安系列文章】
~~~~~~~~~~~
⭐️零基資安訓練營(零):用哪間 VPN 公司較好?
https://www.patreon.com/posts/38487347
零基資安訓練營(一):匯出及刪除 WhatsApp 對話記錄
https://www.patreon.com/posts/37538690
零基資安訓練營(二):保護手機屏幕,免受偷窺
https://www.patreon.com/posts/37628920
零基資安訓練營(三):轉用 Signal 通訊軟件
https://www.patreon.com/posts/37689737
零基資安訓練營(四):一分鐘改變寫作風格,抹去語言指紋
https://www.patreon.com/posts/37740243
⭐️⭐️⭐️零基資安訓練營(五):SIM 卡鎖
https://www.patreon.com/posts/37843206
⭐️⭐️⭐️⭐️零基資安訓練營(六):習慣使用密碼管理器
https://www.patreon.com/posts/38002570
⭐️⭐️⭐️⭐️⭐️零基資安訓練營(七):使用二步認證
https://www.patreon.com/posts/38049149
零基資安訓練營(八):如果你的 Gmail 或 YouTube 戶口被入侵了
https://www.patreon.com/posts/38049175
零基資安訓練營(九):如果要完全隱藏網上身份
https://www.patreon.com/posts/38185283
⭐️零基資安訓練營(十):簡易製作加密虛擬碟中碟
https://www.patreon.com/posts/38341752
零基資安訓練營(十一):最強勁的 Gmail 保安級別(+ 優惠預告)
https://www.patreon.com/posts/38471788
零基資安訓練營(十二):在 Signal 上用太空卡與否,這是個問題
https://www.patreon.com/posts/39576289
零基資安訓練營(十三):如何知道帳號的密碼有沒有外洩?
https://www.patreon.com/posts/39348797
零基資安訓練營(十四):手拉著手,一起同手機上的照片說再見(刪除手機上臃腫照片庫的實戰教學)
https://www.patreon.com/posts/39366586
⭐️零基資安訓練營(十五):離岸戶口點只銀行?薯伯伯教學開設海外App Store賬號
https://www.patreon.com/posts/39576067
零基資安訓練營(十六):終極太空號碼
https://www.patreon.com/posts/39791205
⭐️零基資安訓練營(十七):利用硬件安全鑰匙,鑄造最強勁的 Gmail 保安級別
https://www.patreon.com/posts/41225633
零基資安訓練營(十八):無字天書
https://www.patreon.com/posts/42477490
零基資安訓練營(十九):Facebook 騙局 —— Is it you in the video?
https://www.patreon.com/posts/45091766
零基資安訓練營(二十):再次給大家一個理由,應避免安裝 Facebook 程式
https://www.patreon.com/posts/45139168
⭐️⭐️零基資安訓練營(二十一):iPhone 手機的密碼應該要長,但要多長?
https://www.patreon.com/posts/46188614
⭐️零基資安訓練營(二十二):密碼怎樣才叫強?
https://www.patreon.com/posts/46889963
零基資安訓練營(二十三):談談電腦上的瀏覽器
https://www.patreon.com/posts/46976089
零基資安訓練營(二十四):給 MeWe 用戶的一點保安建議
https://www.patreon.com/posts/46272905
零基資安訓練營(二十五):工作和私人手機應該分離
https://www.patreon.com/posts/47611237
零基資安訓練營(二十六)手機上鎖,應否用生物認證?
https://www.patreon.com/posts/50196272
零基資安訓練營(二十七):人與電腦之互動,應成系統的核心組件
https://www.patreon.com/posts/50576539
⭐️零基資安訓練營(二十八):使用 Apple iCloud 的幾點心得分享
https://www.patreon.com/posts/51625235
零基資安訓練營(二十九):低端保安漏洞,預設密碼一猜即中
https://www.patreon.com/posts/52600410
零基資安訓練營(三十):DNS 的設置
https://www.patreon.com/posts/53752938
~~~~~~~~~~~~~~
2️⃣【資安雜談,兼談社交媒體】
~~~~~~~~~~~~~~
⭐️如何較安全地使用雲端檔案儲存空間
https://www.patreon.com/posts/54741568
從美國一宗刑事恐嚇案件,淺談資安基本常識
https://www.patreon.com/posts/54414163
調整心態,把「密碼管理器」當作筆記簿即可
https://www.patreon.com/posts/53936034
就快開學,1Password 又有學生半價優惠
https://www.patreon.com/posts/55208206
有關密碼管理器的實際應用,快問快答
https://www.patreon.com/posts/55353005
離岸戶口不止銀行,還有 App Store(連購買美國充值卡的方法)
https://www.patreon.com/posts/54247848
如果無咗 Google,我們怎麼了?
https://www.patreon.com/posts/53413352
資訊安全|四個約定 Four Agreements
https://www.patreon.com/posts/52828547
抽獎要注意個人資料,做到私隱分隔
https://www.patreon.com/posts/52441984
備份之重要(加雲端硬盤推介)
https://www.patreon.com/posts/52906724
咪亂上 Wi-Fi,又多一個原因
https://www.patreon.com/posts/53349934
⭐️Patreon 訂閱者及創作者的入出金方案建議
https://www.patreon.com/posts/49146125
⭐️⭐️出發去土星旅行(網上帳號等之準備)
https://www.patreon.com/posts/48945762
⭐️⭐️⭐️萬一手機被賊人偷去,你有應變計劃嗎?
https://www.patreon.com/posts/51874800
1Password 又有優惠,無朋友都可以免費用六個月
https://www.patreon.com/posts/47186113
Clubhouse 之天堂與地獄,兼談使用建議
https://www.patreon.com/posts/47239363
自己資料自己救!極嚴重保安漏洞,Facebook 資料外洩事件
https://www.patreon.com/posts/49636879
Facebook 用戶快速測試資料有否外洩
https://www.patreon.com/posts/49743113
一台獨大之禍害,談 Facebook 及 WhatsApp 之霸道
https://www.patreon.com/posts/46327759
像魔術師一樣使用社交媒體
https://www.patreon.com/posts/50330614
Godaddy 營商手法甚為下流,各位小心提防
https://www.patreon.com/posts/51683930
⭐️不完美的支付系統,才是最完美——談談現金與電支的平衡
https://www.patreon.com/posts/54372351
我的上網設備:流動路由器 + VPN
https://www.patreon.com/posts/52823798
領取消費券,我選擇這個方法
https://www.patreon.com/posts/53255295
~~~~~~~~~~~~~~~~~
3️⃣【SIM 卡實名制、加密通訊、Signal、虛擬號碼等討論】
~~~~~~~~~~~~~~~~~
勞民傷財,談 SIM 卡實名制之虛實
https://www.patreon.com/posts/51964522
SIM 卡實名制後,以後如何報料,傳媒又應如何保護消息來源?
https://www.patreon.com/posts/52248245
⭐️Signal 建立新群組的十步建議,同 WhatsApp 講再見
https://www.patreon.com/posts/46069672
⭐️再次呼籲轉用 Signal — 它與 WhatsApp 的分別
https://www.patreon.com/posts/45879129
我終於搵到 Signal 廣播訊息(broadcast)嘅秘技喇
https://www.patreon.com/posts/46197689
⭐️手機合約是無謂的束縛,斷約最爽,月費廿蚊雞,每月慳百幾二百!
https://www.patreon.com/posts/51923097
⭐️Signal 教學|薯伯伯 WhatsApp 轉會貼士
開 Group 流程對應新群組功能 超實用「給自己的筆記」(Note to Self)記事功能
https://www.patreon.com/posts/46153445
把 iPhone 上的 WhatsApp 對話匯出,再從手機刪除相關記錄
https://www.patreon.com/posts/45996467
⭐️最好的保密者,不止要守口如瓶
https://www.patreon.com/posts/39028166
⭐️再次呼籲,不宜以 Signal 當公海
https://www.patreon.com/posts/46392917
淺談各種聊天應用軟件
https://www.patreon.com/posts/46148281
Signal 與 Telegram 應共存,但使用場景不同
https://www.patreon.com/posts/46290803
轉用 Signal 通訊軟件
https://www.patreon.com/posts/37689737
在 Signal 上用太空卡與否,這是個問題
https://www.patreon.com/posts/39576289
⭐️⭐️手機號碼跳船策略〈上〉:https://www.patreon.com/posts/46473280
⭐️⭐️手機號碼跳船策略〈中〉:https://www.patreon.com/posts/46491016
⭐️⭐️手機號碼跳船策略〈下〉:https://www.patreon.com/posts/46695482
⭐️⭐️⭐️手機號碼跳船策略(番外篇):https://www.patreon.com/posts/46736756(Patreon 獨家文章)
Signal 沒有被破解,標題黨又吹大了
https://www.patreon.com/posts/45954010
長輩用 Signal
https://www.patreon.com/posts/40030519
Signal 異常狀況,快問快答
https://www.patreon.com/posts/49728622
Telegram 的自動刪除功能
https://www.patreon.com/posts/53460616
~~~~~~~~~~~
4️⃣【離岸戶口系列文章】
~~~~~~~~~~~
零基資安訓練營(十五):離岸戶口點只銀行?薯伯伯教學開設海外App Store賬號
https://www.patreon.com/posts/39576067
⭐️離岸戶口,不止銀行…
https://www.patreon.com/posts/45554868
即使沒有護照在手,都可以開離岸戶口
https://www.patreon.com/posts/49481914
如何申請一個外國住址證明
https://www.patreon.com/posts/49519360
~~~~~~~~~~~
5️⃣【密碼貨幣系列文章】
~~~~~~~~~~~
⭐️⭐️⭐️【密碼貨幣教學】由零開始,用港幣現鈔,買 COSMOS 生態 ATOM 幣,放入冷錢包並委託給 #decentralizedhk 去收取利息回報
https://www.patreon.com/posts/54919662
【密碼貨幣教學】六個買幣方式的比較
https://www.patreon.com/posts/54958250
離地資產,淺談 Bitcoin(只供 Patreon 訂戶閱讀)
https://www.patreon.com/posts/45850280
⭐️⭐️⭐️買 Bitcoin 的入門策略,示範如何每天買 100 港元等值的加密貨幣(只供 Patreon 訂戶閱讀)
https://www.patreon.com/posts/45884873
自己資產自己管——設置冷錢包
https://www.patreon.com/posts/47353587
買幣方式不要嫌麻煩,免除一半交易手續費的方法
https://www.patreon.com/posts/47745565
簡易買幣方式更新,銀行匯款買幣
https://www.patreon.com/posts/48812133
快問快答:匯款手續費疑惑
https://www.patreon.com/posts/50880518
~~~~~~~~~~~~~~~~
6️⃣【安心出行、安心篤數系列文章】
~~~~~~~~~~~~~~~~
請政權不要侮辱「無大台」
https://www.patreon.com/posts/47847366
一 App 一路,刷下載量的黑色產業鏈
https://www.patreon.com/posts/47851618
騙徒手法層出不窮,切勿洗白「刷榜」行為
https://www.patreon.com/posts/47889821
「安心篤數」再 fact check
https://www.patreon.com/posts/47898509
「安心篤數」的 Factcheck Lab 調查及報告,挖出更多蛛絲馬跡
https://www.patreon.com/posts/48110210
沒有委託洗刷衣服
https://www.patreon.com/posts/48024661
~~~~~~~~~
7️⃣【生活雜談文章】
~~~~~~~~~
是有種人
https://www.patreon.com/posts/54430341
阿富汗舊相集(2002年攝)
https://www.patreon.com/posts/54994682
我不封筆
https://www.patreon.com/posts/53856461
即使結果未如理想,盡力過已無悔
https://www.patreon.com/posts/54657012
誰在美化暴力?
https://www.patreon.com/posts/53316991
我們心中的蘋果,永不枯萎
https://www.patreon.com/posts/52765937
不要浪費危機 Never let a good crisis go to waste!
https://www.patreon.com/posts/47440352
驚蟄前夕的荒謬,拒絕無力感,化悲憤為實際行動
https://www.patreon.com/posts/48326710
黃店使用「電子贖罪券」,是天經地義
https://www.patreon.com/posts/47977659
五千元電子贖罪券
https://www.patreon.com/posts/47943714
不做潑冷水的人
https://www.patreon.com/posts/51553930
藏文《般若波羅密多心經》,學習筆記
https://www.patreon.com/posts/51019665
斷食七天(附實用資料)
https://www.patreon.com/posts/52708068
談談捐贈之因果緣起
https://www.patreon.com/posts/53066208
強
https://www.patreon.com/posts/55416083
談談抑鬱和自殺
https://www.patreon.com/posts/55455971
共同難過
https://www.patreon.com/posts/55508161
* * *
🔑 【超務實長清單整理:Do not make it easy!(2021年9月更新)】 https://www.patreon.com/posts/55578887
▶️ 請訂閱 Patreon 頻道,支持不受干預的獨立創作及評論 | www.patreon.com/pazu
同時也有1部Youtube影片,追蹤數超過0的網紅alex lam,也在其Youtube影片中提到,https://mewe.com/p/mrlamsan3 而家最後決定移民MEWE ,以前既讀者或新朋友 希望你地支持,比個LIKE,FOLLOW一下 旅遊,生活,飲食 社群連結︰ https://mewe.com/join/realhk 剷FB APP之前必做! 關閉 Facebook 站外...
signal教學已讀 在 Facebook 的最讚貼文
《#讓寫作成為自我精進的武器》部落格文末抽獎贈書 2 本
你知道現在職場上最關鍵的隱藏技能是什麼嗎?你知道可以不說一句話就讓合作機會找上門嗎?你知道如何在充滿雜訊和紛擾的年代脫穎而出嗎?答案就是,學會寫作。寫作一直都是關鍵的技能,只是它的重要性在時代的演變之下只會變得愈來愈重要。你或許會問,為什麼要寫作?如何寫作?寫些什麼?我想透過這篇文章回答你。
部落格文章 https://readingoutpost.com/writing-as-weapon/
Podcast 用聽的 https://readingoutpost.soci.vip/
.
【這本書在說什麼?】
《讓寫作成為自我精進的武器》的作者是中國知名的寫作教育培訓教練師北宸,曾任鳳凰網科技頻道前主編和中國 LinkedIn 公關部門,現為《紐約時報》中文版專欄作家。他將在線下寫作課面對無數學員的教學經驗,搭配眾多的寫作案例,彙整成這本談寫作的書。
這本書裡面談的重點偏重於寫作的「心態」和「心法」,強調從建立內心的基本功先做起,先理解寫作會帶來的好處,然後認識一個好的寫作者需要具備什麼樣的心理素質,最後才是如何寫作的「技巧」和作者本身的經驗分享。
所以,如果你期待的是一本充滿了「寫作技巧」的操作手冊,這本書或許不適合你。如果你從來不曾覺得寫作很重要、想要了解寫作真正能帶來的好處、想知道如何建立正確的寫作心態,那麼這本書是初次接觸「寫作」的你很好的起點。在這篇文章裡,我試著用容易理解的方式總結這本書的一些重點跟你分享。
.
【為什麼要寫作?】
#無形之間行銷自己
作者認為,把自己「行銷」出去,是每個人一輩子都在做的事情。在求職履歷上做自我介紹時,是在行銷自己的職場能力。在向上級提案做預算企劃時,是在行銷自己的策劃能力。在寫給隔壁部門的會議結論和待辦任務時,是在行銷自己的跨部門合作能力。我們無時無刻都在行銷自己。
矽谷創業公司 37 signal 的創辦人傑生.佛里德(Jason Fried)曾經分享他如何挑選一個職位的最適合人選,他說:「要招募就招那個寫作最厲害的」。因為一個優秀的寫作者會有很清晰的思路,而且他們懂得表達和溝通,他們讓事情更容易被理解,也會站在別人的立場想事情。
無論對管理階層、行銷人、設計師、程式開發人員,寫作技巧都非常重要,一個優秀寫作者的特質,也是雇主想在任何求職者身上看到的特質。透過寫作,我們可以培養和精進自己思考的方式,也可以把內心的想法有組織、有脈絡地付諸文字之上,讓別人從文章裡進一步認識你這個人。
.
#內向者的社交利器
我曾經聽過一個說法,身為一個內向者所能擁有最好的武器,就是寫作。作者在這本書裡面用這句話傳達總結了這個觀念:「好文章自己會走路。對於內向的人來說,這是最好不過的社交方式。」對於不擅長在社交場合中侃侃而談的內向者而言,寫作是一個非常值得建立的技能。
作者進一步說明:「內向的人很容易被人認為是以自我為中心,孤僻而不愛交際的。事實上,性格內向的人往往更能聚焦於內在世界,有更強的感受和反思能力,這反而能幫助內向的人更好地理解外部世界。」內向者在旁人看來孤僻不善社交的缺點,反而在寫作的時候得以發揮優勢。
在另一本寫給內向者的《安靜,就是力量》書中有一段是這麼說的:「內向者聽得多講得少,並且比較容易從寫作、而不是從對話中表達自己的意思。他們不喜歡衝突。他們很討厭閒談瞎扯,但是喜歡有意義的討論。」好的文章不但會自己走路,還會幫你說話。
.
#自我精進的武器
你身處的環境決定你是一個什麼樣的人。開始寫作,可以讓你沉浸在一個持續精進的環境裡面。作者他舉自己為例,一開始他的英文特別差,但是他試著把自己浸泡在《紐約時報》和《紐約客》的高品質英文媒體環境裡,也訂閱了上百家科技媒體的文章大量閱讀。
此後,他一篇又一篇的翻譯優質的文章,不但提升了英文能力,也打下了撰寫科技文章的深厚基礎,造就他後來踏上媒體主編和寫作教練的道路。他調侃道自己開始寫作的時候就像是「群體裡面最差的人」,從寫作新手開始出發的他,等於無時無刻都要向更優秀的寫作者學習,讓自已沉浸在比自己的知識和視野更高的環境,才能不斷進步、寫出更好的文章。
我認為,高品質的文章本身就是一個「資訊含量充沛」而且容易「重複閱讀和賞味」的資訊載體,而且你很容易可以「照著寫寫看」。不同於影音之類的媒體,你要照著做的成本和門檻相對比較高。從高手的文章模仿寫作,挑選框架來給自己用,相對而言都是更簡單可上手的方式。學習寫作同時也會帶來自我精進,讓自己沉浸在好文章的環境之下,是一個跟高手的思維不斷靠近的過程。
.
【該如何寫作?】
#善用萬能的框架
在這本書裡,作者沒有教你一百種寫作技巧,而是只教你「一個」寫作技巧,那就是「萬能寫作法」。這是一個無論在什麼情境都可以運用的框架,簡單、易懂、好執行。無論是單一模組使用,或者是擴大成更大的框架,甚至是大框架包小框架,都可以有各種運用的方式。
萬能寫作法由三個部分組成。第一個是「觀點」,指的是有價值導向的主觀論點,或描述的客觀事實。第二個是「案例」,引用軼聞趣事、實驗案例、研究數據來輔助說明你的觀點。第三個是「總結」,回顧主題,用一句話、一個段落,總結核心觀點。
以下引用一個我自己的寫作範例給你參考。我在分享《與成功有約》這本書的讀書心得時,分別說明了書中提到的七個高效人士習慣,其中第一個習慣「主動積極」的說明我是這麼寫的:
前半段是「觀點」:第一個是「主動積極」,意思是不要把自己的行為歸咎環境或他人;待人接物是根據本身原則與價值觀,做出有意識的選擇。
中段則是「案例」:史蒂芬引述《活出意義來》 作者法蘭柯的說法:「刺激與回應之間始終有段距離,而成長和幸福的關鍵,就在於如何利用這段距離。」法蘭柯是納粹集中營的倖存者,經歷過所有身外之物、僅有的尊嚴和身體自由完全被剝奪,身旁盡是絕望與痛苦的氛圍。
後半段是「總結」:他體悟到儘管外在環境再怎樣無法忍受、不受自己控制,人的內心卻仍可保有「人類終極的自由」,也就是選擇如何回應生命意義的自由。積極,是一種選擇。
善用這種萬能寫作法的框架,你就可以把任何想要表達的觀點,用你想要引用的案例來說明,最後再透過總結來加深讀者的記憶。你可以把這樣一個段落當成是一個「模組」,一篇文章就是好幾個模組的組合。如同作者所說:「寫作之道,大道至簡」,掌握這個寫法,你可以應用在無限種不同的場景裡面。
.
#閱讀高品質資訊
要練就一身好的寫作本領就要注意自己吸收的資訊品質。有一句話是這麼說的:「你,就是你吃進去的東西。」意思是你如果常吃高油、高鹽、高糖的食物,就會養成不健康的身體。嚮往健康的人們很在乎自己攝取的卡路里是否超標,也傾向選擇健康的食物。可是,我們對大腦「吃進去的食物」是否也有同樣程度的關注?
我們要去買新鮮和頂級的食材,需要付出相對高昂的成本;但是閱讀頂級的精神糧食,卻不一定要付出多麼高昂的代價。你攝取的資訊,決定了你將成為什麼樣的人。如同《深度數位大掃除》這本書中提倡要攝取「慢媒體」的原因是「 吸收少量優質的東西,通常比吸收大量劣質的東西更好」,我自己很推薦從《華爾街日報》之類的優質新聞來源去吸收資訊,這通常會比看八卦小報和農場新聞的文章來得更好。
就很像做數據分析的科學家常常掛在嘴邊的一句話:「垃圾進、垃圾出」,如果一個人總是吸收劣質和低廉的資訊來源,那些資訊就會影響他下筆寫出來的東西。因此,我們要慎選資訊來源,為自己營造出一個高品質的資訊環境。一個寫作者首先要有好的輸入,才可能有更好的輸出。
.
#寫作時必須誠實
在這本書中,有這麼一句話深深觸動了我的心,作者他說:「讀者不需要你完美,但他們需要你誠實。」起初我在練習寫作,並且鼓起勇氣公發表的時候,時常會在乎自己寫出來的東西,會不會被人嘲笑太淺、太無聊。有時候想著想著,乾脆就不寫了,至今回想起來,也錯失了暢談許多主題的機會。那些自己還未臻成熟的想法、還不夠完美的表現,時常會在害怕和自我質疑的時候偷偷藏起來。
作者認為,人們之所以「不敢誠實」有一個主要原因,害怕別人看到自己的缺點後,看不起、看不上自己。但是這種「害怕」,其實是對別人的不信任。一個作者如果不敢誠實,等於是不信任自己的讀者。真正支持你的讀者,會理解和體諒你,並且和你站在一起。如果一個作者不敢信任讀者,那麼讀者也難以信任作者。如果要寫出更好的文章,必須對自己的不完美更誠實,而且不要害怕公開自己的誠實。
.
【可以寫些什麼?】
#總是勤做筆記
在這本書中讓我很有收穫的,是作者提到他在寫作訓練營裡面,總結給學員們的最重要的經驗:第一,找到你這個行業最好的資料並努力深挖。第二,一定要做筆記,把你看到的、聽到的、讀到的、想到的、有價值的內容通通記下來。如果要讓寫下的文章自己會走路,就公開分享出來。
作者提到他寫筆記的方式是從紙本筆記,轉變成電子筆記,再變成電子和紙本,到最後全部轉為紙本筆記。只要是對他有幫助的、他感興趣的、未來寫作主題可能會用到的,他一定毫不猶豫全部記錄下來。只是很可惜的是,書中說了很多他寫筆記的原因,但是對寫筆記具體的「方法」卻著墨甚少。
我在閱讀的時候也不斷懷疑,純紙本筆記真的比較好嗎?因為我本身習慣用數位的 Notion 筆記 App 和紙本的子彈筆記,數位筆記利於搜尋,紙本筆記利於激發思考。稍做比較之後,我還沒有作者這般把「所有」所見所聞都記錄下來的習慣,這點倒是值得每個寫作者持續探究的主題。
.
#寫日記週記總結
除了作筆記之外,我們還能寫些什麼?作者提供了三個很有意思的寫作練習方法,很適合每個想學習寫作的人開始提筆。分別是每天寫日記,每週寫複盤週記,嘗試對事情做出總結。
首先,每天寫日記。作者認為最好的寫日記時段,是每天醒來的第一個小時。如同我在《起床後的黃金1小時》這本書的讀後心得寫下:「早晨醒來的時候,精神品質和心情都處在清空的最佳狀態」,在起床後開始寫點東西,是最好的起床儀式之一。寫日記可以帶來五個好處:
1. 計畫性:可以做好一天的準備。
2. 忠實性:可以準確寫出昨天發生的事情。
3. 中立性:冷靜思考前一天的事情,可以中立地看待事情。
4. 持續性:對於大部分午餐和晚餐都奉獻給工作的上班族來說,早上是自己最自由自在的時間,不會讓寫日記的習慣被中斷。
5. 活用性:可以將過去的寶貴經驗運用在當天。
寫日記還有一個好處,那就是「承諾和一致性」。《影響力》這本書的作者曾經說過人類有一種天性:「人們一旦對自己的行為或選擇做出承諾,就會努力保持言行一致。」善用這種天性,利用日記來驅策自己完成每天早上對自己做出的承諾。
其次,每週寫複盤週記。作者認為定期整理筆記可以帶來去蕪存菁的效果,他每週會重新對筆記大掃除,把無意義和不重要的扔掉,留下那些可以強化現在和未來的有意義的筆記。複盤的時候,他也會思考自己當週哪裡做得不好,並思考改善的方式。用寫作的方法來複盤,可以讓你更知道自己在想些什麼,也方便日後回顧自己的轉變歷程。
最後,嘗試對事情做出總結。作者舉工作為例,有些工作出現的頻率只佔 2%,卻可能影響你 90% 的工作績效,這件工作就是成果總結。所以平常期間,我們就要把自己的所見所聞和完成的事情,透過有主題性、系列性的方式做出總結。總結是屬於平時練習的少,可是卻很重要的工作。
.
#持續寫任何東西都好
很多人會以為寫作的時候,要有很多的「靈感」才寫得出來。但這是對寫作的根本誤解。作者提醒,無論是寫什麼,寫就對了。就像知名的高產出作家村上村樹和史蒂芬.金(Stephen King)都是以持續且規律的方式在寫作。
我很喜歡美國畫家查克.克洛斯(Chuck Close)曾經說過的這句話:「靈感是給業餘人士用的,我們其他的人就只是每天出現並投入工作。如果你等著烏雲散去,或等著一道閃電擊中你的大腦,你就不會做出很多工作。所有最好的想法都來自於過程;它們來自於工作本身。」
因此,不要相信靈感,不要期待一個不會天天憑空出現的東西。寫作這個行為的本身,一定要養成習慣。你可以參考《彈性習慣》這本書提到的核心觀念,你想養成的習慣不能太困難,必須要可以在你狀況最差的那一天照樣能夠執行。重點不是去拼靈感爆發,而是建立能維持規律寫作的方式。
.
【後記:寫作永不嫌遲】
從《讓寫作成為自我精進的武器》的閱讀過程之中,令我收穫最豐富的就是「讀者要看的不是你的文筆,他們要的是真實的你」這個觀念。作者希望我們擺脫寫作就是要文筆優美的老舊觀念,而更強調寫作對生活和職涯可以帶來的具體好處,以及如何建立正確的寫作心態。
這本書有點像是學習寫作的心靈雞湯,而不是技巧工具箱。如果你想學習除了「萬能寫作法」框架之外的技巧,我很推薦《高產出的本事》這本有著豐富寫作框架和步驟的書,其作者劉奕酉對使用框架是這麼評論的:「使用框架是為了跳脫框架,發展出自我的思考脈絡。」說得真好。
我也很慶幸自己曾經紀錄下來當初學習寫作的一些心路歷程,現在回味起來真的別有一番滋味。如果你有興趣的話,可以參考我在《學得更好》這篇讀後感分享過的六種學習寫作步驟,以及我在《心流》這篇讀後感分享透過寫作進入心流的方法。我透過這種書寫練習找到了自己寫作的意義。
最後,寫作真的會「讓機會自動找上你」。最近「生鮮時書」就找上瓦基一起合作,即將要開一堂「化輸入為輸出」的線上課程(早鳥問卷調查和優惠),我會淬鍊自己經營部落格兩年多來的經驗,分享有效輸入、高效輸出的實戰本領,教你如何在資訊紛擾的時代靠優質的文章內容脫穎而出。
寫作可以幫你達成自我行銷、提升職場形象、加深社交品質的功效,寫作也是最好的自我成長和精進的方式。或許,你也可以透過一個簡單的動作開啟自己的寫作練習,不妨在留言寫下你讀完這篇文章之後,有什麼想法上的改變和收穫吧。開始寫作,永不嫌遲。
.
瓦基的第一堂線上課程「化輸入為輸出」早鳥問券和優惠進行中
https://user134068.psee.io/3jdfxx
.
Kobo 購書連結:https://bit.ly/3mcN0ZK
Kobo 電子書7折代碼:WAKIWRITE
使用期限:8/22~8/29
.
感謝 新樂園出版 與你悅讀 提供抽獎贈書
signal教學已讀 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] Tornado Cash 實例解析
✍️ Johnson
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Tornado Cash 是一個使用 zk-SNARKs 建立的 Dapp,它實現了匿名的代幣交易,這篇文章就用一些程式碼片段,來分享它是怎麼運作的。
本文為 Tornado Cash 研究系列的 Part 3,本系列以 tornado-core 為教材,學習開發 ZKP 的應用,另兩篇為:
Part 1:Merkle Tree in JavaScript
Part 2:ZKP 與智能合約的開發入門
Special thanks to C.C. Liang for review and enlightenment.
我們知道在以太坊上的交易紀錄都是公開的,你可以在 etherscan 上看到某個地址的所有歷史交易紀錄,當然地址是合約的話也是一樣。
也許創建一個新的錢包和地址就好了?假設一個情境是 Alice 想要匿名傳送 1 ETH 給 Bob,Alice 原本的錢包是 A,但她不想讓 A 地址傳給 Bob 的交易紀錄被看到,所以 Alice 創建另一個錢包 B,顯然 B 錢包是空的,Alice 必須把 A 錢包的 1 ETH 傳到 B 錢包,再用 B 錢包的地址傳給 Bob。
但問題就在於,只要追蹤 B 錢包的地址,就能看到 B 的歷史交易紀錄中 A 錢包曾經打幣給 B 錢包,於是到頭來交易還是被追蹤到了。
Tornado Cash 的解決方案,簡單來說,它是一份合約,當你要匿名傳送代幣時,就把一定數量的幣丟進合約裡 (Deposit),此時你會拿到一個 note,長得像這樣:
tornado-eth-0.1-5-0x3863c2e16abc85d72b64d78c68fca5936db2501832e26345226efdfb2bc45804977f167d86b711bb6b4095ddaa646ec93f0a93ac4884a66c1d881f4fc985
note 就是一串字串,擁有這字串的人,就能提領 (Withdraw) 剛剛傳入合約的代幣。握有 note 就代表擁有提款的權利,所以 note 一旦被別人知道,別人就可以把錢給提走。
其中,後面那段亂碼,本篇文章就以「秘密」來稱呼,這個秘密是由 secret 與 nullifier 組成,而這兩個都是在鏈下隨機產生的亂數。
因此 Tornado 的合約基本上會有兩個函式:
Deposit
Withdraw
有興趣的人可以先到 Dapp 上先玩一次看看,使用 Goerli 測試網,這裡可以領 Goerli 的代幣:https://goerli-faucet.slock.it/
Deposit
我們就從 Deposit 開始說起,簡單來說, Deposit 是將資料儲存到合約的 Merkle Tree 上。
剛剛提到的秘密,它是在鏈下產生,由 secret 跟 nullifier 組成,合在一起之後也稱作 preimage,因為我們要對這個 preimage 進行 hash,就會成為 commitment。
合約中 Deposit 如下:
deposit 除了傳送代幣到合約之外,需填入一個參數 _commitment。
我們對 preimage 使用 Pedersen 作為 hash function 加密後產生 commitment,以偽代碼表示如下:
const preimage = secret + nullifier;const commitment = pedersenHash(preimage);
這個 commitment 會成為 Merkle Tree 的葉子,所以合約中的 _insert(commitment) 來自 MerkleTreeWithHistory.sol 的合約,將我們的資料插入 Merkle Tree,然後回傳一個 index 給你,告訴你這個 commitment 在 Merkle Tree 上的位置,最後一起發布成公開的 Deposit 事件。
我們知道 MerkleTree 是將一大筆資料兩兩做雜湊後產生一個唯一值 root,這個 root 就是合約上所儲存的歷史資料。
root 的特性就是只要底下的資料一有更動,就會重新產生新的 root。
所以只要一有用戶 deposit ,就會插入新的葉子到 Merkle Tree 上,於是就會產生新的 root,所以在合約中有一個陣列是用來儲存所有的 root 的 roots:
bytes32[ROOT_HISTORY_SIZE] public roots;
roots 是用來紀錄每個 deposit 的歷史,每一次 deposit 都會創造新的 root,而所有 root 都會被儲存進 roots 裡,於是當你要提領的時候,就要證明你的 commitment 所算出的 root 曾經出現在 roots 裡,代表曾經有 deposit 的動作,因此才可以進行提領。
Withdraw
在 Deposit 之前 Tornado Cash 就會在鏈下產生秘密後交給使用者,擁有這個秘密的人等於擁有提款的權利。
提領的時候,秘密會在鏈下計算後產生 proof,proof 是 withdraw 需要的參數,所以只要確保這個 proof 能夠被驗證,那麼代幣的接收地址 (recipient) 就可以隨便我們填,只要不填上當初拿來 deposit 用的地址,基本上就做到匿名交易的效果了。
也就是說,產生這個 proof 並提交給合約,能夠證明此人知道秘密,但卻不告訴合約秘密本身是什麼。
function withdraw(bytes calldata _proof, bytes32 _root, bytes32 _nullifierHash, address payable _recipient, address payable _relayer, uint256 _fee, uint256 _refund) external payable nonReentrant;
我們可以清楚看到 withdraw 函式裡沒有接收有關秘密的任何資訊作為參數,也就是秘密不會與合約有所接觸,也不會暴露在 etherscan 上。
回顧 ZKP 所帶來的效果:
鏈下計算
隱藏秘密
在 Tornado Cash 的例子中,我們用秘密來產生證明,完成的鏈下計算包括:
將秘密 hash 成 commitment
算出 Merkle Tree 的 root。
以下是簡化後的 withdraw.circom:
template Withdraw(levels) { signal input root; signal input nullifierHash;
signal private input nullifier; signal private input secret; signal private input pathElements[levels]; signal private input pathIndices[levels];
component hasher = CommitmentHasher(); // Pedersen hasher.nullifier <== nullifier; hasher.secret <== secret; hasher.nullifierHash === nullifierHash;
component tree = MerkleTreeChecker(levels); // MiMC tree.leaf <== hasher.commitment; tree.root <== root; for (var i = 0; i < levels; i++) { tree.pathElements[i] <== pathElements[i]; tree.pathIndices[i] <== pathIndices[i]; }}
component main = Withdraw(20);
從上述代碼就可以看出這份 circuit 的 private 變數有:
secret
nullifier
pathElements
pathIndices
而 public 變數有:
root
nullifierHash
如同我們一開始說過的,秘密就是指 secret 與 nullifier。這裡進行的鏈下計算就是對 secret 與 nullifier 雜湊成 commitment。而使用的 hash function 叫做 Pedersen。
在進行 Merkle Tree 的計算之前,我們還檢查了 nullifier 雜湊後的 nullifierHash 跟 public 變數 nullifierHash 是不是一樣的。
hasher.nullifierHash === nullifierHash;
接下來,開始計算 Merkle Proof,用意是確認經過雜湊後的 commitment 有沒有出現在 Merkle Tree 上,所以我們的 private input 還有 pathElements 與 pathIndices(詳情參考 Part 1 Merkle Tree in JavaScript),讓它跑一趟 Merkle Proof 的計算,最後就能夠算出一個 root,再確認計算後的 root 與我們的 public 變數 root 是否一樣。
tree.root <== root;
於是我們就能產生一個 ZKP 的證明 — 證明 private 變數:secret, nullifier, pathElements, pathIndices 可以計算出 public 變數:root 與 nullifierHash。
把這個證明提交給合約,合約透過 Verifier 驗證 proof 是否正確,以及必須事先確認:
public 變數 root 有在合約的 roots 裡面。
public 變數 nullifierHash 在合約中是第一次出現。
以下附上完整的 withdraw 原始碼:
必須注意 ZKP 是向合約證明使用者填入的 secret 和 nullifier 可以計算出某個 root,但無法保證這個 root 曾經在合約的 roots 歷史上。
所以合約的 withdraw 中,除了 verifyProof 之外,還要事先檢查 ZKP 算出來的 root 是不是真的在歷史上發生過,所以需要 isKnownRoot 的檢查:
function isKnownRoot(bytes32 _root) public view returns(bool)
必須先檢查 isKnownRoot 後才能進行 verifyProof。
經過 verifyProof 驗證成功後,合約就開始進行提款的動作,也就會將代幣傳到 recipient 的地址,最後拋出 Withdrawal 的事件。
nullifier 與 nullifierHash
為什麼我們的秘密不是只有 secret 還要額外加一個 nullifier?
簡單來說,這是為了防止已經提領過的 note 又再提領一次,也就是所謂的 double spend。
require(!nullifierHashes[_nullifierHash], "The note has been already spent");
可以看到 withdraw 需要填入參數 nullifierHash,跟 isKnownRoot 一樣的狀況,我們需要對電路的 public 變數先經過一層檢查之後,才能帶入到 verifyProof 裡面。
nullifierHash 可以理解為這個 note 的 id,但它不會連結到 deposit,因此可以用來紀錄這個 note 是否已經被提領過。
所以當 verifyProof 驗證成功之後,我們要紀錄 nullifierHash 已完成提領:
nullifierHashes[_nullifierHash] = true;
有關為什麼需要事先檢查 public 變數後,才能帶入 verifyProof ,可以參考 Part 2:ZKP 與智能合約的開發入門 提到的 publicSignals 的部分。
附上 Tornado Cash 的架構圖:
簡化版的 tornado-core
tornado-core 的程式碼很簡潔漂亮,所以我模仿該專案自己實作一遍:
simple-tornado:https://github.com/chnejohnson/simple-tornado
這份專案只完成了 tornado-core 的核心部分,不一樣的是我的開發環境使用 hardhat 與 ethers 寫成,而 circom 與 snarkjs 使用官方當前的版本,合約用 0.7.0,測試使用 Typescript 。
比起兩年前的 tornado-core ,simple-tornado 使用的技術更新,可能更適合初學者理解這份專案,但是它有 bug…我在 issues 的地方有紀錄說明。
在開發的過程中,我的順序是先從最小單位的 MiMC hash function 開始玩,發現必須 javascript 算一次 hash、solidity 算一次、circom 再算一次,確保這三個語言對同一個值算出同樣的 hash 之後,才能放心去做更複雜的 Merkle Tree。
總結
我們可以看到 Tornado Cash 簡單的兩個函式:Deposit 與 Withdraw,透過將代幣送入合約後再提領到另一個地址的流程,應用 ZKP 達成匿名的交易。
除了斷開 Deposit 與 Withdraw 的地址關聯性之外,Tornado Cash 還有做了一層「藏樹於林」的隱私防護,這部份的解釋就請參考 ZKP 讀書會 Tornado Cash。
網路上很多關於 ZKP 的文章或專案都是在 2019 年後出產的,經過許多人對這項技術的嘗試,讓我們對 ZKP 有了更清晰的理解,如今兩年後,開發工具也變得更加成熟,期待未來在 web 隱私議題上能看到更多 ZKP 大放異彩的應用。
原始碼
tornado-core
simple-tornado
參考資料
ZKP 讀書會 Tornado Cash
Tornado Privacy Solution Cryptographic Review
Tornado Cash 實例解析 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
signal教學已讀 在 alex lam Youtube 的精選貼文
https://mewe.com/p/mrlamsan3
而家最後決定移民MEWE ,以前既讀者或新朋友
希望你地支持,比個LIKE,FOLLOW一下
旅遊,生活,飲食
社群連結︰ https://mewe.com/join/realhk
剷FB APP之前必做!
關閉 Facebook 站外動態 出賣個人私隱 教你更改設定保障自己 唔洗比佢追蹤你生活
https://youtu.be/WQDiQGFnNaE
2021年,終於都要學識VPN同翻牆上網喇!
https://youtu.be/wt8r5HMeqnY
Mewe 網頁版有香港中文 正體中文介面 推出了 APP版要遲少少更新先有 點轉中文版教學
近日已將Web 版加入有關的設定,用戶可在語系找到中文(香港)
Mewe 轉香港中文 正體中文介面推出
繁中界面已經推出
用電腦網頁版轉到呀! APP版要遲少少更新先有
網頁版出繁體中文先,手機版未有
MeWe 雖然是一個早於八年前 (2012年) 已經成立的社交網站,但由於一直受到 Facebook 的壓迫而令其知名度不高。直至今年,一場美國大選揭破了 Facebook 跟 Twitter 的假面具,令到 MeWe 聲名大噪,一夜間全球數百上千萬用戶由 Facebook 搬家至 MeWe。
作為操作方式與 Facebook 類似的社交平台,相信大家開設帳號後很快就能夠上手。但 MeWe 跟 Facebok 最大不同之處,在於 MeWe 不賣廣告、不出售用戶資料、不會為了廣告收入而降低發佈商的貼文接觸量。因為,在 MeWe 上可以免費使用基本功能,但一些較商業或進階的功能例如開設專頁等需要支付訂閱費,而且一些進階功能、佈景主題、貼圖等也可以按需要課金獲得,從而支持各個創作單位,以營造一個健康的生態環境。
signal教學已讀 在 《Z世代達人》唔怕俾人話已讀不回一個app幫到你 - YouTube 的價格和怎麼買
最新嘅科技資料、潮流玩意,都有《Z世代達人》麥卓華到處搜羅送到你面前!智能手機既發達,今時今日我地都習慣使用即時通訊軟件作溝通,呢類以文字為 ... ... <看更多>