一條人跡罕至的道路??

宋‧蘇軾和子由澠池懷舊

人生到處知何似,應似飛鴻踏雪泥。
泥上偶然留指爪,鴻飛那復計東西。
老僧已死成新塔,壞壁無由見舊題。
往日崎嶇還記否,路上人困蹇驢嘶。

念奴嬌‧赤壁懷古

大江東去,浪淘盡、千古風流人物。
故壘西邊,人道是、三國周郎赤壁。
亂石崩雲,驚濤裂岸,捲起千堆雪。
江山如畫,一時多少豪傑。

遙想公瑾當年,小喬初嫁了,雄姿英發。
羽扇綸巾,談笑間、檣櫓灰飛煙滅。
故國神遊,多情應笑我,早生華髮。
人生如夢,一尊還酹江月。

220px-Su_shi

元‧趙孟頫繪

220px-ArthurConanDoyle_AStudyInScarlet_annual
亞瑟‧柯南‧道爾
一八八七年畢頓聖誕年刊
血字的研究
夏洛克‧福爾摩斯誕生

220px-Statue_of_Sherlock_Holmes_in_Edinburgh
最後致意,夏洛克·福爾摩斯的收場白

華生老兄!你真是多變的時代里固定不變的時刻。會刮東風的。這種風在英國還從來沒有刮過。這股風會很冷,很厲害,華生。這陣風刮來,我們好多人可能就會凋謝。但這依然是上帝的風。風暴過去後,更加純潔、更加美好、更加強大的國土將屹立在陽光之下。

Mikroskop-seibert_hg
希臘譯員

我不同意有些人把謙虛列為美德。對邏輯學家來說,一切事物應當是什麼樣就是什麼樣,對自己估價過低和誇大自己的才能一樣都是違背真理的。

歇洛克‧福爾摩斯 Sherlock Holmes 是一位由英國偵探小說家亞瑟‧柯南‧道爾 Sir Arthur Ignatius Conan Doyle 筆下所塑造的一位才華洋溢的天才偵探。福爾摩斯自稱自己是一名『諮詢偵探』,也就是說當私人 或官方偵探遇到案件困難時常會向他求教。小說裡的故事顯示他常常能夠足不出戶就立馬解決許多疑問難題,善於通過觀察、演繹、溯因推理以及犯罪科學來追根究底。據《血字研究》中華生醫生描述福爾摩斯的能力如下:

文學 ── 無
哲學 ── 無
天文學 ── 無
政治 ── 些許
植物學 ── 多種多樣。顛茄 、鴉片、毒藥等等。不知道實用園藝。
地理 ── 應用型,但不足。能一眼辨別土質。走路後,展示給我褲子上的泥土,告訴我倫敦地質的顏色和成分。
化學 ── 很多
解剖學 ── 精準,但不系統
奇情文學 ── 精通。他似乎知道各個世紀的每一個可怕的細節。
‧小提琴拉得好
‧劍術、拳擊的高手
‧對英國法典有實用知識

一九九九年底,傑勒德‧比克曼斯 Gerard Beekmans 啟始了『 Linux From Scratch雪泥鴻爪造 Linux 計畫,在『 NewsForge 』── Linux and love; the Gerard Beekmans story ──的專訪上,這麼說︰

Gerard Beekmans started Linux From Scratch, his guide to building a Linux Operating System from the bottom up, for two reasons. First, because he didn’t like the way existing distributions dictated organization and ultimately had more control over his operating system than he did. Second, because he had just moved from Holland to Toronto, Canada, to marry the woman he fell in love with online. His working papers hadn’t come through yet so he had some extra time on his hands.

網頁歡迎詞上寫到︰

Welcome to Linux From Scratch!

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own custom Linux system, entirely from source code.

Currently, the Linux From Scratch organization consists of the following subprojects:

