2014年3月2日 星期日

室內水耕地瓜實驗記錄

實驗目標:極小化勞動力與材料之穩定型室內地瓜葉生產裝置

地瓜為大賣場購入, 推估為台農57號[1],在陰涼處放至發芽後,以竹筷貫穿一端後,置於頂端切除之6000ml與2000ml保特瓶上方,添加水至略為淹到地瓜尾端的程度。

有個使用中的一呎魚缸,就先做看看魚菜共生。具體做法是用軟膠管讓保特瓶與魚缸保持連通[2],當對魚缸添水時,大氣壓力自然會讓水補充到保特瓶,同時攜帶養份過去。假設地瓜吸收掉養份後,造成瓶中養份濃度偏低,若擴散作用[3]有運作的話,魚缸中的養份即使不靠水本身的流動也能進行傳輸, 理論上似乎可行。因為之前有幾次實驗失敗了, 這次實驗準確的開始日期已忘, 6000ml組大致上在12月底1月初左右,2000ml組再晚個一、二週。生長現狀如照片所示。

2014/02/11
6000ml組,根系已有相當規模,水中綠色是隨手扔進去的水蘊草。2000ml組沒拍。


 2014/02/28
 6000ml組,正面視圖,預定讓藤蔓沿著櫃子往下生長, 已幾乎遮蔽瓶身了。
側面視圖,根系近照
上方視圖,根系近照


2000ml組,根系也相當茂盛了,平常都塞在角落,拉出來拍照頗麻煩,這大概會是第一張與最後一張照片吧。

現狀分析:
1. 室內光線較少的關係, 葉片顏色偏淡綠色。
2. 水中觀測到未知白色偏透明蠕蟲茲生,不像[4]中的孑孓。
3. 水中根系有向上(水面)生長的趨勢 ,若不是土耕應有之自然現象的話,推測是根系尋求更多溶氧產生的現象。

觀測重點:
1. 地瓜本體消瘦後的整體生長情形。
2. 藤蔓生長後的重心偏移是否會讓瓶身傾倒。
3. 水耕方式是否會有地瓜生成。

待測想法:
1. 用黑殼蝦減少水中的小蟲茲生,並轉型為蝦菜共生, 去除對魚缸設備的依賴。

未來展望:
1.  避免可能的過量硝酸鹽[5]疑慮。


因為要極小化勞動力, 沒什麼特別的事發生就懶得拍照更新了。XD

2014/04/13
2000ml組移植至友人家,6000ml組放入六、七隻黑殼蝦轉型成蝦菜共生,並移除與魚缸的連通管。

正面視圖

側面視圖,根系近照

整體視圖

2014/05/07

正面視圖

初次採收,4.5g

 


2014/05 中旬
蝦菜共生植株狀態比魚缸連通時差了點,常有枯黃掉落的葉片,推測可能原因:
一、蝦的排泄物養份不足。二、蝦的採食動作對根造成傷害。三、室內光源較弱,被其他葉子遮蔽到的葉子照不到充足的光線。

應對措施:轉移魚缸中新繁殖約二週大的黑色球魚二隻至6000ml地瓜葉生產裝置,另丟了半片蛋殼進去充當蝦殼鈣質補充品。

2014/06/03
採收4.3g


2014/06/05
採收3.2g

2014/06/10
將6000ml地瓜葉生產裝置移至其他地方。觀測到球魚少了一隻、蝦子數量減少,水質有惡化的情況(表面有氣泡但不會破),部份葉子呈軟趴趴的狀態,尋找資料後推測是根部腐敗所致。而根部腐敗原因,應是設置約半年來累積的魚蝦排泄物、蝦脫殼、失蹤的魚蝦分解而慢性水中溶氧不足所致。用虹吸管抽出大部份堆積物後,替換了半桶的水量(之前只用自來水補充蒸散掉的水份),並修整狀態不良的枝葉。


現狀分析:
1. 早期生長的枝條葉片幾已摘取或掉光,目前發展主力為正上方的枝條。
2. 早期觀測到未知白色偏透明蠕蟲已沒有再看到過了。
3. 換水時有許多碎根被抽出,水質惡化造成根系發展狀態不好,需定期清理沉積物避免水質惡化。
4. 地瓜本體沒有明顯消瘦的感覺。
5. 目前植株的大小對重心不會造成傾倒的影響,枝條似乎已可頂替筷子,固定地瓜本體不要完全沒入水中。
6. 沒觀測到有地瓜生成,[6]也提到水田不長蕃薯。

觀測重點:
1. 地瓜本體是否有更進一步的消瘦情形。
2. 不積極加入外界營養源的情況下,只靠魚蝦菜共生能生長到什麼程度。
3. 地瓜葉生產裝置已設置約半年,目前產量12g,持續觀察能撐到什麼時候。

待做事項:
1. 補充魚蝦。
2. 缸壁有些藻類生長,試試將蘋果螺加入此系統,觀測魚蝦螺共生。

