2009年6月18日

用Google Fusion Tables當免費資料庫 儲存大量中文訊息

相信Google的信徒們 應該都知道Google Fusion Tables這個東西

這是一個可以讓你當作免費資料庫使用的一個Google服務
小量使用時 你可能不覺得有什麼不妥
大量使用時 你一定會需要把手邊的資料上傳
他支援 CSV 格式以及 XLS格式
而大部分的人 想當然爾 就把自己已有的資料庫export成CSV格式 然後就上傳了
這平常沒什麼問題 不過如果內容有中文 你就噴了

這篇 是教你怎麼處理這個問題

基本上 如果你的資料有Unicode的話(什麼語言都行),你得把資料存成Unicode格式,然後用Excel打開,存成XLS檔,然後傳上Google Fusion Tables,就行了。

這裡簡單列出幾個初學者不知道怎麼搞的地方:
1. 如何存成Unicode? 你用xp內附的wordpad打開你的CSV檔(或Tab分隔檔也行),如果看得到中文你已經成功一半了!然後選擇存檔,檔案格式選unicode,就結束了。恭喜你有個Unicode的CSV檔案!
2. 這樣子 當你用Excel打開那個CSV檔,Excel就會自動讀出unicode的中文資料,這時 存成XLS檔(Excel格式),就完工了。
3, 舊版的Excel一次只能讀入65535筆資料,而Google又不允許你分多次上傳,所以如果筆數過多 請換新版Excel.

之後就...Upload到Google Fusion Tables...ㄜ...這大家應該都沒啥問題...

2009年5月6日

3D版 殺很大 瑤瑤 騎馬機 宅男桌上版 製造教學

最近殺很大的瑤瑤很夯 打算來做一個3D版的瑤瑤 騎在騎馬機上 讓宅男能把她放在桌上 以多種方式陪伴著宅男 
模型大致分為 1. 瑤瑤 2. 頭 3. 臉 4.身材 5.服裝
1. 瑤瑤要有個殺很大騎馬的姿勢 還需要有騎馬搖動的動態姿勢 和奶振的技術資料 
2. 頭 當然要有個很萌很可愛的髮型
3. 臉 當然要出自那又萌又正統的瑤瑤的照片嘍 作法請看這篇
4. 身材其實算簡單的 就是弄個標準辣妹身材 差不到哪去的
5. 服裝 用這種的去改
不過 就在我三月底做好的時候 瑤瑤就只剩下個名字了 挖ㄌㄟ
最近在清硬碟的時候 想說 既然做好了 我還是貼出教學好了 反正工都做了
下面是成果(點擊看大圖)





上面模型裡面的臉 是用網路上找到的這張 
然後依照這篇人臉2D轉3D教學就可以得到3D人臉模型
我加上了一匹馬 比較好調姿勢,在照這篇製造 瑤瑤 殺很大 3D 虛擬實境版實用使用時 請自行把馬換成別的東西

2009年4月29日

我手機的特異功能 (無線監視器篇)

+ = ?
VNC server on iPhone + video recorder on iPhone = ?

這篇是給iPhone的使用者的
Windows Mobile 的使用者請看這篇:拿手機當無線webcam使用
Windows Mobile 的使用者很久前就可以把手機當無線webcam使用
這使得iPhone的使用者...感覺好像略遜一籌
不過 現在iPhone也有一樣的功能了
iPhone的使用者首先必須要幫他的手機越獄(jailbreak)一下
並安裝Cydia (越獄過的朋友應該不陌生)
然後 最重要的來了 用Cydia
幫你的iPhone安裝上 Veency iPhone VNC Server
安裝好之後 你就可以用VNC client
連上你iPhone上面的VNC server 遠端操控你的iPhone
噢 用VNC client連到你iPhone的時候 需要輸入你iPhone的IP address
選Settings/Wi-Fi Networks 按你無線網路連線右邊的藍色箭頭
就可以看到你iPhone的IP位址了
到這個步驟 你已經可以在你的電腦上看到iPhone的畫面
接著 你可以透過安裝在iPhone上的Cycorder之類的錄影軟體
即時的在電腦上看到iPhone上Webcam看到的畫面
切記!
1. Jailbreak 會導致你失去iPhone的售後服務
2. 把你的iPhone放在公園偷看別人偷情的同時 別忘了你的iPhone手機很容易被偷!
3. 別用這招偷看裙下風光 手機很容易被踩爛

