上星期 Kickass Torrents 的負責人 Artem Vaulin 被逮捕,而 Kickass Torrents 伺服器隨後被關閉。
Vaulin 是在 iTunes 上消費,然後使用相同 IP 登入 KAT 臉書帳號而被美國有關單位鎖定,蘋果隨後也高度配合調查,提供了 Vaulin 的個人資料,包含登入的 IP 紀錄與個人郵件訊息等等。

novus 發表在 痞客邦 留言(0) 人氣()

在排序固定長度的小陣列時,那些 big-O 優異的演算法往往討不到便宜,而且還很容易因為多餘的操作而拖慢速度。Sorting Network 就是為了排序固定長度的小陣列而發明的。Sorting Network 是一組事先規劃好的比較、交換操作,只要按照固定步驟操作就能將資料排序。
若一個 Sorting Network 滿足某些條件,就可以將操作步驟平行化或者實作成平行排序硬體,這是這類演算法最大的優勢,不過這不是本文的重點。即使在沒有平行化的情況下,Sorting Network 作為循序執行的排序法效能通常也不錯,至少可以狂電 Bubble、Insertion sort,而且所有的動作都是固定的,可以輕易寫成一連串無迴圈的 if-swap 串,這在「big-O不代表一切」的小資料世界裡具有實作優勢。

novus 發表在 痞客邦 留言(0) 人氣()

知道今天是什麼日子嗎?
今天是 ENIAC 發表 70 週年。發表於 1946 年 2 月 14 的 ENIAC 是世界上第一部可程式化而且 Turing complete 的通用型電子計算機。

novus 發表在 痞客邦 留言(0) 人氣()

在《胡適之先生晚年談話錄》裡,胡適在 1960 年 4 月 10 日說:
前幾天,高平子的孫兒來,他引張載的「為天地立心,為生民立命,為往聖繼絕學,為萬世開太平」四句空洞的話。我問他:「怎麼叫『為天地立心』?你解釋給我聽。」我對他說:「你的祖父是學天文的,你不應該再引這些不可解的話。」
如果胡適今日還在,會說些什麼呢?

novus 發表在 痞客邦 留言(2) 人氣()

前陣子和一位朋友聊到「現金流遊戲」,於是我查了一下,發現這是《富爸爸,窮爸爸》的相關產品。記得念大學時一位室友書櫃上有《富爸爸,窮爸爸》這本書,就借來翻了翻。看完之後不覺得有什麼特別的地方,所以沒有關注後續的系列著作,也不清楚作者生平。這裡必須說明,當時我對投資理財已經相當有興趣,不僅閱讀相關書籍,甚至在現實生活中認識了一位有點富爸爸味道的老師,但《富爸爸,窮爸爸》就是難以引起我的興趣。
我發現羅伯特.清崎的生平比起他的著作更精彩,於是整理了一下這兩週找到的資訊,寫成了本文。

novus 發表在 痞客邦 留言(5) 人氣()

資料來源: https://drops.wooyun.org/news/8864
對岸有網友發現從某些非官方管道下載的 XCode 編譯器,會在編譯出來的 APP 中植入特殊的可執行碼。目前值入的可執行碼無害,只是會蒐集一些資訊回報給託管在 Amazon  的伺服器。但這可能只是試水溫的作品,未來很有可能會出現更強的應用。
目前被感染的 XCode 編譯器似乎是來自迅雷、百度等個人網路硬碟。按原文描述,散播該後門的人混跡於開發者社群當中,只要有機會就向人提供他自己網路硬碟上的「鏡像下載點」。例如當 XCode 官方發布新版本時,他也會好心的公告給社群中的人,並且提供下載位址。又或者有人詢問如何建立開發環境時,他也會藉機提供下載位置。
讓我覺得頗為驚訝的是,已知有若干大公司出品的 App 也中招,難道這些大公司的開發團隊或協力廠商不去官網下載 toolchain,反而使用陌生私人網路硬碟的二進制檔?
有一位網友提到一個耐人尋味的現象:「还是不能相信迅雷,我是把官网上的下载URL复制到迅雷里下载的,还是中招了。」如果這是真的,那麼對岸的網路硬碟服務就不是普通的恐怖。
我對 XCode 的 toolchain 完全不了解,不過看起來它是透過替換基礎程式庫的方式感染目標程式,這個方法相對簡單很多,影響層面也比較低。我的意思是,不至於像 Ken Thompson 示範的那樣在編譯階段改寫 AST,可以再傳染給用這個編譯器建置的編譯器。
以我比較熟悉的 GCC 來說,類似的做法大概是抽換靜態連結的 libgcc 或 crt。我以前做過類似的事,不過目的只是在於產出極小的二進制檔。技術不算難,難的是誘使其他人用你的 toolchain。現實中的 Linux distro 大都有固定的套件庫,或許 MinGW 比較有機會。
比較早的 GCC 做 AST 層次的改寫比較麻煩,近期的 GCC 已經支援 plugin,我想應該會簡單很多。

novus 發表在 痞客邦 留言(0) 人氣()