LFS :: Linux From Scratch is the main book, the base from which all other projects are derived.
BLFS :: Beyond Linux From Scratch helps you extend your finished LFS installation into a more customized and usable system.
ALFS :: Automated Linux From Scratch provides tools for automating and managing LFS and BLFS builds.
CLFS :: Cross Linux From Scratch provides the means to cross-compile an LFS system on many types of systems.
HLFS :: Hardened Linux From Scratch focuses on building an LFS system with heightened security.
Hints :: The Hints project is a collection of documents that explain how to enhance your LFS system in ways that are not included in the LFS or BLFS books.
LiveCD :: The LiveCD project provides a CD that is useful as an LFS build host or as a general rescue CD.
Patches :: The Patches project serves as a central repository for all patches useful to an LFS user.

現今也有人展開了『 Welcome to PiLFS! ── Linux From Scratch on the Raspberry Pi ── 』想法!!新的一年已經來到,是否接受邀請,踏上 一條人跡罕至的道路??

 

 

 

逆向工程?!

於此引自 WiKi 『逆向工程Reverse engineering 的詞條所說︰

又稱『反向工程』 back engineering ,是一種技術過程,即對一專案標產品進行逆向分析及研究,從而演繹並得出該產品的處理流程、組織結構、功能效能規格等設計要素,以製作出功能相近,但又不完全一樣的產品。逆向工程源於商業及軍事領域中的硬體分析。其主要目的是,在不能輕易獲得必要的生產資訊下,直接從成品的分析,推匯出產品的設計原理。

逆向工程可能會被誤認為是對智慧財產權的嚴重侵害,但是在實際應用上,反而可能會保護智慧財產權所有者。例如在積體電路領域,如果懷疑某公司侵犯智慧財產權,可以用逆向工程技術來尋找證據。

在《【Sonic π】電路學之補充《三》》一文中,我們談到了從『專利權』到『著作權』的歷史因由︰

現今的世界又拓展到了『著作權』,這不可不說是一把『雙面刃』,好或不好但看社會之『世道人心』的啊!在那個沒有『專利保護』的『祖傳秘方』年代,也許有人會因為『知識無價』和『智慧共享』破解所謂的『巧妙』,這樣的人在今天就成了標準『傻鳥』,豈有不先『申請專利』後,再談公開的『道理』呢!果真如俗語所說的『成也蕭何,敗也蕭何』的啊!!

社會中人的『分工』和『合作』,是所有人的『福祉』與『共享』,一個『誰多誰寡』以及『勞心勞力』的『計價』和『分配』問題,不知還要再『繼續』爭議幾千年呢!!

作者以為這是必須省思的問題,試想人們認為『科學』屬於全人類應當彼此『分享』,難道說人類的『科學』就不是『大自然』的『逆向工程』??或許我們真的是需要『公平哲學』︰

‧《物理哲學·下中

‧《物理哲學·下中………

‧《物理哲學·下中…………

‧《物理哲學·下中+‧

 

眼下就讓我們探探『 vc4asm project 』── VC4ASM – macro assembler for Broadcom VideoCore IV aka Raspberry Pi GPU ── 的『 Broadcom VideoCore IV 』  GPU 『反向工程』專案已經取得之不容易的成果吧!!

# 保存原有 apt-sources
more /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rp
i
…

# 將 apt-sources 修改成
more /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rp
i
sudo apt-get update

# 安裝 4.9 版 gcc 與 g++
sudo apt-get install gcc-4.9 g++-4.9

# 還原原有 apt-sources
more /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rp
i
…

# 編譯
cd ~
wget http://maazl.de/project/vc4asm/vc4asm.tar.bz2
tar xf vc4asm.tar.bz2

# 修改 ~/vc4asm/src/Makefile
FLAGS    = -Wall -std=c++11 -g
CPPFLAGS = -c
LDFLAGS  =
LIBS     = -lm -lstdc++
CC  = g++-4.9
LD  = gcc-4.9
EXE =
OBJ = .o

make

# 編譯後程式位於 ~/vc4asm/bin
~/vc4asm/bin $ ./vc4asm
vc4asm V0.1.4
Usage: vc4asm [-o <bin-output>] [-{c|C} <c-output>] [-V] <qasm-file(s)>
 -o<file> Binary output file.
 -c<file> C output file with trailing ','.
 -C<file> C output file withOUT trailing ','.
 -V       Run instruction verifier and print warnings about suspicious code.