2009年4月28日

我手機的特異功能 (遠端操控電腦篇)


鄉民們如果有看王牌大間諜的話 有一次黃先生臭屁他可以透過手機取得他電腦上的音樂和檔案
其實 你不只可以跟他一樣厲害臭屁
你不只可以取得電腦上的音樂和檔案,你要透過手機操作你的電腦也可以喔!

這裡提供兩種方法 各有優缺點
WM6 Remote Desktop
優點: 可把聲音都傳到PDA上
缺點: 無法方便的放大縮小(zoom), 只能直接用設定解析度的方式達成

.Net VNC Viewer
優點: 可以直接於server端或client端放大縮小 (例如:電腦全螢幕縮小到手機全螢幕 但是在電腦上還是1280*1024)
缺點: 無聲音


只要手機在身邊 就像電腦在身邊一樣方便喔
不過如果你只是要上上網 其實用另一個比較快 請看讓你手機上網時的CPU比電腦快這篇

iPhone 的使用者 請看這一篇

2009年4月21日

我手機的特異功能 (聲納篇)

雖然大部分的人 可能用不到這個功能
不過 有看過 The Dark Knight 蝙蝠俠 黑暗騎士 那部電影的話 
可能會記得 他裡面有用到全市的市民的手機 發出聲納 來探測敵人位置

當然 電影是有點扯啦 不過 她們通常不是憑空杜撰 而是誇大而已
所以呢 既然電影掰得出來 我手機就要做得到 才值得稱得上是我的手機
就算做不到3D的看到影像 也該讓我看到普通聲納的功能吧
首先 Download 一個軟體 Sonar CE
安裝好之後 因為每支手機的性能不太一樣
建議先從簡單的功能玩起
選 Tests - Search offset, 他會先幫你找出必要的參數
然後對著目標 按最左邊的icon 幾次, 你應該就會開始看到聲納傳回來的結果
我找了幾個空間試了一下 貼滿磁磚的廁所 測試的結果還蠻符合理論和邏輯的 
發出一聲超音波 就已經準確的偵測出天花板、地板、和牆壁的距離
至於我的房間 可能東西太雜亂 聲波的反射不太好 就偵測不太出來了
當然 要產生電影裡的立體3D效果 理論上需要個計算能力比較強的電腦
以及三支以上的手機 才有辦法算得出來 這我就先不在這討論了
有興趣的人夠多的話 我再貼吧

2009年3月26日

用Google出的螢幕保護程式 當遠距離數位像框



$$$ $$$ $$$
Free Free Free


不知道有多少人用過CEIVA 這是一個很早期的數位像框 可以讓你透過網路接收照片
比如說 你的父母沒有跟你住一起 不過你希望他們能夠沒事就看到你最新的相片
七八年前 你可能要買一個CEIVA, 你把照片post到網路上的某個地方, 你父母每天就可以看到最新的照片了
現在 如果你父母有自己的電腦,  你啥都不必買 幫她們換上個Google的 screensaver 就行了

安裝好後 選擇你照片來源要用 "Photo feeds" 然後加入像下面這行的url
http://picasaweb.google.com/data/feed/base/user/markchiang/albumid/5232388490483459233?alt=rss&kind=photo&hl=en_US
就可以了
其實裡面有個選項為Picasa Web Albums, 為什麼我不直接選那個呢 因為 選Photo feeds我可以直接指定一個album給某人看 而不用給她們看我全部的照片 呵呵

2009年3月18日

製造 瑤瑤 殺很大 3D 虛擬實境版

有看過上面這個Video嗎? 3D美少女在你掌心跳舞
其實她是用ARToolKit(擴增實境工具)做出來的
做出來之後 只要webcam對準那個你設計好的圖案 美少女就會站在那圖案上面了 很簡單喔!

我們從最簡單的版本開始介紹

Flash版
http://aidn.papiness.com/miku/Miku3D_FL.html
你只要有印表機和webcam 就可以了
在上面的網頁 你用印表機印出一個圖案
然後 按進去主網頁 允許flash使用你的webcam
然後把webcam對準 那個你剛印出來的圖案 就可以看到3D美女站在圖案上了
不過上面那個是非常陽春的版本
剛開始可能需要練習一下 光線, 角度 等
如果你有興趣 接下來可以挑戰下面的這些版本