差不多每隔一段時間,就會出現智力超群的天才兒童報導,這些報導通常只是丟給讀者一個意義不明確的 IQ 值,而沒有詮釋數值的意義。甚至會為了娛樂目的,任意拉幾個名人進來比較,最常見的大概是愛因斯坦,來自英國的報導大概會再加上史帝芬霍金。
愛因斯坦並沒有留存智力測驗的紀錄,事實上我們根本不知道愛因斯坦是否曾做過任何智力測驗。 根據 愛因斯坦官網 記載:「As far as we known today, Albert Einstein has never done any IQ test. Thus his IQ is unknown!」
稍微想一下就知道這是很合理的,因為在愛因斯坦年輕的時候,智力測驗的方法仍處於發展初期,既不成熟也沒有被廣泛使用。等到智力測驗方法足夠可靠時,愛因斯坦也已經到了沒必要關心這些瑣事的人生階段。給個參考時間點,愛因斯坦在 1905 年發表狹義相對論,同一年 Alfred Binet 發表了世界最早的智力測驗,測驗對象是兒童,而 Cattell 智力量表的開發者 Raymond Cattell 則在當年出生。

novus 發表在 痞客邦 留言(2) 人氣()

https://youtu.be/m1Asbi4APb0

好像是翻外篇,頗有英國古裝喜劇的感覺

novus 發表在 痞客邦 留言(0) 人氣()

最近發現一位網友做了一趟刺客教條 II 之旅,並且拍下影片和遊戲畫面作為對照
佛羅倫斯: https://youtu.be/AzEEwKcuEng
威尼斯: https://youtu.be/Z_EpzZSBWDI
羅馬: https://youtu.be/uIC1HCl0lxE
Forli: https://youtu.be/Cv8Gmp5JD3M
Monteriggioni 及 Siena: https://youtu.be/_l1KVmLXfFc
其他網友拍的 Monteriggioni:
https://youtu.be/gt7DBg-nuuM
現實中的 Monteriggioni 並不存在 Auditore 家族宅邸,不過 Auditore 宅邸外觀是取材自佛羅倫斯附近一棟真實的別墅 -- Villa di Maiano,不過內裝應該差很多。
https://en.wikipedia.org/wiki/Villa_di_Maiano
另一個我覺得也值得一提的地點,San Gimignano
https://youtu.be/yGdS0T19BbI
https://youtu.be/-lW_oSzcz2E
https://youtu.be/SC5cjkQrqyA
-----
講到這,我覺得台灣在建築方面似乎不太考慮和環境協調的程度。讓我印象最深刻的是,之前家人旅行時拍的一張照片,風景很漂亮,但是一間龐大的鐵皮屋搭配俗氣的海產店招牌就佔據畫面中央,無可避免。

novus 發表在 痞客邦 留言(0) 人氣()

前幾天讀到了 這篇文章 ,是從最近出版的《The Buddha Pill: Can Meditation Change You?》這本書當中摘錄出來的,作者是 Miguel Farias 和 Catherine Wikholm。
這篇文章主要是敘述一些冥想的副作用,希望在冥想流行風潮下提出一些反思。我沒看過原書,這裡只是將這篇文章內容略為整理,介紹給中文讀者。由於不是逐字翻譯,內容也非我熟悉的領域,如果傳達得不清楚也請讀者見諒。
作者提到他曾經在一門開放式課程講授心理學和靈性,其中有一位學員名叫 Louise,是位年近六十的女性,教授瑜伽的資歷超過 20 年。Louise 提到她曾在一次參加冥想修行過程中,察覺自身知覺發生戲劇性變化,一開始不以為意,後來竟然不自主的感覺到焦慮和恐懼。

novus 發表在 痞客邦 留言(1) 人氣()

有一位自負的工程師,自作主張在專案中使用了某個看起來很酷的第三方套件,但是自己只是一知半解,又無法尋求套件來源的官方 support,最後出了大包,於是整個團隊都必須爆肝加班幫他善後。
就算情況危急,Project leader 在 code review 時仍然非常在乎語法正確性,到了有點吹毛求疵的地步。
由於壓力甚大,有位脾氣不好的成員動不動就暴走。
幸好臨時挖角進來的成員還有兩下子,否則大概會以災難收場。

novus 發表在 痞客邦 留言(4) 人氣()

今天和同事聊到「真搞不懂為什麼某些人那麼容易中毒?」這個話題時,剛好心血來潮,順手示範了一個從前曾拿來整人用的老把戲。
這個把戲就是用 linker 把某個二進制資料嵌入到執行檔中,變成其中一個區段。當然,其中沒什麼高深的學問,只是因為很多人沒有仔細玩過 binutils,不曉得 ld 有這樣的功能。
懶得打字,直接貼程式碼。首先是 Makefile,為了和 MinGW 行為相容,以下所有的執行檔都刻意加上 exe 副檔名,對 Linux 沒影響。(提醒一下,如果要複製去玩的話,別忘了把空白改 tab)
all: wrapper.exe

wrapper.exe: payload.exe wrapper.c
gcc -c -o wrapper.o wrapper.c
ld -Ur -o payload.exe.o -b binary payload.exe
gcc -o wrapper.exe wrapper.o payload.exe.o

payload.exe: payload.c
gcc -o payload.exe -O2 -s payload.c

clean:
rm *.o *.exe

novus 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。