星期四, 1月 09, 2014

RenderScript with AndroidStudio

=== 中文版 ===

我只是想 log 一些用 Android Studio 寫 RenderScript 的 gotcha...

  1. 如果你把 <script-name>.rs 放在跟 .java 同一個目錄,grandle 是不會幫你編的... 你得在跟 src、res 同一層開一個新的資料夾叫「rs」,然後把你的 <script-name>.rs 丟進裡面。
  2. 如果你在執行的時候,出現「Invalid RS info file /data/data/<package>/cache/<package>/<script-name>.o.info! (No such file or directory)」,表示你使用的 build-tool 高過執行環境的 API Level。請改用更低的 build-tool...

    具體作法,是去 build.grandle 裡面,把 buildToolsVersion 改低,例如改成 17...(記得要先去 SDK Manager 裡面裝上更低版本的 build tool。)

=== English Version ===

I just want to log some RenderScript gotcha's while developing with Android Studio.

  1. If you just dropped your <script-name>.rs within the same directory with your .java file, grandle won't compile it for you... You've got to make a new directory aloneside src and res, named "rs", and throw your <script-name>.rs over there.
  2. If you encounter "Invalid RS info file /data/data/<package>/cache/<package>/<script-name>.o.info! (No such file or directory)", that means your build-tool is too new to the environment API level. Switch to a lower version build-tool would make it run.

    In practice, edit build.grandle, switch to a lower "buildToolsVersion", for example 17... (don't forget to install a lower version build-tool with SDK Manager first.)

星期一, 1月 06, 2014

這不是姬兮兮

武漢女大生用數學符號作三行情詩 男友也驚呆

大陸中心/綜合報導

武漢長江工商學院大一女生吳華傑日前用數學符號「-∞」、「+∞」和幾個簡單的英文單詞向男友表達愛意,被同學們稱讚「高端、大氣、上檔次」,並獲得該校舉辦的「三行情詩」徵文比賽一等獎。

《楚天金報》報導,吳華傑是該校經濟與商務外語學院學生,頗喜歡研究、創作五言絕句和七言律詩等古詩詞;在一次上數學課時,她突然想到可以結合數學演算法,為男友寫一首情詩,就開始她的創作之旅:「INPUT (-∞,+∞),IF(-∞THEN+∞],ELSE+∞)。」

吳華傑說,「INPUT是數學語言中輸入的意思,-∞和+∞分別指負無窮和正無窮。第一行詩是指愛情開始時,雙方都在付出。IF是條件陳述式如果的意思,THEN是然後的意思,第二行詩指如果有一方背叛,負無窮付出,另一方就『]』(閉區間符號,特指停止)正無窮的付出。ELSE是否則的意思,第三行詩指彼此如果沒有背叛,就會為對方付出正無窮的愛。這首詩是想告訴男友,你若不離不棄,我定生死相依。」

「這首情詩把數學語言與文學相結合,表達雙方不離不棄的陪伴,牽著彼此的手走到生命的盡頭之意。高端大氣上檔次,一般人真寫不來!」該校清水石文學社代表許黎稱讚道。

吳華傑說,她和男友在讀高中時相識,因當時怕耽誤學業,她一直沒有接受男友的示愛,直至上大學後,兩人才確立戀愛關係。目前,她的男友正在創業,當看到這首情詩時,男友也驚呆了。
  1. 這可能不能算是數學、甚至不能算是程式碼,恐怕只能算是 psuedo-code...
  2. 括號沒對齊...

這讓我想起 PerlYuYanWikipedia 頁面居然被移除了 = =)... 所以寫了一段:

#!/usr/bin/perl
use Lingua::Sinica::PerlYuYan;

#用籌兮 用嚴兮 截起吾純心
#賦小入大合 兮註在君意
#印道我心哉 點起起純心
#等零倘壹合 歟道有情哉
#然曰無情矣 合兮井底空

翻譯...

#!/usr/bin/perl
use Lingua::Sinica::PerlYuYan;

use integer; use strict; chomp (my integer $D
= <stdin>); #在君意
print "我心" . (($D
== 0 xor 1) ? "有情"
: '無情'); #井底空

可是這首詩念一念,除了有點情色部分,好像被甩的話就要抓對方去跳井。

要算計、要嚴格,取一顆純淨的心。
把小的東西放進大的裡面(!?),兩個人情投意合。
在我心上相印,點綴純潔的心。
將 0 與 1 合在一起(!?),是有情還是無情?一起跳進空的井底。

我好無聊 XD