自行創作版
http://www.hitlabnz.org/wiki/BuildAR
你可以自己設計你的圖案

3D model直接download版
http://pseudospace.blogspot.com/2008/12/figma-mirai-meets-augmented-reality.html

手機版
http://nyatla.jp/nyartoolkit/wiki/index.php?NyARToolkitCS/MobileNyARWithMiku
如果你會自己寫程式 那可以試試看下面這些程式庫
Library
http://www.hitl.washington.edu/artoolkit/download/
Java, C#, C++ Library
http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage

最後 有沒有人可以幫我做個動態的 "殺很大的3D model" (要包含瑤瑤和騎馬機喔!)
(請跟 markchiang.blogspot.com 的部落格格主聯絡)
這樣我們這些宅男 就可以每個人桌上都有瑤瑤每天搖給我們看了 呵呵
3D model不一定要包含騎馬機啦我把貼紙貼在手上 她在我手上搖也行 呵呵...(流口水中)

2009年3月11日

用2D人臉照片 造 3D face model

最近殺很大的瑤瑤很夯 打算來做一個3D版的瑤瑤 騎在騎馬機上 
讓宅男能把她放在桌上 以多種方式陪伴著宅男 
(放在桌上? 聽不懂我在說啥? 放心啦 再過幾天你們就會懂了)

所以呢 第一步 就是需要一個3D的瑤瑤 至於要怎麼做呢 我把她分成幾個部分
身體 姿勢 臉 動作 ...

而這篇 就是介紹臉的部分
網路上有很多瑤瑤的照片 我們可以用下面的工具 直接把照片轉成3D model

1.
http://www.looxis.com/en/k75.Downloads_Bits-and-Bytes-to-download.htm
2.
http://www.photomodeler.com/products/scanner/modeling.htm
http://www.mattsmith.allegronetwork.com/photomodeler/pmlt31a.exe


3. face in poser
http://www.video-tutes.com/player/player.php?id=1564&T_id=16


2009年3月10日

讓你手機上網時的CPU比電腦快


現在的手機大多可以上網吧? 有人還在用上古時代的手機嗎?
你有沒有測過你的手機的CPU有多快?

如果你的手機可以上網 又可以看Java Applet的話
只要連上這個網頁就可以測CPU速度了
結果是...你的手機CPU龜到不能再龜?
換個瀏覽器試試看! What? 你說啥?
可能有不少人用過 SkyFire, 但是可能沒幾個人知道 他是利用類似Remote Desktop遠端桌面的方式 讓你在手機上用他們的電腦
所以 你用skyfire連剛剛那個CPU測速網站 測到的會是skyfire她們電腦的速度
這代表什麼? 你可以用skyfire她們電腦的CPU幫你算東西 完全免費
只要把要做的運算 寫成可以在Client端跑的Java Applet或Flash等的程式
然後就派出SkyFire瀏覽器(or SkyFire電腦)上去算
免費的Parallel Computing平行運算電腦, 耶!

2009年2月22日

幫你的數位相機換ROM 增加特異功能

幫手機開工模(工程模式), 幫PDA換ROM, 或者 幫router換ROM 已經不稀奇了

幫你的DSLR單眼數位相機換個ROM吧!

讓你的單眼數位相機可以錄影?
http://hackaday.com/2008/09/23/canon-40d-hacked-to-record-movies/



或者是看到煙火或閃電自動按下快門?
http://chdk.setepontos.com/index.php/topic,2867.0.html


水滴快速攝影...等等
別怕 這比幫手機, PDA, 或router 換ROM 都還要簡單
因為你只要把這個ROM存在記憶卡裡面 然後叫你的單眼像機用記憶卡開機就行了
哪天不想要這些新功能的時候 叫像機用像機裡面的OS開機就行了
快去幫你的DSLR單眼數位相機換個ROM吧!
http://chdk.wikia.com/wiki/CHDK

2009年1月30日

武俠小說裡的生物科技(一見鍾情藥水/下蠱篇)


武俠小說裡 常常聽到那種一見鍾情藥水