~/vc4asm/bin $ ./vc4dis
vc4dis V0.1
Usage: vc4dis [-x[32|64]] [-M] [-F] [-v] [-b <addr>] [-o <out_file>] [-V] <code_file(s)>
 -x    Hexadecimal input, comma separated (rather than binary).
 -x64  64 bit formatted hexadecimal input.
 -M    Do not print simple ALU instructions and load immediate as mov.
 -F    Print floating point constants as hexadecimal.
 -v    Binary code and offset as comment behind each line.
 -v2   Write internal instruction field as comment behind every line also.
 -b<addr> base address (only for output).
 -o<file> Write output to this file rather than stdout.
 -V    Run instruction verifier and print warnings about suspicious code.

 

 

樹莓派 A/A+ 的秘境??

Qiu_Ying_Jade_Cave_Fairy_Land

《玉洞仙源圖》
明代仇英繪

陶淵明‧桃花源詩

嬴氏亂天紀,賢者避其世
黃綺之商山,伊人亦云逝
往跡浸復湮,來逕遂蕪廢
相命肆農耕,日入從所憩
桑竹垂餘蔭,菽稷隨時藝。
春蠶收長絲,秋熟靡王稅
荒路曖交通,雞犬亙鳴吠
俎豆猶古法,衣裳無新製。
童孺縱行歌,斑白歡游詣
草榮識節和,木衰知風厲
雖無紀歷志,四時自成歲
怡然有餘樂,於何勞智慧
奇蹤隱五百,一朝敞神界。
淳薄既異源,旋復還幽蔽
借問游方士,焉測塵囂外
願言躡輕風,高舉尋吾契。

傳聞說『未公開的特色Undocumented feature

“It’s not a bug; it’s an undocumented feature!”

一詞來自早年 Microsoft 對於 Windows Bugs 的辯解。由於作者不知其詳,所以無法評論 WiKi 上的說法。僅就自身經驗上講︰ Intel 808x CPU 有未公開的指令, Microsoft DOS 有後門, Nintendo NES 遊戲有隱藏關卡,…… 卻彷彿是事實,或許說總有原因的吧!

假使你可以將『樹莓派 A/A+』變成『 SD 卡讀寫機』?那麼這是一種『特色』的嗎?如果是,為什麼『樹莓派 B/B+』又不行這麼作的呢??

220px-USB_OTG_Logo.svg
不期而遇
期而不遇

自然是事出有因,當作者玩『 Compute Module 』時,就產生了『疑惑』,因曾『谷歌』天下說法,停止於『論壇討論』,本早已忘卻,近日為『 SD 卡讀寫機』壞了,一時情急方又記起此事,『驗證』之下果然 OK,在此特饗讀者。秘方︰A ⊕ B = ☆

得將之接於 USB Port 開機呦!!

 

# 開機時 dmesg
[  325.613553] usb 1-1.3: new full-speed USB device number 8 using dwc_otg
[  325.743695] usb 1-1.3: New USB device found, idVendor=0a5c, idProduct=2763
[  325.743732] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  325.743747] usb 1-1.3: Product: BCM2708 Boot
[  325.743761] usb 1-1.3: Manufacturer: Broadcom

# 使用祕笈程式
pi@raspberrypi ~ $ sudo rpiboot
Waiting for BCM2835 ...
Found serial = 0: writing file /usr/share/rpiboot/usbbootcode.bin
Waiting for BCM2835 ...
Found serial = 1: writing file /usr/share/rpiboot/msd.elf

