M♪o 之學習筆記本《卯》基件︰【䷒】教思無窮

派生碼訊

卯 兔

臨:元,亨,利,貞。 至于八月有凶。

彖曰:臨,剛浸而長。 說而順,剛中而應,大亨以正,天之道也。 至于八月有凶,消不久也。

象曰:澤上有地,臨﹔ 君子以教思無窮,容保民無疆。

臨 臨,俯首察看也。上帝臨汝。今天稽古老企鵝來學堂視學,學堂特地舉行觀摩 教 教 學 學。上講習課。

 

派︰各位同學好,【學堂漸漸安靜下來】

只聽到稽古老企鵝說道︰過去阿, 學 學這個字兒,指的是學堂,那個時候大家都住校。先生 教 教的,要是 學習 習不好,可是用棍子打欸。那個時候我們也上實習課,用的最好的 機 機器,能夠跑組合語言,這可比機器碼強的多啦。寫碼的時候,一塊一個巨集 Macro 單元的寫,寫的夠多了,練熟啦,就能把它們貫串起來 ,表達天南地北的東西。這個串珠之法,就像編輯《千字文》差不多吧!畢竟是老古的啦,不知今兒好不好使,倒是給你們講講,也算是傳承之意的吧,《 典 》典說︰

何謂寫程式?!

在《樹莓 λ 者程式探源 》一文裡,我們談到︰

到底『程式』是什麼呢?假使『廣義』的講是恰當的話,所謂的『食譜』就是『做菜的程 式』。因此寫的『好』的食譜,也就是『表達清晰』、『步驟清楚』而且『程序簡潔』,使得人們能夠『依樣畫葫蘆』之程式章法。即使將『程式』限定在『計算 機』裡,使用特定的『程式語言』,上面的說法依然適用。

這可以進一步用『作文章』來比擬,傳聞梁武帝選取了王羲之寫的一千個字體,使其親人練習書法,之後覺得『雜亂無章』,於是令周興嗣編此千字成一篇文章,這就是《次韻王羲之書千字》,也就是大名鼎鼎的《千字文》。全文『引經據典』,文理一脈相承,出典所用的『典籍』含括︰《易經》、《淮南子》、《詩經》、《尚書》、《禮記》、《春秋》、《論語》、《孝經》、《孟子》 、《史記》、《神農本草經》、《管子》、《韓非子》、《莊子》 、《漢書》

這個『古典的』 classic 『詩詞文章程式』,所用的『引經據典』就宛如『副程式呼叫』,所謂的『成語熟套』是也。古今文人經由唸『好文章』來學寫『文章』;正像是今天透過讀『好程式』開始設計『程式』一樣,使用適當的『程式庫』 library ,就是『出典』的吧!所以何不《吃著魚釣魚!!有何不可?》的呢!!

千字文

‧敕員外散騎侍郎‧周興嗣

天地玄黃 宇宙洪荒 日月盈昃 辰宿列張
寒來暑往 秋收冬藏  閏餘成歲 律召調陽
雲騰致雨 露結為霜 金生麗水 玉出崑崗
劍號巨闕 珠稱夜光 果珍李柰 菜重芥薑
海鹹河淡 鱗潛羽翔  龍師火帝 鳥官人皇
始製文字 乃服衣裳 推位讓國 有虞陶唐
吊民伐罪 周發殷湯 坐朝問道 垂拱平章
愛育黎首 臣伏戎羌  遐邇壹體 率賓歸王
鳴鳳在樹 白駒食場 化被草木 賴及萬方

蓋此身髮 四大五常 恭惟鞠養 豈敢毀傷
女慕貞絜 男效才良  知過必改 得能莫忘
罔談彼短 靡恃己長 信使可覆 器欲難量
墨悲絲染 詩贊羔羊 景行維賢 剋念作聖
德建名立 形端表正  空谷傳聲 虛堂習聽
禍因惡積 福緣善慶 尺辟非寶 寸陰是競
資父事君 曰嚴與敬 孝當竭力 忠則盡命
臨深履薄 夙興溫清  似蘭斯馨 如松之盛
川流不息 淵澄取映 容止若思 言辭安定
篤初誠美 慎終宜令 榮業所基 籍甚無竟
學優登仕 攝職從政  存以甘棠 去而益詠
樂殊貴賤 禮別尊卑 上和下睦 夫唱婦隨