女主角喝下後 會愛上服藥後第一眼見到的男性
或男主角喝下後 會愛上服藥後第一眼見到的女性
或者常看倪匡小說的話 你對 下蠱 降頭 合和 這些玩意一定不陌生
你在武俠小說裡面看了那麼多人都會輕功 但是你多半不相信真實世界裡面有人會這種功夫
但是 一見鍾情藥水 和 下蠱 降頭 這些玩意 以現在的生物科技來看 科學家倒是有類似的技術
我們已經有技術可以用病毒把花心田鼠變成痴情漢
所以技術上 我們可以想辦法取得你那花心的男朋友的DNA(從他的枕頭或梳子上), 做出專門只會感染你男朋友的病毒, 然後這個一見鍾情藥水給他喝了之後, V1aR基因就會轉植到你男朋友的體內, 讓他從此只愛你一個.

當然 既然這是病毒 而且也只會在他一個人身上發作, 並不一定要用喝的喔! 打噴嚏, 親嘴, 體液, 或者感染他週邊的人 都可以對他有效喔!
當然 其他那種幾天沒回來報到就會七孔流血那種下蠱技術 也就沒有多難了
實驗是為了要控制基因改造的產品(如病毒)不會不小心散佈出去 有很簡單的方法可以預防
基本原理是 讓那個基因改造的病毒缺乏某種功能 比如說 無法製造某種重要蛋白質 而只有培養基裡面會放那種蛋白質 這樣那種病毒就只能活在那個培養基裡面
利用同樣的原理 你在你的身上種下一種病毒(只會長期感染你 其他人只會短期感染 但只會在他身上製作那種蛋白質) 然後在他身上種下另一種病毒 使他無法製作出一種重要的蛋白質.
這樣 如果他不在你身邊 他就無法製造出那種蛋白質 必須一被子待再你身邊 要不然就會七孔流血身亡
至於這種新聞就有點遜了
噢 對了 七孔流血 其實沒啥稀奇的啦
缺乏凝血因子 就流血不止了啦

2009年1月20日

武俠小說裡的生物科技(十八銅人篇)

看過武俠小說的人 一定都知道那傳說中的十八銅人
滿身肌肉 超強的體力
你能想像十八銅狗嗎?
神力肌肉狗 (參考資料)

神力肌肉牛 (參考資料)



神力肌肉小朋友(參考資料)


肌肉鼠(參考資料)

噢 忘了說 她們其實是基因裡面有個人造的缺陷
她們完全不需要運動 就可以有這樣的肌肉
所以 某些奧運國家、以及全身肌肉的健美先生 難免覬覦這項技術

2009年1月14日

小叮噹裡的生物科技(聰明帽篇)

很多人都想要小叮噹裡的聰明帽 平時不需要努力 要做作業的時候 只要帶上聰明帽 就變聰明了
科學家們 發明了一種類似的技術
根據某派的科學家的理論 其實我們的頭腦 在專心的時候 其實是關閉其他區域的運作
比如說 你專心的算數學的時候 如果你可以關閉你的聽覺 不要被外界打擾 你就會算得很快
很多自閉症兒童 有另類的天賦 (算數超強 或者繪畫天賦) 也是因為其他的部分被關閉了

所以呢 這些科學家 就從這方面下手 來製造聰明帽
此帽會發出一種電磁脈衝 (transcranial magnetic stimulation)
這種電磁脈衝 會關閉你大腦某區域的運作 所以你就可以發揮出深藏在你腦袋裡面的天份
直接算出某年的幾月幾號是星期幾 或者 畫出像梵谷般的大作 不過記得不要割掉自己的耳朵

除此之外 此技術還可以有很多用法 比如說 讓你只會唱歌 不會講話 (所有的話都只會用唱的 你就是講不出來)

參考資料
http://www.dailymail.co.uk/sciencetech/article-1064431/The-thinking-cap-unlock-inner-genius-boost-creativity.html
http://science.howstuffworks.com/thinking-cap.htm
http://www.technovelgy.com/ct/Science-Fiction-News.asp?NewsNum=1902

2009年1月7日

小叮噹裡的生物科技(觀夢器篇)