未來展望:
1. 避免可能的過量硝酸鹽[5]疑慮。
2. 使用地瓜葉較好吃的品種(ex:桃園二號)來實驗。


Reference:
[1]  地瓜品種介紹
http://www.wowsite.com.tw/shops/sweetpotato/p1.php

[2] 台灣養耕共生協會: 連通管原理與應用
http://twaquaponics.blogspot.tw/2012/06/siphon-ebb-and-flow.html

[3] 擴散作用 - 維基百科,自由的百科全書
http://zh.wikipedia.org/zh-tw/%E6%93%B4%E6%95%A3%E4%BD%9C%E7%94%A8

[4] 孑孓 - 維基百科,自由的百科全書
http://zh.wikipedia.org/zh-tw/%E5%AD%91%E5%AD%93

[5] 行政院國家科學委員會 - 科技大觀園 >文章 >科普知識 >吃得安心–蔬菜與硝酸鹽
http://www.nsc.gov.tw/scitechvista/zh-tw/Articles/C/0/1/10/1/1762.htm

[6] 請教 水田栽培番薯葉 [論壇存檔] - 花花世界 - 生活花卉園藝論壇 http://flowers.hunternet.com.tw/archive/index.php/t-190863.html

2013年9月8日 星期日

VirtualBox 全螢幕 黑屏 解決記錄

關閉顯示設置的2D加速功能。

2013年3月26日 星期二

還報什麼呢? 新聞都不新聞了


陳謨星教授2000年的「反核四」[1]一文快變成吹不熄的都市傳說了。
=========
[2]新聞節錄:
近日越洋發表萬言書,痛批台灣政府與台電未說清楚電價成本。

[3]新聞節錄:
旅美多年的能源電力學權威、
美國德州大學能源研究中心前所長陳謨星教授,
近日在臉書發表萬言書反對核四
=========
萬言書? 不是「反核四」的話請通知我,感恩。
如果新聞中的萬言書是指「反核四」的話,
西元2000年 = 近日 ?!
二家媒體,五位記者的時間軸距也太大了,
或是「顯而易見」的話題操弄呢?
還報什麼呢? 新聞都不新聞了
(唯一的新聞點,只有陳教授五月來台此事)。

台電2013年了還(才?)在回應此文[4],台灣能源亦有數篇澄清回應[5][6]。
官方回覆、澄清說明 可能會沉,但引人注目的文章卻歷久不衰。
=========
[1][2000-8-20] 陳謨星-反核四
http://www.forum-rightway.org/article/article.php?articleid=2947

[2][2013-3-25] 電力學權威 「廢核電價會漲是謊言」
http://www.appledaily.com.tw/appledaily/article/headline/20130325/34909685/

[3][2013-3-26] 陳謨星︰核電最便宜 是假象
http://www.libertytimes.com.tw/2013/new/mar/26/today-p3.htm

[4][2013-3-26] 反駁陳謨星 台電:核能發電成本確實較低
http://www.ettoday.net/news/20130326/182645.htm

[5][2013-3-12] 陳謨星質疑核四之澄清(1)
http://taiwanenergy.blogspot.tw/2013/03/1.html

[6][2013-3-15] 陳謨星質疑核四之澄清(2)
http://taiwanenergy.blogspot.tw/2013/03/2_15.html

不是變多,而是報太多了


近來的新聞,兇殺案件頻傳,
讓人不禁想問,社會究竟怎麼了?

搜尋了一下,根據行政院主計處的資料[1],
民國100年時有6百多件故意殺人案件,
平均下來,每天都發生了一起以上的殺人案,
聽來駭人,但整體數量是逐年下降的,
以此趨勢估算,今年度應該也是差不多,甚至更少。

換個角度想,可以假設並不是殺人案變多,而是報導量增加了。
案件數本身可能沒多大改變,但報導聚焦後,對人心造成的影響卻不可不慎。

[1] 01-04 刑事案件及犯罪人口指標
www.stat.gov.tw/public/data/dgbas03/bs1/handbook/other/p1-4c.xls

2012年11月27日 星期二

基於 itoa() 之 任意 位數 與 基底 的猜數字輔助程式碼 in C/C++

應學弟x1000要求,翻出這段塵封已久的小程式。
修了一下,盡可能寫的好看點,字草勿怪 XD。
使用 Code::Blocks 編譯。附上專案檔與原始碼全文。

下載連結:
https://drive.google.com/uc?id=0B9fCXesD4ByFamdVRWJ3WEliY0E&export=download

原始碼:

#include <iostream>
#include <list>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

char* itos(int number, char* ptr, int radix, int digits)
{
    char temp[0xF];
    char format[0xF];

    itoa(number, temp, radix);
    sprintf(format,"%%0%ds",digits);
    sprintf(ptr, format, temp);

    return ptr;
}