外受傅訓 入奉母儀 諸姑伯叔 猶子比兒
孔懷兄弟 同氣連枝  交友投分 切磨箴規
仁慈隱惻 造次弗離 節義廉退 顛沛匪虧
性靜情逸 心動神疲 守真志滿 逐物意移
堅持雅操 好爵自縻  都邑華夏 東西二京
背邙面洛 浮渭據涇 宮殿盤鬱 樓觀飛驚
圖寫禽獸 畫仙靈 丙舍傍啟 甲帳對楹
肆筵設席 鼓瑟吹笙  升階納陛 弁轉疑星
右通廣內 左達承明 既集墳典 亦聚群英
杜稾鐘隸 漆書壁經 府羅將相 路俠槐卿
戶封八縣 家給千兵  高冠陪輦 驅轂振纓
世祿侈富 車駕肥輕 策功茂實 勒碑刻銘

磻溪伊尹 佐時阿衡 奄宅曲阜 微旦孰營
桓公匡合 濟弱扶傾  綺迴漢惠 說感武丁
俊乂密勿 多士寔寧 晉楚更霸 趙魏困橫
假途滅虢 踐土會盟 何遵約法 韓弊煩刑
起翦頗牧 用軍最精  宣威沙漠 馳譽丹青
九州禹跡 百郡秦并  嶽宗恒岱 禪主云亭
雁門紫塞 雞田赤城 昆池碣石 鉅野洞庭
曠遠綿邈 巖岫杳冥  治本於農 務資稼穡
俶載南畝 我藝黍稷 稅熟貢新 勸賞黜陟
孟軻敦素 史魚秉直 庶幾中庸 勞謙謹敕
聆音察理 鑒貌辨色  貽厥嘉猷 勉其祗植

省躬譏誡 寵增抗極 殆辱近恥 林皋幸即
兩疏見機 解組誰逼 索居閒處 沉默寂寥
求古尋論 散慮逍遙  欣奏累遣 感謝歡招
渠荷的歷 園莽抽條 枇杷晚翠 梧桐早凋
陳根委翳 落葉飄颻 游獨運 凌摩絳霄
耽讀玩市 寓目囊箱  易輶攸畏 屬耳垣牆
具膳飯 適口充腸 飽飫烹宰 饑厭糟糠
親戚故舊 老少異糧 妾御績紡 侍巾帷房
紈扇圓潔 銀燭煒煌  晝眠夕寐 藍筍象床
弦歌酒 接舉觴 矯手頓足 悅豫且康
嫡後嗣續 祭祀烝嘗 稽顙再拜 悚懼恐惶
箋牒簡要 顧答審詳  骸垢想浴 執熱願涼

驢騾犢特 駭躍超驤 誅斬賊盜 捕獲叛亡
布射僚丸 嵇琴阮嘯 恬筆倫紙 鈞巧任釣
釋紛利俗 並皆佳妙  毛施淑姿 工顰妍笑
年矢每催 曦暉朗耀 璇璣懸斡 晦魄環照
指薪修祜 永綏吉劭 矩步引領 俯仰廊廟
束帶矜莊 徘徊瞻眺  孤陋寡聞 愚蒙等誚
謂語助者 焉哉乎也

據說《千字文》一夜而成,周興嗣果真了得!!

 

☆ 編者言說明

這位『稽古老企鵝』想必是『春之祭』,說到的那位博古通今的老先生。編者不解所指的《 典 》典是什麼?本想刪了此篇,又覺得可惜,於是望文生義,假以《千字文》一說充數,怕是誤謬難免的吧!此記。

 

生 ︰學堂先生則講了一篇《 思 》思言︰

啃一塊唄 K TCPIP!!下

金文回

金文串

220px-Screenshot_Recursion_via_vlc