哆啦A夢的道具列表中出現很多錄夢機, 觀夢器, 夢境放映機 之類的東西
我們也快要有這樣的技術了
我們用電腦分析腦中血管的流量(fMRI) 可大約看出眼睛看到的圖形
上圖為給患者看neuron這六個英文字母時, 電腦得出的影像
原文
http://www.pinktentacle.com/2008/12/scientists-extract-images-directly-from-brain/
此研究為日本研究員研究出來的成果 我總覺得跟小叮噹這漫畫有關

2008年11月12日

XP如何使用4GB記憶體

很多人開開心心的買了4GB記憶體 裝上去後 才發現只有用到3GB~3.5GB的記憶體
不過那是XP先天上的限制啦
試過/PAE 的選項 不過沒什麼用 聽說SP2之後就沒用了 不過現在有人還在用SP1的嗎?
所以最後我選擇用ramdisk的辦法 把那神奇消失不見的1GB拿來當ramdisk 然後把pagefile和temp file放在上面

3G RAM + 1G ramdisk
/noexecute=optin /fastdetect
Ramdisk as fixed media, and put 512MB pagefile on it, because if I put 1GB, it will keep warnning the disk space left is too low.
Remembor to execute the register file in ramdisk directory again if you modify /3GB or /PAE option in boot.ini

2008年10月18日

用手機的webcam讀取條碼

qrcode
純粹想看看目前的 bar code reader 大概做得怎樣
我想找的是 不需要額外的硬體 直接拿手機裡面的webcam來讀bar code的軟體
市面上有很多套 不過下面是可以在我手機(AT&T tylt, 台灣好像叫HTC tytn II)上work的
一套是made in taiwan的QuickMark
一套是i-nigma
兩套安裝過程中都有點怪怪的 不過最後都可以work
QuickMark安裝一直不結束 只好重開機 結果發現已經裝好了
i-nigma裝第一次跑的時候一直無法讀取webcam影像 結果update之後就好了

功能上都差不多
兩套都可以掃瞄 Datamatrix 和 QR code 這兩種二維條碼
QuickMark可以吃
URL, 純文字, 電話, SMS
i-nigma可以吃多一點:
URL, 純文字, 電話, SMS, 聯絡人資料
吃到URL會幫你開瀏覽器
吃到電話會問妳要不要撥號
吃到SMS會問妳要不要傳簡訊
吃到聯絡人會幫你加到電話簿裡面

兩個QR code generator
http://qrcode.kaywa.com/
http://nfg.2y.net/system/qrcodegen.php

我也試了 Kaywa 和 neoreader 沒辦法在我手機上用

看說明書QuickMark應該還可以讀一維條碼和PDF417 不過我一直玩不出來 連選項都跟Q&A裡面寫的不一樣

其實我比較想要的是讀一維的條碼 因為這樣我上超市比價就比較方便了 哈哈

2008年10月4日

免安裝 免重開機 在windows裡面跑USB上面的 linux (or other live CD OS)

在 windows 裡面跑 linux 有很多種方法
大部分的人 我猜是用 vmware 吧
不過 vmware的缺點是 需要先安裝
有時候 你不方便在那台電腦上面安裝軟體的時候
本文介紹的方法 就好用了

本文將教你怎樣 在某台電腦前面 插上你的USB
不需要有安裝的權限 (不過當然要有權限執行USB上的程式)
就可以跑存在USB上live CD的iso

請先在你的USB硬碟(or iPhone)上 存好下列兩樣東西(不需安裝)
1. MobaLiveCD
2. Damn Small Linux或Knoppix或BackTrack3 等 live CD 的 iso

然後 到你要執行的那台電腦上
執行USB上面的MobaLiveCD 然後選 Damn Small Linux 的 iso
你就有個視窗跑虛擬PC 裡面正在跑你的linux
簡單到沒啥好說的
自己去玩吧

2008年6月16日

How to use weka to predict new data

有人問我怎麼用Weka預測東西
因為網路上的資料大部分都很制式
都只帶著你讀入一堆有label的資料
然後告訴你run某個classifier來"預測"的話 可以得到多少正確性
用來學習了解data mining玩玩看是不錯啦
不過總是沒辦法拿來真的預測新的data

所以我隨便亂寫個note 到時候好按表操課

下面的例子test.csv為已知data with labels.
pred.csv假裝為未知data
因為實際應用通常data會很大 爲了可以丟到server上去跑
下面的例子我用command line操作weka
我隨便寫寫 你們隨便看看 不附customer support
======================