bool isDuplicate(int number, int radix, int digits)
{
    char temp[0xF];
    char format[0xF];
    char encode[0xF];

    itoa(number, temp, radix);
    sprintf(format,"%%0%ds",digits);
    sprintf(encode, format, temp);

    for(char* p=encode; '\0'!=*(p+1); ++p)
        for(char* q=p+1; '\0'!=*q; ++q)
            if(*p==*q)
                return true;

    return false;
}

char* guessHint(char* guess, char* answer, char* hint)
{
    int a,b;
    a=b=0;
    //幾A
    for(char *p=guess, *q=answer; '\0'!=*p && '\0'!=*q; ++p, ++q)
        if(*p==*q)
            ++a;
    //幾B
    for(char* p=guess; '\0'!=*p; ++p)
        for(char* q=answer; '\0'!=*q; ++q)
            if(*p==*q)
                ++b;
    b-=a;

    sprintf(hint, "%dA%dB", a, b);

    return hint;
}

bool isPossible(char* guess, char* answer, char* hint)
{
    char t_hint[0xF];
    guessHint(guess, answer, t_hint);
    //AB大小寫轉換
    hint[1]=toupper(hint[1]);
    hint[3]=toupper(hint[3]);

    return !strcmp(hint,t_hint);
}

int main()
{
    puts("Assistant of Bulls and Cows. by PcGrek@2012.11.27");
    puts("For any radix and digits.[Based on itoa()]");

    int N_RADIX, N_DIGITS;
    //輸入基數(ex:10進制)
    puts("N_RADIX?");
    scanf("%d", &N_RADIX);
    //輸入位數
    puts("N_DIGITS?");
    scanf("%d", &N_DIGITS);

    list<int> database;

    //產生所有可能解
    {
        int number=1;
        for(int digits=0; digits<N_DIGITS; ++digits)
            number*=N_RADIX;

        for(int i=0; i<number; ++i)
            //檢查非重覆才存入
            if(!isDuplicate(i, N_RADIX, N_DIGITS))
                database.push_back(i);
    }

    //輸出剩餘的可能性
    puts("Possible Answers:");
    char answer[0xF];
    for (list<int>::const_iterator ptr=database.begin(); ptr!=database.end(); ++ptr)
        printf("%s\t",itos(*ptr, answer, N_RADIX, N_DIGITS));
    puts("");

    puts("Format: number hint");
    printf("example: %s 0A%dB\n", itos( *(database.begin()), answer, N_RADIX, N_DIGITS), N_DIGITS);
    puts("Guess:");

    char guess[0xF];
    char hint[0xF];

    while(~scanf("%s %s", guess, hint))
    {
        //刪除不可能的解
        for (list<int>::iterator ptr=database.begin(); ptr!=database.end();)
            if(isPossible( guess, itos(*ptr, answer, N_RADIX, N_DIGITS), hint))
                ++ptr;
            else
                ptr=database.erase(ptr);

        //輸出剩餘的可能性
        puts("Possible Answers:");
        for (list<int>::const_iterator ptr=database.begin(); ptr!=database.end(); ++ptr)
            printf("%s\t",itos(*ptr, answer, N_RADIX, N_DIGITS));
        puts("");

        if(database.size()<=1)
            break;
        else
            puts("Guess:");
    }

    if(database.empty())
        puts("Insoluble!");
    else
        printf("Ans=%s\n", itos(*database.begin(), answer, N_RADIX, N_DIGITS) );

    system("pause");
    return 0;
}

參考資料:
[1] 猜數字相關
http://pcgrek.blogspot.tw/2010/08/blog-post.html
[2] 如何過關? 忍者傳說:上忍考試第三部:結界之卷&TP修行:森林之封印。
How to break? Assistant of Ninja Saga Jounin Exam 3/5: The Kekkai & TP Training : The Kekkai(Seal) in the Forest.
http://pcgrek.blogspot.tw/2010/08/facebook-assistant-of-ninja-saga-jounin.html

2012年2月20日 星期一

使用Filter關閉Gmail的Spam過濾

包含字詞設為 in:spam。
選擇動作設為:不要傳送至垃圾郵件。

Reference:

[1] 關閉Gmail垃圾郵件過濾機制功能 - 漪芙碎碎念~~ - udn部落格
http://blog.udn.com/richming/5830022

2012年1月12日 星期四

如何解決 “Enter password to unlock your login keyring”

在Ubuntu中修改密碼後,每次登入都會出現“Enter password to unlock your login keyring”,根據 [1] 所言,其密碼管理系統由另一個套件所管理,但修改登入密碼時,套件中的密碼不會對應修改。
所以也要一起更改,才不會出現此訊息。

Reference:
[1] How to get rid of “Enter password to unlock your login keyring” in Linux Mint Debian Edition (LMDE) | Black God
http://karuppuswamy.com/wordpress/2011/10/24/how-to-get-rid-of-%E2%80%9Center-password-to-unlock-your-login-keyring%E2%80%9D-in-linux-mint-debian-edition-lmde/