TCPIP規範之堆疊 Stack 看起來什麼呢?俯察個『』字,側寫個『』文。不論它看起來像個什麼或有沒有形狀,它是網路主宰,也是通往阡陌網大道老子第二十五章裡說︰

有物混成,天地兮,獨立不改周行不殆可以为天地。吾不知其名字之为之曰:。大曰,逝曰,遠曰

回文都能讀通的句子,有人說它源自『道德经』,故稱之為『道原』︰

第二十章 ── 俗人昭昭,我獨昏昏,俗人察察,我獨悶悶。
六十三章 ── 為无為,事无事,味无味。
八十一章 ── 信言不美,美言不信。

苏伯玉妻盘中诗

苏伯玉妻

可以清心也

那視之成串回文字之道原可有一個『讀法 』?有人不止能讀還能寫,話說蘇伯玉赴蜀日久未歸,其妻獨居長安,七巧心思制作相思盤,探盼其夫心中是否有個她?

漢代 蘇伯玉盤中詩
山樹高,鳥鳴悲。泉水深,鯉魚肥。
空倉雀,常苦飢。吏人婦,會夫稀。
出門望,見白衣。謂當是,而更非。
還入門,中心悲。北上堂,西入階。
急機絞,杼聲催。長嘆息,當語誰。
君有行,妾念之。出有日,還無期。
結中帶,長相思。君忘妾,天知之。
妾忘君,罪當治。妾有行,宜知之。
黃者金,白者玉。高者山,下者谷。
姓者蘇,字伯玉,作人才多智謀足。
家居長安身在蜀,何惜馬蹄歸不數。
羊肉千斤酒百斛,令君馬肥麥與粟。
今時人智不足與其書不能讀
當從中央周四角

作者不知蘇伯玉歸是不歸?一杯『可以清心也』之己能『千回百轉』,解者自能消酷暑之永晝!!

說道這個規範堆疊分解的說也許可以圖示如下︰

TCP-IP-STACK

上圖各色分明左說右講程式所中道其事

精讀細思后,設想作這樣『一個包裹著另一個』的事有什麼好處呢?其實這就是就層層對應中之某層而言『上中下』相關的譯解結構在上目的語言為在『其中』者分割譯解在下手段控制。這使得越往上技術細節將被越多層所包裹不必知其詳,所以網際網路應用軟體的人,通常知道 TCP/IP 界面的 API 用法就夠了,很少直接用到乙太網的實體層界面。當然愈向下的技術細節也就愈多,也許有時發生的『狀況』超出程式的預期時會很有用。在此將它綜合成一個表解吧︰

彼接點信號之發送↑↓←→
層對層
上語下
列言列
↓↑→←
列知列
下道上
層應層
此節點訊息之接收
彼上上‧目的此上上‧目的
彼上‧目的語言此上‧目的語言
轉譯彼上之目的
話成彼下之手段
←→
堆言疊語
彼文此解
←→
疊語堆言
此字彼譯
轉翻此上之目的
說解此下之手段
彼下‧手段文字此下‧手段文字
彼下下‧手段此下下‧手段

過去在《CPU 機器語言的『解譯器』》一文中談到過 Charles H. Moore 先生的 Forth 語言,這個語言提供了基本意義符號』,可以用來定義自己的『』,再用自己的字組成自己的『』,然後用這些字詞寫自己的文章!這或許是深入理解套套』語言很好的入門。作者曾想著或可強稱之為『Forth 之環』之串串成『』的字詞,能讓最高的字詞就是最初的符號,不知是行不行呢??

 

碼 ︰講 習 。輪到學長講習,一開口︰

詩就是程式,程式即是詩。

將用

一枝紅豔露凝香
兩片綠霞籬外影
陣陣落黃因風起
藍天浮雲自飄零

,控制實習 機 板上的八顆 LED ,達到寓 教 教於 樂 樂的目標,促進科技人文化的宗旨。

同學們,下面的程式使用派生『執行緒』程式庫,閱讀時可以參考

threading — Thread-based parallelism