I made a test.csv file as follow

id value cat
1 1 a
2 2 a
3 3 b
4 4 b
5 5 c
6 6 c

and load into weka and save as test.arff, I got

@relation test

@attribute id numeric
@attribute value numeric
@attribute cat {a,b,c}

@data

1,1,a
2,2,a
3,3,b
4,4,b
5,5,c
6,6,c


then, I use following command to get the result:

java -cp weka.jar weka.classifiers.trees.J48 -t test.arff -d j48.model -x 3

next step, we'll do prediction
try to do the same thing as test.arff,
but this time since you don't have the label, you put what ever label (but have to be valid, for this example, {a,b,c})
for me, I make a pred.csv as follow

id value cat
1 1 a
2 2 a
3 3 a
4 4 a
5 5 a
6 6 a

and make the arff file using weka.
I got following lines in pred.arff:
@relation pred

@attribute id numeric
@attribute value numeric
@attribute cat {a,b,c}

@data

1,1,a
2,2,a
3,3,a
4,4,a
5,5,a
6,6,a


this file will have wrong prediction, since weka will think "cat" can only be "a"
(as you can see in the arff file: "@attribute cat {a}" )
change it to "@attribute cat {a,b,c}"

then you can run
java -cp weka.jar weka.classifiers.trees.J48 -T pred.arff" -l j48.model -p 0

and you'll get output like:
0 a 1.0 a
1 a 1.0 a
2 b 1.0 a
3 b 1.0 a
4 c 1.0 a
5 c 1.0 a

it means, it predict first instance as a with confidence 1.0 while you stats it's "a". But remember, the "a" you stat here is just a dummy one.

But as you can see, you got the prediction as second column, confidence in third column.

2008年3月20日

用Google API 做一個 小叮噹的翻譯糕

Google 推出了翻譯用的API

http://code.google.com/apis/ajaxlanguage/documentation/


用上面的API 很方便就可以寫出小叮噹的翻譯蒟蒻 電腦版

小叮噹的翻譯年糕呢 吃下去後 什麼語言都聽得懂

用Google Language API來寫的話 其實就是先偵測輸入的是哪一種語言

然後就呼叫Google來翻譯那一種語言成你的語言

比如你在網站上看到一個不懂的語言 不知道她在說啥

這時候 剪貼到我的翻譯糕網站 我的網站就會告訴你她是什麼語言 並且幫你翻譯成英文 (中文也可以啦 不過現在Google翻譯對英文的支援比較好)
目前支援 阿拉伯文 中文 德文 荷蘭文 希臘文 義大利文 日文 韓文 葡萄牙文 俄文 西班牙文


following code translate any languages in Arabic Chinese Dutch German Greek Italian Japanese Korean Portuguese Russian Spanish
to english

<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
</head>
<body>
<div id="main">
<form class="query-box" onsubmit="return submitChange();">
<input class="query-input" id="source" type="text"
autocomplete="off" size="15" value="我是天才"/>
<input class="button" type="submit" value="Detect Language"/>
</form>
</div>

<div id="translation"></div>
<hr/>
<div id="results">
<div id="results_title">I guess the language is </div>
<div id="results_body"></div>
</div>

<!--- This demo is written by markchiang.no-ip.com --->
<script type="text/javascript">
google.load("language", "1");
google.setOnLoadCallback(submitChange);

function submitChange() {
var value = document.getElementById('source').value;
google.language.detect(value, detectResult);
return false;
}

function detectResult(result) {
if (!result.error && result.language) {
var value = document.getElementById('source').value;

google.language.translate(value , result.language, "en",
function(result) {
var translated = document.getElementById("translation");
if (result.translation) {
translated.innerHTML = result.translation;
}
});
}

var resultBody = document.getElementById("results_body");
if (result.language) {
var language = '';
for (l in google.language.Languages) {
if (google.language.Languages[l] == result.language) {
language = l;
break;
}
}
var html = language +
(result.isReliable?' ( reliable':' ( not reliable') +
' : ' + result.confidence + ')';
resultBody.innerHTML = html;
} else {
resultBody.innerHTML = '<span >Error Detecting</span>';
}
}

</script>

</body>
</html>



網路上有人用這個API寫了個學單字用的玩具

small language learner game here