⭐️減肥 請先知道你是誰?
那天朋友約我吃飯,神秘兮兮地告訴我,有事想請教我!
赴約後,看他一個大男生靦腆的樣子,吱吱嗚嗚地說:我想要減肥!
『我,一定要瘦到xx公斤!(目標)
我,要用間歇性斷食,高蛋白低碳(方法)
我,要開始運動(方法)
但我不知道要怎麼樣持續,才可以像你這麼自律,可以長期維持。
我每次減完達到目標後,沒多久就又打回原形。』
~~~~~以上對話是否熟悉?
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
減肥,設定目標、擬定計畫當然重要,瘦下來大部分的人也都可以達到。
但,為什麼還是有那麼多人一直,反覆減肥、復胖、減肥、復胖,最終,自我放棄!
甚至說,算了,我這輩子就是個胖子!
很多人問我,爲什麼我可以這麼自律?乖乖地在健身房承受辛苦的訓練、自煮吃原型食物?
以前我也不明白,爲什麼自己會如此自律!
直到看到『原子習慣』這本書,我終於明白了,原來是~~~
我擁有『身份認同』!⭐️
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
書中有個例子:
有一人正在戒煙,當別人請他抽煙,他可以有兩個方式拒絕!
1. 我正在戒煙
2. 我不抽煙
你覺得哪一個回答是摒棄的過去,而產生新的身份認同呢?
答案是2!
1. 我正在戒煙 (認為自己還是個抽菸者,只不過想辦法戒煙)
2. 我不抽煙(已摒棄了過去的自己,擁有了新的身份認同)
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
🌟身份認同
嗨~我是Vita,
我是個運動的人。
我是個努力學習愛自己的人。
我是個不節食的人。
我是個會餵食均衡又營養食物的人。
我是個與食物擁有美好關係的人。
我是一個會為了讓自己身心健康,而盡全力學習如何保護自己的人。
Yes, this is me! 🌟
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
想減肥、想增肌、想要重拾健康、或想要達成任何目標…..。
與其設定目標、尋找方法,請先重設『對自己的身份認同吧!』
當你擁有了身份認同,你將會尋找、並開始做為了擁有這個身份的事情。
🌟你想要成為一個健康有體力的人~
你會開始運動、開始餵食自己營養美好的食物。
🌟你想要成為與食物擁有美好關係的人~
你會停止節食,並開始學習營養素對人體的美好影響。
🌟你想成為一個愛自己的人~
你會開始學習聆聽自己的聲音,並尊重自己的感受。
⋯⋯⋯⋯⋯⋯⋯⋯⋯
最後,也是最重要的
1. 不批判自己
2. 給予自己耐心
3. 感恩自己的努力
假設你告訴自己今天開始快走20 分鐘,結果你只走了五分鐘,就累死了。
你無需批判自己『沒用』,你需要告訴自己:
『嘿~ 我知道今天沒有達到設定的目標,但我還是謝謝你願意動了。我們一步一步來』!
親愛的,你想要成為什麼樣的人呢?
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
To you, what is the most important thing when comes to fat loss, keeping nice body shape or maintain your health?
Lots of people might focus on set a goal, calculating calories or make a perfect meal and exercise plan.
I don’t doubt they are all play a part of reach your goal!
My question is, HOW TO maintain your goal!
To me, the most IMPORTANT is finding WHO I AM?
I am a person WHO exercise regularly.
I am a person WHO feed myself lots of nutrients dense food.
I am a person WHO don’t count the calories but just listen to my body needs!
I am a person WHO will do everything to keep my body and mind joyful !
It is WHO I am defining myself that keep me going to maintain my ultimate health.
NOT meal plan
NOT DIET culture
NOT because I don’t eat donuts !
with Love ❤️
Vita
·
·
·
·
·
·
·
·
·
·
#重訓女孩 #減肥 #減脂
#台灣人在澳洲 #澳洲代購 #凍齡
#重訓女孩 #fitbaes #蜜桃臀養成 #fitnessbaes
#curvyblogger #細腰翹臀 #歐美臀 #美尻になりたい
#デッドリフト
同時也有17部Youtube影片,追蹤數超過36萬的網紅LADIES FIRST,也在其Youtube影片中提到,We all love a good Christmas feast so this time round, the ladies have prepared delicious dishes & treats for our own mini Ladies First potluck. Watch...
「the ultimate question」的推薦目錄:
- 關於the ultimate question 在 Facebook 的精選貼文
- 關於the ultimate question 在 林郁晉- Yu Jun LIN Facebook 的最佳貼文
- 關於the ultimate question 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於the ultimate question 在 LADIES FIRST Youtube 的最佳貼文
- 關於the ultimate question 在 Brandon Li Youtube 的精選貼文
- 關於the ultimate question 在 Brandon Li Youtube 的最佳貼文
the ultimate question 在 林郁晉- Yu Jun LIN Facebook 的最佳貼文
《 #籠罩下的巨大哀愁 》
正式開展啦~
歡迎各位到台北當代藝術館
/
詳細資訊|https://reurl.cc/bXy09v
________________________________________________
A Dark Cloud of Sorrow Looms Over
by Yu-Jun LIN
Late mornings and sleepless nights. Frustration. Anxiety.
They seem to have infiltrated our consciousness and entered our dreams. We recognize the shape of eaves, the folding line of streets, and return to our dwelling coordinates where we hide and live. We see restless men and women in full feather wandering through the brightly-lit city and then sitting shoulder to shoulder with countless strangers, between countless walls.
In the 1970s, urbanism started paving its way into Taiwan. Bidding farewell to the landscape of an agricultural society, life thus became crowded and repressive in cities. The meaning of “urbanism” does not merely lie in towering skyscrapers but in altered landscapes, living conditions, isolation and loneliness as well as increasingly complex social issues. Submerged in the capitalist system, every person has been assumed as a tiny component, whose labor force is needed by the whole mechanism, but not with one’s individuality as well.
However, the construction of liberalism constantly reminds us of our own subjectivity, along with the importance of being viewed as a whole. Such contradictory values leads to extreme unease and confusion that keeps building up and ceaselessly floods our minds with external chaos. As worries that never subside loom over us, we are forced to retreat to our dwellings, where we are perfectly alone, and safe. We can uninhibitedly be ourselves – yet under the lingering dark cloud of sorrows.
Frustrating questions as “Who am I?” seem to return in lonesome nights, invariably. When night falls, myriads of dazzling lights glisten in innumerous windows at the near distance. Gazing into the dreamlike, transient light, we recall things we hope to seal for good in our troubled mind. We question again and again, about what role we should be playing to integrate into the society but still maintain the integrity of our own subjectivity.
A Dark Cloud of Sorrow Looms Over features eight selected pieces and delineates the question of how people, as individuals, should coexist with others, a question deriving from urbanites’ perceptual conflicts experiences.
Zheng Er Qi | People
“People” mirrors the phenomenon of Taiwan’s transition from being an agricultural society to city since 1970. It precisely portrays everyday urbanity that people nowadays are familiar with: Although millions of people reside on one spot, their recognition of one another fails to grow with urbanization, despite the presumable nearness.
Chung Chih Ting|I Am by Your Side
With the explanation by an offscreen sound and the roleplay image, “I Am by Your Side” depicts how urbanites try to be in company, revealing people’s natural urge for social connection. Yet it ends up to be talking to oneself or pointless mumbles, simply a futility of communication.
Wu Bo Sian | Chimps with Mona Lisa’s Smile
In the video, the chimpanzees form a spectacle, say, abnormality, in a seemingly normal context. “Chimps with Mona Lisa’s Smile” is a response to conflicts between public administration and individual freedom, zooming in on the contradictions or constraints between all the intervenable and the non-intervenable in everyday scenes.
Wang Ding Yeh | One-One
“One-One” depicts how people try to maintain an intact, rational space of survival while sometimes fail to avoid transgressing, under limited resources in a highly competitive society. With much precision, it captures the specific default interpersonal distance, and poses the question: How should each person navigate to find the best living posture at the moment?
Tsai Jie | When the Dust Settles
“When the Dust Settles” shows people restlessly beating on a possible exit to get out. However, does such an exit really exist? Or is it simply a delusion stemming from one’s untamable impetuosity? The work reflects the desolation of men and women, who are rumbustious, but aimless.
Huan Yen Chiao | 1, 2, 3. Are You Already in Hiding, Fish?
Fish in the bowl resembles people trapped in cities: extravagant outfits, splashing neon lights; sensational visual effects indeed. “1, 2, 3. Are You Already in Hiding, Fish?” presents how people escape from their anxiety and weariness for the time being. The work highlights the entire incompatibility and a sense of solitude after one’s subjectivity is highly developed.
Wong Shu Lian | I found myself floating and sinking down once in a while
The work addresses the enduring controversy between liberalism and capitalism that have been engendering people’s inner conflicts. It captures one’s self-doubt and angst in a profound way while, by exploring how to determine one’s best position, raises the ultimate question – Who are we after all?
Chen Chia Jen | SWEETWATER
“SWEETWATER” was born under Chen’s reflections during his artistinresidence experience in Southeast Asia. Between people living in urban and rural areas, there is a grand difference of perspectives, regarding how to survive and live a good life. It implies the fact that the widely-recognized future image, constructed by our society, might not be as clear or real as it seems, or perhaps what people accepted is simply a vague, even somehow out-of-focus, prospect.
_____________________________
《籠罩下的巨大哀愁》展覽資訊
展覽日期|2021/08/07(Sat.) ─ 09/12(Sun.)
展覽地點|台北當代藝術館廣場電視牆 MoCA Plaza LED TV Wall
播映時間| Mon. ─ Sun. 16:00-21:00
特別感謝| 贊助單位
厭世會社 @mis.society
#王鼎曄 #吳柏賢 #陳嘉壬 #黃彥超 #黃淑蓮 #蔡傑 #鄭爾褀 #鍾知庭 #林郁晉 #A_Dark_Cloud_of_Sorrow_Looms_Over
#MisanthropeSociety厭世會社
#厭世會社
the ultimate question 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] ZKP 與智能合約的開發入門
✍️ Johnson
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
這篇文章將以程式碼範例,說明 Zero Knowledge Proofs 與智能合約的結合,能夠為以太坊的生態系帶來什麼創新的應用。
本文為 Tornado Cash 研究系列的 Part 2,本系列以 tornado-core 為教材,學習開發 ZKP 的應用,另兩篇為:
Part 1:Merkle Tree in JavaScript
Part 3:Tornado Cash 實例解析
Special thanks to C.C. Liang for review and enlightenment.
近十年來最強大的密碼學科技可能就是零知識證明,或稱 zk-SNARKs (zero knowledge succinct arguments of knowledge)。
zk-SNARKs 可以將某個能得出特定結果 (output) 的計算過程 (computation),產出一個證明,而儘管計算過程可能非常耗時,這個證明卻可以快速的被驗證。
此外,零知識證明的額外特色是:你可以在不告訴對方輸入值 (input) 的情況下,證明你確實經過了某個計算過程並得到了結果。
上述來自 Vitalik’s An approximate introduction to how zk-SNARKs are possible 文章的首段,該文說是給具有 “medium level” 數學程度的人解釋 zk-SNARKs 的運作原理。(可惜我還是看不懂 QQ)
本文則是從零知識證明 (ZKP) 應用開發的角度,結合電路 (circuit) 與智能合約的程式碼來說明 ZKP 可以為既有的以太坊智能合約帶來什麼創新的突破。
基本上可以謹記兩點 ZKP 帶來的效果:
1. 擴容:鏈下計算的功能。
2. 隱私:隱藏秘密的功能。
WithoutZK.sol
首先,讓我們先來看一段沒有任何 ZKP 的智能合約:
這份合約的主軸在 process(),我們向它輸入一個秘密值 secret,經過一段計算過程後會與 answer 比對,如果驗證成功就會改寫變數 greeting 為 “answer to the ultimate question of life, the universe, and everything”。
Computation
而計算過程是一個簡單的函式:f(x) = x**2 + 6。
我們可以輕易推出秘密就是 42。
這個計算過程有很多可能的輸入值 (input) 與輸出值 (output):
f(2) = 10
f(3) = 15
f(4) = 22
…
但是能通過驗證的只有當輸出值和我們存放在合約的資料 answer 一樣時,才會驗證成功,並執行 process 的動作。
可以看到有一個 calculate 函式,說明這份合約在鏈上進行的計算,以及 process 需要輸入參數 _secret,而我們知道合約上所有交易都是公開的,所以這個 _secret 可以輕易在 etherscan 上被看到。
從這個簡單的合約中我們看到 ZKP 可以解決的兩個痛點:鏈下計算與隱藏秘密。
Circuits
接下來我們就改寫這份合約,加入 ZKP 的電路語言 circom,使用者就能用他的 secret 在鏈下進行計算後產生一個 proof,這 proof 就不會揭露有關 secret 的資訊,同時證明了當 secret 丟入 f(x) = x**2 + 6 的計算過程後會得出 1770 的結果 (output),把這個 proof 丟入 process 的參數中,經過 Verifier 的驗證即可執行 process 的內容。
有關電路 circuits 的環境配置,可以參考 ZKP Hello World,這裡我們就先跳過去,直接來看 circom 的程式碼:
template Square() { signal input in; signal output out; out <== in * in;}template Add() { signal input in; signal output out; out <== in + 6;}template Calculator() { signal private input secret; signal output out; component square = Square(); component add = Add(); square.in <== secret; add.in <== square.out; out <== add.out;}component main = Calculator();
這段就是 f(x) = x**2 + 6 在 circom 上的寫法,可能需要時間去感受一下。
ZK.sol
circom 寫好後,可以產生一個 Verifier.sol 的合約,這個合約會有一個函式 verifyProof,於是我們把上方的合約改寫成使用 ZKP 的樣子:
我們可以發現 ZK 合約少了 calculate 函式,顯然 f(x) = x**2 + 6 已經被我們寫到電路上了。
snarkjs
產生證明的程式碼以 javascript 寫成如下:
let { proof, publicSignals } = await groth16.fullProve(input, wasmPath, zkeyPath);
於是提交 proof 給合約,完成驗證,達到所謂鏈下計算的功能。
最後讓我們完整看一段 javascript 的單元測試,使用 snarkjs 來產生證明,對合約的 process 進行測試:
對合約來說, secret = 42 是完全不知情的,因此隱藏了秘密。
publicSignals
之前不太清楚 publicSignals 的用意,因此在這裡特別說明一下。
基本上在產生證明的同時,也會隨帶產生這個 circom 所有的 public 值,也就是 publicSignals,如下:
let { proof, publicSignals } = await groth16.fullProve(input, wasmPath, zkeyPath);
在我們的例子中 publicSignals 只有一個,就是 1770。
而 verifyProof 要輸入的參數除了 proof 之外,也要填入 public 值,簡單來說會是:
const isValid = verifyProof(proof, publicSignals);
問題來了,我們在設計應用邏輯時,當使用者要提交參數進行驗證的時候,publicSignals 會是由「使用者」填入嗎?或者是說,儘管是使用者填入,那它需不需要先經過檢查,才可以填入 verifyProof?
關鍵在於我們的合約上存有一筆資料:answer = 1770
回頭看合約上的 process 在進行 verifyProof 之前,必須要檢查 isAnswer(publicSignals[0]):
想想要是沒有檢查 isAnswer,這份合約會發生什麼事情?
我們的應用邏輯就會變得毫無意義,因為少了要驗證的答案,就只是完成計算 f(42) = 1770,那麼不論是 f(1) = 7 或 f(2) = 10,使用者都可以自己產生證明與結果,自己把 proof 和 publicSignals 填入 verifyProof 的參數中,都會通過驗證。
至此可以看出,ZKP 只有把「計算過程」抽離到鏈下的電路,計算後的結果仍需要與鏈上既有的資料進行比對與確認後,才能算是有效的應用 ZKP。
應用邏輯的開發
本文主要談到的是 zk-SNARKs 上層應用邏輯的開發,關於 ZKP 的底層邏輯如上述使用的 groth16 或其他如 plonk 是本文打算忽略掉的部分。
從上述的例子可以看到,即使我們努力用 circom 實作藏住 secret,但由於計算過程太過簡單,只有 f(x) = x**2+6,輕易就能從 answer 反推出我們的 secret 是 42,因此在應用邏輯的開發上,也必須注意 circom 的設計可能出了問題,導致私密訊息容易外洩,那儘管使用再強的 ZKP 底層邏輯,在應用邏輯上有漏洞,也沒辦法達到隱藏秘密的效果。
此外,在看 circom 的程式碼時,可以關注最後一個 template 的 private 與 public 值分別是什麼。以本文的 Calculator 為例,private 值有 secret,public 值有 out。
另外補充:
如果有個 signal input 但它不是 private input,就會被歸類為 public。
一個 circuit 至少會有一個 public,因為計算過程一定會有一個結果。
最後,在開發的過程中我會用 javascript 先實作計算過程,也可以順便產出 input.json,然後再用 circom 語言把計算過程實現,產生 proof 和 public 後,再去對照所有 public 值和 private 值,確認是不是符合電路計算後所要的結果,也就是比較 javascript 算出來的和 circom 算出來的一不一樣,如果不一樣就能確定程式碼是有 bug 的。
參考範例:https://github.com/chnejohnson/circom-playground
總結
本文的程式碼展現 ZKP 可以做到鏈下計算與隱藏秘密的功能,在真實專案中,可想而知電路的計算過程不會這麼單純。
會出現在真實專案中的計算像是 hash function,複雜一點會加入 Merkle Tree,或是電子簽章 EdDSA,於是就能產生更完整的應用如 Layer 2 擴容方案之一的 ZK Rollup,或是做到匿名交易的 Tornado Cash。
本文原始碼:https://github.com/chnejohnson/mini-zkp
下篇文章就來分享 Tornado Cash 是如何利用 ZKP 達成匿名交易的!
參考資料
概念介紹
Cryptography Playground
zk-SNARKs-Explainer
神奇的零知識證明!既能保守秘密,又讓別人信你!
認識零知識證明 — COSCUP 2019 | Youtube
應用零知識證明 — COSCUP 2020 | Youtube
ZK Rollup
動手實做零知識 — circom — Kimi
ZK-Rollup 开发经验分享 Part I — Fluidex
ZkRollup Tutorial
ZK Rollup & Optimistic Rollup — Kimi Wu | Medium
Circom
circom/TUTORIAL.md at master · iden3/circom · GitHub
ZKP Hello World
其他
深入瞭解 zk-SNARKs
瞭解神秘的 ZK-STARKs
zk-SNARKs和zk-STARKs解釋 | Binance Academy
[ZKP 讀書會] MACI
Semaphore
Zero-knowledge Virtual Machines, the Polaris License, and Vendor Lock-in | by Koh Wei Jie
Introduction & Evolution of ZK Ecosystem — YouTube
The Limitations of Privacy — Barry Whitehat — YouTube
Introduction to Zero Knowledge Proofs — Elena Nadolinski
ZKP 與智能合約的開發入門 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
the ultimate question 在 LADIES FIRST Youtube 的最佳貼文
We all love a good Christmas feast so this time round, the ladies have prepared delicious dishes & treats for our own mini Ladies First potluck. Watch the girls struggle their way around the kitchen from using a coffee grinder for the first time to learning about the different types of cheese available in the grocery store. Which of these dishes would you love to see on your dining table this Christmas?
If you are posting on Instagram or IG Story, use #ALLTHEJINGLELADIES so we know you are watching!
*DISCLAIMER*
This video was filmed under the Safety Regulations for the Resumption of Content Production and follows safety measures set by IMDA. Talents have also brought their own utensils and used serving utensils to ensure no cross contamination.
Follow our hosts:
Debbie - https://www.instagram.com/debbwie
Jasmine - https://www.instagram.com/jasminelhr
Cherylene - https://www.instagram.com/cherylenechan
Grace - https://www.instagram.com/graceglazee
Sierra - https://www.instagram.com/sierralixing
Shannon - https://www.instagram.com/shannontaylortw
Tasha - https://www.instagram.com/tashh6
Liz - https://www.instagram.com/kylolizy
Follow us:
https://www.instagram.com/ladiesfirsttv/
Follow our podcast - GIRL CODE:
https://open.spotify.com/show/2MUs5cn6kLie8aKtAyOcnu?si=y9-_jXx_SnOIzV1EamO4ow
If you see this, leave a comment with the secret code: "FANCY", so we know you're reading this far into the description ?
For business enquiries, please drop us an email at business@titandigitalmedia.com
the ultimate question 在 Brandon Li Youtube 的精選貼文
Are the DJI RS 2 and RSC 2 the most advanced gimbals ever? Is now the time to upgrade? Let's find out! I took both gimbals out for some real-world testing. Buy RS 2: https://store.dji.com/product/rs-2?as=13936&ch=RS2-13&from=dap_unique&pbc=mtcpkl&pm=custom
Buy RSC 2: https://store.dji.com/product/rsc-2?as=13936&ch=1&from=dap_unique&pbc=mtcpkl&pm=custom
Learn filmmaking from me: https://myfilm.school/rs2-rsc2
0:00 Intro + Sample Footage
1:22 Weight Comparison of RS 2 vs Ronin S
2:45 Follow Modes - New and Improved
4:53 RS 2 (Carbon Fiber Arms) vs RSC 2 (Non-Carbon Fiber Arms)
6:13 Quick Release System
6:50 Titan Stabilization Algorithm Test Footage
8:22 Using A7siii Gyro Stabilization for Ultimate Smoothness
9:29 RSC 2 Flexible Handle Grip
10:09 Nato Port Accessories
10:55 RavenEye Wireless Video Transmitter
12:22 ActiveTrack 3.0
15:27 Focus Control of Camera (brief overview)
17:29 Timelapse and Motion Control (brief overview)
19:17 Battery of RS 2 vs RSC 2
20:33 RS 2 Universal Base Mount
21:10 Gimbal Travel Bags
22:06 Final Thoughts! Should you upgrade? Which gimbal is the best?
Learn Filmmaking for Photographers: https://filmmakingforphotographers.com/
My Gimbal Masterclass: https://gimbalmasterclass.com/brandon/
GOT A QUESTION FOR ME? CHECK MY HUGE LIST OF FILMMAKING Q&A! https://learn.unscripted.com/faq/
Music by Audiosocket! Join here: https://audiosocket.com/?fpr=brandonli * *
*
*
*
*
I am a participant in the Amazon Services LLC Associates Program and B&H Photo Video Affiliate program, affiliate advertising programs designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com and bhphotovideo.com. Additionally, I participate in other affiliate programs, and sometimes get a commission through purchases made through my links.
the ultimate question 在 Brandon Li Youtube 的最佳貼文
Making this short film with the Sony A7S III was such an amazing experience. Starring the lovely Kobe Lee. Thank you Sony SEA for lending me the camera! Learn filmmaking from me: https://myfilm.school/crossroads IG: @brandon_l_li @unscriptedstudio
The Gimbal Masterclass, my ultimate gimbal training course: https://gimbalmasterclass.com/brandon/
Learn Filmmaking for Photographers: https://filmmakingforphotographers.com/
Pre-Order Sony A7siii: https://geni.us/sony-a7siii
Read all about my experience with the a7siii: https://www.sony.com.sg/alphauniverse/video-creation
Lenses used for this film:
Sony 24mm f1.4 G Master Lens: https://geni.us/sony-24mm-g
Sony 50mm 1.4 Planar Lens: https://geni.us/sony-50mm-plana
Sony 135mm f1.8 G Master Lens: https://geni.us/sony135mm
My Gimbal: https://bdn.li/my-gimbal
My Tripod: https://geni.us/C5KxQ5
Shot in 10-bit 4:2:2 Standard Creative Style
Edited in FCP X
See the behind-the-scenes + a shorter version of this film at Sony Asia Pacific:
https://www.youtube.com/user/SonyAsiaPacific
GOT A QUESTION FOR ME? CHECK MY HUGE LIST OF FILMMAKING Q&A!https://learn.unscripted.com/faq/
MY GEAR: https://learn.unscripted.com/gear/
Music: "In A Way in a Love ft Juliet Lyons" by Shahead Mostafafar via Artlist.io
Join Artlist for music and sound fx (2 extra months free): https://geni.us/artlistbrandonl
Join Artgrid stock footage: https://geni.us/artgridbrandon
*
*
*
*
*
I am a participant in the Amazon Services LLC Associates Program and B&H Photo Video Affiliate program, affiliate advertising programs designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com and bhphotovideo.com. Additionally, I participate in other affiliate programs, and sometimes get a commission through purchases made through my links.