# 變成 SD 卡讀寫機
[  411.387073] usb 1-1.3: USB disconnect, device number 8
[  411.625027] usb 1-1.3: new high-speed USB device number 9 using dwc_otg
[  411.726194] usb 1-1.3: New USB device found, idVendor=0a5c, idProduct=2763
[  411.726233] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=1
[  411.726252] usb 1-1.3: Product: Raspberry Pi
[  411.726267] usb 1-1.3: Manufacturer: Broadcom
[  411.726282] usb 1-1.3: SerialNumber: Broadcom
[  411.899098] usb 1-1.3: USB disconnect, device number 9
[  412.904956] usb 1-1.3: new high-speed USB device number 10 using dwc_otg
[  413.006152] usb 1-1.3: New USB device found, idVendor=0a5c, idProduct=0001
[  413.006192] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[  413.006208] usb 1-1.3: Product: Compute Module
[  413.006223] usb 1-1.3: Manufacturer: Raspberry Pi
[  413.006235] usb 1-1.3: SerialNumber: 0001
[  413.013771] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[  413.020648] scsi0 : usb-storage 1-1.3:1.0
[  414.016202] scsi 0:0:0:0: Direct-Access     Raspberr y PiMass storage      PQ: 0 ANSI: 2
[  414.019761] sd 0:0:0:0: [sda] 15523840 512-byte logical blocks: (7.94 GB/7.40 GiB)
[  414.022586] sd 0:0:0:0: [sda] Write Protect is off
[  414.022629] sd 0:0:0:0: [sda] Mode Sense: 0f 00 00 00
[  414.023232] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  414.030110]  sda: sda1
[  414.033888] sd 0:0:0:0: [sda] Attached SCSI removable disk
[  414.092978] sd 0:0:0:0: Attached scsi generic sg0 type 0
[  414.934585] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

#編譯安裝
git clone --depth=1 https://github.com/raspberrypi/tools
cd tools/usbboot/
make
sudo make install

 

有圖為證︰

2015-01-18-143039_943x653_scrot

 

── 發現之快樂是單純的樂趣,何不樂在其中?? ──

 

 

 

因材施教與角色扮演!?

論語‧先進篇

子路問:聞斯行諸?子曰:有父兄在,如之何其聞斯行之?冉有問:聞斯行諸?子曰:聞斯行之。公西華曰:由也問聞斯行諸,子曰有父兄在。求也問聞斯行諸,子曰聞斯行之。赤也惑,敢問。子曰:求也退,故進之。由也兼人,故退之。

論語‧公冶長
顏淵、季路侍。子曰:『盍各言爾志?』子路曰:『願車馬、衣輕裘,與朋友共。敝之而無憾。』顏淵曰:『願無伐善,無施勞。』子路曰:『願聞子之志。』子曰:『老者安之,朋友信之,少者懷之。』

面對『知識爆炸』,或許早已不是該不該『 redesign education 』的問題了。然而多年來人們期望『電腦輔助教學』 CAI 能夠成為『魔法工具』,真的可以解決『科技躍進』引起的『社會變遷』?要是缺乏理念與整體規劃,怕會十年之病五年之艾難以根治的吧!加拿大有一名教師楊恩 Shawn Young 為了促進學生的『學習慾望』誕生了『 Classcraft 』── Ideas Out There  ── 『角色扮演』以及『團隊合作』遊戲學習法。引領人們深思『教材』、『施教』和『學習』間的『活潑』互動方式,達到『寓教於樂』的目的。

 

 

── 對寫程式有興趣的學者,請進入 Classcraft Coding 的世界 ──

 

 

 

音樂播放器原型機之《可能性》 Just for Fun

200px-Just_for_Fun_cover

二零零一年,林納斯‧托瓦茲 Linus Torvalds ── Linux kernel 的創建者 ── 出版了一本他與大衛‧戴爾蒙德 David Diamond 聯合撰寫的幽默自傳《只為歡樂Just for Fun: The Story of an Accidental Revolutionary 。這本書提出了『 Linus 法則 the Law of Linus that all evolution contributed by humanity starts for survival, sustains socially and entertains at last.

在此特引自『更快樂 5 堂課』︰塔爾‧班夏哈 Tal Ben-Shahar PhD 擁有哈佛大學組織行為學博士學位,在哈佛開設的『正向心理學』及『領導心理學』,名列哈佛史上最受歡迎的課程;每學期選修人數達 1400 多人,超過學生總數的 1/4,被譽為最受歡迎的人生導師。他的課程上傳成為哈佛網路公開課程『幸福課』,全球瘋狂下載。

甲骨文幸

甲骨文福

如果一個人乘著『想像之翼』,天地間就有『無限可能』,這就是《玩樹莓派, 自得其樂》的精神。不為著『懷舊』與『復古』,只為著『單純的樂趣』,回味那些古典遊戲曾經帶來的歡笑︰

一、 RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi

二、 PiPlay