threading – Manage concurrent threads

 

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 加載所需程式庫
import RPi.GPIO as GPIO
from time import sleep
import random
import threading
 
# 選擇 BCM 編號制
GPIO.setmode(GPIO.BCM)

# 採用負邏輯
# 名目

四位數碼管位選一 = 17
四位數碼管位選二 = 27
四位數碼管位選三 = 22
四位數碼管位選四 = 10
滅 = 關 = GPIO.HIGH
亮 = 開 = GPIO.LOW

# 藍天,取陽,五行數用坎水一,象雲氣

藍一LED = 5
藍二LED = 6
藍三LED = 13
藍四LED = 19
天時 = 25
天次 = 0

# 落黃,歸土,五行數為五

黃LED = 7
地候 = 30

# 綠霞,草木,陰,五行數用八

綠一LED = 0
綠二LED = 1

# 紅花,草木,陰,五行數用離火二

紅LED = 8
花時 = 2 * 8

# 初始態
GPIO.setup(四位數碼管位選一, GPIO.OUT, initial=關)
GPIO.setup(四位數碼管位選二, GPIO.OUT, initial=關)
GPIO.setup(四位數碼管位選三, GPIO.OUT, initial=關)
GPIO.setup(四位數碼管位選四, GPIO.OUT, initial=關)

GPIO.setup(藍一LED, GPIO.OUT, initial=滅)
GPIO.setup(藍二LED, GPIO.OUT, initial=滅)
GPIO.setup(藍三LED, GPIO.OUT, initial=滅)
GPIO.setup(藍四LED, GPIO.OUT, initial=滅)

GPIO.setup(黃LED, GPIO.OUT, initial=滅)
落黃 = GPIO.PWM(黃LED, 5)


GPIO.setup(綠一LED, GPIO.OUT, initial=滅)
GPIO.setup(綠二LED, GPIO.OUT, initial=滅)
綠霞一 = GPIO.PWM(綠一LED, 8)
綠霞二 = GPIO.PWM(綠二LED, 8)

GPIO.setup(紅LED, GPIO.OUT, initial=滅)
紅花 = GPIO.PWM(紅LED, 2)

def 一枝紅豔露凝香():
    紅花.start(50)
    sleep(16)
    紅花.stop()
    sleep(1)
    GPIO.output(紅LED,滅)

def 兩片綠霞籬外影():
    綠霞一.start(30)
    綠霞二.start(70)
    sleep(16)
    綠霞一.stop()
    綠霞二.stop()
    sleep(0.5)
    GPIO.output(綠一LED,滅)
    sleep(0.5)
    GPIO.output(綠二LED,滅)

def 陣陣落黃因風起():
    落黃.start(50)
    sleep(30)
    落黃.stop()
    sleep(0.1)
    GPIO.output(黃LED,滅)

紅花緒 = threading.Thread(name="紅花", target=一枝紅豔露凝香)
綠霞緒 = threading.Thread(name="綠霞", target=兩片綠霞籬外影)
落黃緒 = threading.Thread(name="落黃", target=陣陣落黃因風起)

紅花緒.start()
綠霞緒.start()
落黃緒.start()

# 浮雲藍天自飄零

while 天次 < 25 :
    天次 += 1
    藍天 = [亮, 亮, 亮, 亮]
    浮雲 = random.randint(0,3)
    藍天[浮雲] = 滅
    GPIO.output(藍一LED, 藍天[0])
    sleep(0.01)
    GPIO.output(藍二LED, 藍天[1])
    sleep(0.01)
    GPIO.output(藍三LED, 藍天[2])
    sleep(0.01)
    GPIO.output(藍四LED, 藍天[3])
    sleep(1)

GPIO.output(藍一LED,滅)
GPIO.output(藍二LED,滅)
GPIO.output(藍三LED,滅)
GPIO.output(藍四LED,滅)

sleep(20)

GPIO.cleanup()

# 存成 poem.py 
# sudo python3 poem.py 執行

 

行 ︰古往今來,洋洋灑灑,這堂課可算是開了眼界。☿☺

 

訊 ︰☿ 學海無涯,惟勤是岸。☺☺