Dec 3, 2013

直立傳統弦敲擊式鋼琴的維修

http://www.danpiano.com/pdfs/Replacement-of-Worn-Asian-Style-Hammer-Butts-and-Flanges.pdf

零件英文名稱可在此網站查到(字有點模糊但還可以分辨)
http://www.dest.com.tw/web001/products-view.asp?product_id=73#

Discussion group
http://my.ptg.org/Communities/ViewDiscussions/ViewThread/?GroupId=43&MID=239315

Broken cord will give a metallic noise and loose touch, see here
http://www.pianoworld.com/forum/ubbthreads.php/ubb/showflat/Forum/3/topic/004648/Number/0/site_id/1#import

Below is quoted from Pianoworld.com: (I believe the original is provided by Wayne Walker)

Cord Replacement Procedure:
1. Place action in cradle; remove hammer rest rail and treble bracket.
2. Reverse action so that hammers and dampers are facing you.
3. Loosen hammer butt plate screws.
4. Remove hammer assemblies from flanges and let hang from bridle wires; keep them in order to avoid tangling.
5. Straighten any bent return springs.
6. Tighten all wippen flange screws.
7. Tilt action toward you 90° so that the hammer flange cord slots face upward.
8. Tighten remaining flange screws.
9. Using specially adapted shimming chisel or other suitable tool, clean slots (no solvent) and vacuum up debris.
10. Wrap 90+ turns on dowel with new cord and cut turns with a razor.
11. Glue one end of each piece to one slot on each flange.
12. Return to first flange and glue the other ends to remaining slots; check with gauge.
13. Lubricate damper spring slots.
14. Replace hammers; tighten butt plate screws; hook springs under flange cords as you go.
15. Replace hammer rest rail bracket and reinstall rest rail.
16. Final check: jack springs engaged with jacks, spring cords in crook of hammer return springs, bridal tapes not twisted.


Tools and Materials:
__flange, thin-bladed, and Phillips screwdrivers
__spray lube and spring hook (for damper springs)
__shimming chisel modified to clean flange slots, or other suitable tool
__glue applicator (syringe) filled with Tightbond & damp rag
__action cradle
__replacement cord, e.g., braided Dacron of suitable diameter (kite string, parachute cord) or silk cord (Pianotek)
__9/16" dowel [turned down from 5/8" dowel] or suitable width piece of cardboard
__blunted scriber (or use small screwdriver, to help place cords in slots)
__gauge (dowel, sized to fit intact flange cord, with end rounded off, to check loop size)
__razor
__forceps

Many different types of cord will work. White braided Dacron looks the best and will last forever. Joe Goss suggests Spider Wire which I've bought but haven't tried yet. It's a similar color to the stuff you're replacing so that tends to go against using it. I used to use squidding line but the kind you'll likely find in fishing supply places is waterproofed and wouldn't take well to Tightbond. Probably the easiest (and possibly cheapest) is to order the silk action cord from Pianotek ($3.95 for a 30-yard roll).

Cleaning out the slots is not critical and you could even give the flanges a quickie scrub and vacuum treatment and commence with step 10.

This method is taken from Tom Driscoll who posted it to the list in May, 2002 (Yamaha Upright Hammer Flanges).

_________________________
Wayne Walker
Walker's Piano Service
http://www.walkerpiano.ca/

Oct 18, 2013

網路上計算一定天數後是幾月幾號的程式

對計算只能待一定天數的入境簽證有不少幫助
如:短期停留簽證,居留簽證
可以計算最晚要出境的日期
不過請留意是否從入境的第一天開始算 或是 從入境的第一天開始算
另外 還是要多方查證計算結果
畢竟逾期出境是要罰很多前前低
http://cgi.cs.duke.edu/~des/datecalc/datecalc.cgi

Oct 17, 2013

A miniature model of a gokart made of wood


A simple small kart model made of wood, and videos I made to illustrate the structure of a simple kart/go-kart. This is to show how a kart can lift one of the front or rear tires when it steers. This is because the plan of rotation of the front axial is not horizontal but tilted. During acceleration/deceleration the weight of the car can shift to back/front side making the outer front/inner rear tire lift. In the latter case (inner rear case) this helps the car to corner because a simple kart does not have differential on the rear axial or on the two rear tires. Normally when a kart corners the two rear tires will tend to rotate at different speed because the radius of their traces is different (the inner tire has a smaller radius and so smaller circumference.). This means the two rear tires have to rotate at different speeds, but they can not because they are on the same axial. This means during cornering one of the rear tires will always suffer friction, and thus slow down the car. Unless, one of the tire is lifted, not touching the ground! Hence the idea to make the structure so that one of the tires can be off the ground during cornering. See the cornering in action in the video below.

Two cases: 1) inner-rear lift, 2) outer-front lift.


Sep 20, 2013

Secondary ion mass spectrometry 次離子質譜學 與 Cameca NS50

二次離子質譜術與超淺接面分析
奈米通訊 (中文)
潘扶民-國家奈米元件實驗室

Sep 19, 2013

南鯤鯓代天府,凌霄寶殿,大鯤園

網路上也有個很棒的旅遊心得。照片文字都分常棒。


Sep 11, 2013

中華民國無戶籍國民在台停留居留或在台定居及兵役問題

這裡提供我的例子給大家做參考,由於法律一直在修正以變得更完善,大家可能都有霧詫詫的感覺,我這邊講的也是目前2013年12月的狀況給大家參考,隨著時間過去這邊的資料也會過時,因此大家還是要多方多重確認,不要盡信於一時一方。

✦  2015年10月加註:Paul 整理了一篇相當完整的文章,http://onceenvied.blogspot.tw/2015/11/blog-post_49.html,他的文章更為完整,也將法律依據引經據典並且標明該法律的最新的更新日期,非常的細心。其中也寫到許多我沒有提到的重要議題。尤其是良民證的部分,因為對符合資格的人可以節省手續非常非常多。
✦另外Photo Trekker大也分享了一篇無戶籍國民在國內外旅遊時會遇到狀況的實用指南以及申辦信用卡帳戶等的資訊分享,相當實用。  
http://walomi.blogspot.tw/p/taiwan-no-household-citizen.html?showComment=1447013372096 
✦2016年九月七號,繪梨紗也分享了關於無戶籍台灣國民從居留證申請定居證後,需要更改其他所有身分證件的相關步驟,也相當有用。 
http://kamikamihitoe.blogspot.tw/2016/09/20.html
 ✦2017年二月新增文章,無戶籍國民如何報美國稅

 正文:

我在美國出生領有美國護照,父母親均為台灣人。我有申請並領有中華民國護照,但從來沒有入籍過(入籍的定義以下會解釋),所以從來沒有身分證。我四歲回台灣然後一直以外僑依親居留,也就是都是拿美國護照入台灣。大學畢業後又到美國進修,待了十年,直到最近想回台灣陪陪家人。我的中華民國護照並沒有申請僑民加簽,現年33歲。因此我的狀況屬於中華民國"無戶籍"的國民。

是否為中華民國國民在"國籍法"內就有清楚的定義。是國民不代表你就享有中華民國國民所有的權利義務,你還必須設籍(或稱入籍或入戶籍),拿到身份證,那才享有國民所有的權利義務。比如說我出生時父母親都是中華民國國民,那我就是中華民國國民,但是如果要想有權力及義務,那就得入籍,拿到身份證後,才正式享有各種中華民國國民的權利義務。

不過,無戶籍國民雖然沒有戶籍,還是有一些權利的。無戶籍國民是可以拿中華民國護照申請簽證入台灣短期停留三個月的,注意,還是要申請簽證喔。簽證有不同種類,此規定是由"臺灣地區無戶籍國民入出國停留居留定居作業規定"所制定。所有無戶籍國民的法規可在這裡查到。

我當初不曉得要簽證,以為拿著中華民國護照就可以進來了(爸爸跟我說的,她也不懂),結果在台灣海關就被動屌ㄟ,還好我有美國護照,就只好拿美護90天免簽證就先進台灣,要不然就慘了。進來之後研究了一下發現如果想要用中華民國護照待在台灣居留(會解釋),那還是得要出國去外館申請中華民國護照的簽證,所以只好去了一趟香港。[中華民國護照的簽證一定得要在外館發給,台灣本地無法辦理。]

我去香港申請的簽證是 無戶籍國民臨人字入國許可,可停留三個月,可延期一次三個月,可以境內轉居留簽證!!(台灣地區居留證),也就是不用再出境,拿到台灣地區居留證後,居住時間符合一定規定,可以申請台灣地區定居證,及國民身份證。定居後十五天內必須到區公所設籍,設立戶籍後,就入籍了,這就正式有中華民國國籍了。因為可履行權力以及必須履行義務,這就要當兵。

但是,重點來了,拿到台灣地區居留證後,你可以選擇不要申請定居,那就不會入籍,也不會有身份證。不入籍就代表你享有的權利義務就沒那麼多,所以這個情況就不需要當兵。當兵是有戶籍以後的事。因此,如果只拿台灣地區居留證,就不會有兵役問題,還是可以居留。

其實仔細想想,這樣就有點像外僑居留的情況。不過,無戶籍國民居留跟外僑居留享有的權利義務有甚麼樣差別,在一開頭paul的文章中有更完整的比較,比較在繳稅方面,健保方面,若選擇申請定局則徵兵可以有緩衝期方面,信用卡的申請方面(上面trekker的文章)阿,眾多情況等等。可以說,無戶籍的國民確實有比外僑居留多擁有一些應該有的權力。這也是合理的,雖然說無戶籍國民沒有身分證,好像身分跟外國人一樣,但由於他身為中華民國國民,應該要有比外國人多一點的權力及義務。


香港的台灣辦事處如果你是要辦理無戶籍國民的簽證,記得要去4樓,不要跑去12樓。而且到四樓以後一定要去詢問窗口問,不要抽號碼牌傻傻的等,因為那邊也是大陸港澳申請入台簽證的地方,非常非常的亂!!我就傻傻的抽號碼牌等了一個半小時,結果他跟我說因為你是無戶籍中華民國國民,詢問窗口就可以幫我辦了,XD。12樓是辦歐美簽證的,不要去12樓,不過12樓的氣氛跟4樓的氣氛真的是天堂地域的分別阿,怎麼說呢,ㄏㄏ。
[補充一點:香港的台灣辦事處的電話非常難打進去,要打很多次,因為詢問的人很多。]

以上是介紹無戶籍國民台灣地區居留證的法律依據,接下來就是如何申請了,做總是比說來的麻煩,步驟非常多且繁瑣,雖然我已經走了一次成功取得了此居留證,不過還是要說,真是麻煩阿!不過雖然步驟多,但其實都不難,只是多而已。來回的步驟,確認的步驟,等等的。比如說最麻煩的莫過於申請以往居住國家的良民證(現在或已改稱無犯罪紀錄證明),這一步驟包括從如何印指紋卡(必須一次就要正確,否則來回要再等好幾個月!),到寄往美國FBI,到寄往台灣駐美經文辦事處驗證認證文件(外文文件驗證請參考另一篇文章)(若是申辦美國的良民證,一定要在DC的那一個,其他經辦處不接受驗證無犯罪紀錄證明),然後可能還要翻譯社翻譯成中文並經過法院認證所有非中文文件,等等一大堆繁瑣的手續。不過只要有耐心並且按照步驟,並且寄出文件前多重確認,其實不是很困難的。

工作方面
(再次聲明,這裡只是分享我的經驗,一定要多方詢問,不要盡信一時一方,包括我這邊。)
就業服務法 - 79條 : 無國籍人、中華民國國民兼具外國國籍而未在國內設籍者,其受聘僱從事工作,依本法有關外國人之規定辦理。無戶籍國民如果要工作,就需要向勞委會申請工作許可,或是要請雇主幫你申請,這部分就等同外國人一樣。不過,同法也有規定,若你是第四類外國人經獲准與其在中華民國境內設有戶籍之直系血親共同生活者,就業服務法51條】,你可以直接向勞動部勞動力發展署申請工作許可
由於我的居留證居留因由是依親且依父母親,因此我依據此法申請取得了個人工作許可。
此類型外國人依就業服務法51條規定,其工作種類不受46條第一項內的工作種類限制,所以基本上工作的選擇上跟一般國民一樣自由,可以任意選擇工作。這一點會比公司幫外國人申請的工作許可還寬鬆許多,公司申請的工作許可受到46條所有規定的規範,基本上是必須找到公司願意幫你申請才能工作,而且還有許多限制,諸如不能隨意換工作辭職,公司必須為你繳納就業安定金(雇主聘僱外國人許可及管理辦法)等等。
這部分的法律也是合理的,因為依親的無戶籍國民雖無戶籍,但也應該准許其在依親居留期間內合理取得收入,因此51條款特別准許其部分工作權益與一般國民無異。

有收入以後就會有報稅的問題,有美國身分的無戶籍國民如何報美國稅這部份請見另一篇文章,2017年新增。關於如何報台灣稅可以看Paul大的文章。

健保問題
擁有居留證後滿六個月可以跟健保署申請健保(詳細規定可以看Photo Trekker的留言)。這邊可以打電話到健保署詢問,我是打到南區健保署,說明你是無戶籍國民要申請投保健保,然後請她說明需要準備的資料,這邊也是有不少資料要準備,比如說,要去醫院做特定申請居留用途用的健康檢查,並且可能還要準備你在台灣的居留歷史紀錄(這邊是要移民署提供),所以可能要健保署移民署來回跑好幾趟,我就是這樣,因為無戶籍國民算是少眾,健保署或移民署的櫃台承辦人員可能不太熟悉,但是在後台的長官(如移民官,健保長官)是清楚的,所以若櫃台承辦人員不太曉得,可以請他詢問一下在後台辦公室裡的長官。並且,健康檢查可能要有接踵幾項特定疫苗的歷史紀錄,看你從哪邊來,這邊就看你以前有沒有留著這個紀錄。

香港外館的詢問電話
要打到香港外館詢問事項是非常困難的事情。我以實際遇到的狀況舉例,比如打電話到香港外館,想要詢問確認若要過去辦需要帶甚麼文件,光電話打通,可能就要四十分鐘,這是因為詢問的人太多了,打一次不會通。通了以後,解釋一遍後,他會接線到正確承辦的科員,然後每次接換通話的人可能都要重新解釋一遍,可能從總機、一般科員、承辦科員、最後可能是移民官,每次都要解釋一遍,這是需要非常有耐心的。而且通常你不會只打一次,因為有些問題是在做或準備文件的過程中才會浮現的。這時候上面的步驟可能就要重走一次。我好像就走了三次。另外若是遇到比較沒耐心的科員就比較累比較辛苦了,不過我是覺得他們相當辛苦,因為會有民眾相當刁難,而讓他們的工作變得非常艱辛。我就有一次好不容易打了半個小時終於電話打通了,結果遇到一個不想處理回答的,我想他可能是真的很累了。這樣的狀況也只好放棄掛掉,然後再打一次,希望遇到不同的人,再打一次要打通就可能還要半小時,當下也會覺得很天啊,不過將心比心,這個事情就是要花非常多時間才能把它處理正確,這樣想才能好好耐心的溝通,才能事半功倍,要不然大家都無法冷靜處理的話,就變成事倍功半。事半功倍與事倍功半的差距,可是四倍喔。想想原本二、三十分鐘可以解決的,因為大家缺乏耐心缺乏同理心,導致要變成一個半小時來處理,這樣是在耗費國家的勞動成本,其實最終也是在耗費我們自己的納稅錢,或是說我們自己的勞動所得,得不償失。


正文完。


-----------

修改中有爭議的段落:

"歸化我國國籍者及歸國僑民服役辦法",該法律規定設戶籍登記之翌日起,屆滿一年時辦理徵兵處理。

此條給選擇入籍台灣籍的外國人以及歸國華僑的緩衝期是合情合理的,對於長期居住在其他國家的國人,若是想回來定居設籍,他回來以後都要花好一段時間適應,因為有許多的事情需要適應,包括氣溫、氣候、食物、不同的細菌,好多好多。我剛回來的時候半年之間就生了好幾場重病,感冒都很嚴重,吃東西可能也因為不適應還得去照胃鏡。這時候若是我因為設籍而馬上就去當兵,大概會變成第二個洪仲丘。都重感冒了還要每天早上起來跑三千??這是不太合乎情理的。並且,若是我們看看外國人選擇來台灣定居,入台灣國籍,則他就是屬於歸化我國國籍的法律,那麼他設籍後,就有一年的適應期緩衝期而不會馬上被徵兵。那既然連外國人都有這個權利,為何身具中華民國國民身分只是沒有設籍而長期居住國外的國人,若選擇回台灣定居入籍,會沒有這個適應的機會,這個緩衝期,而會馬上被徵兵呢?最慘的就是剛下飛機沒兩個禮拜,就被徵去當兵了,白白受盡折磨。因此,只要他能證明並符合居住在國外的僑居條件,他應該要受到適應期的保護,這點是法律考慮到保衛國家兵役的健康性並保護中華民國國民的合理考量。

但是以上的適用對象卻不包括回台灣的無戶籍台灣國民?? 這就有點不合理的,同樣是長期在國外居住.....

-----
修改中:

那你說,那我就拿外國護照申請外僑居留就好拉,幹嘛還要搞個無戶籍國民。這裡要強調,外僑居留在20歲以後就必須要事實上xxx,請見下方留言討論,大部分在外國出生的國民回台灣居留都是如此,都是以外僑身分居留,我以前也是。無戶籍國民居留跟外僑居留的申請程序都非常相似。不過,也如同前述所說,若你選擇以無戶籍國民申請居留是有一些比較多的好處。比如說,拿無戶籍國民短期簽證入台灣,是可以延期一次,但如果你拿美國護照免簽入台,那就不能延期。所以無戶籍國民享有的權力好像有比外國人還是多一點點。其他方面請看paul完整的文章。


---

google "在美出生子女回台辦理入籍程序" 會有比較多的案例

20歲以下入籍與不入籍之比較
http://www.wretch.cc/blog/ayelen/23413901

http://es871402.pixnet.net/blog/post/1438827-%E5%AE%9A%E5%B1%85%E8%AD%89-%E5%85%A5%E7%B1%8D%E8%A8%98

Sep 10, 2013

默默的無名英雄之黑白彈

紀錄一些聽到的有趣故事

----
四十年前
瞎子精聾子靈
我以前不會游泳
跟著別人去溪裡玩水
去跳一個類似水庫水堰的一個出水深水口
本來我想說也沒有很深
應該跳下去划一划就上來了
就跳下去
結果完全划不上來
我差點想說完了
結果
有一隻手來抓住我
拉我上岸
是一個聾子
他救了我一命
我才知道
原來有些聾子很聰明
他的眼睛很厲害
一眼就看出來我不會游泳
而且是在掙扎有危險
人家說瞎子精聾子靈
我真的是切身感受
聾子因為聽不到
一切要用眼睛觀察
因此特別會觀察一切動靜
聾子也是
聽完這個故事我想到一部電影 盲探
劉的華的
我原本以為有點誇張
不過聽完這故事
覺得可能並不誇張
因為說故事的人還跟我說
有些瞎子耳朵厲害到可以打棒球
聽球風判斷方向位置
我覺得聰明的瞎子確實應該可以
並且瞎子的觸覺非常敏稅
手也非常靈巧

恩 是一群不可小看的人那

----
三十年前跟著朋友去大陸做生意
要去買魚塭養魚

----
去大陸拙政園玩
二十年前
在大陸有導遊制度
就是去某些地方玩一定要有導遊
現在也有
要不然你走到哪裡
就會有一堆人跟著你到哪裡
導遊會帶你走
因為他熟
你就不會被人跟

那時候我請一個導遊
是女生
去拙政園玩
二十年前拙政園還沒那麼有名
入口處的售票亭還只是個小亭子
亭子裡面只有一個人
但是我到那邊的時候
整個亭子大概被七八十個人圍住
大概有十層人圍成的圈圈
那時候沒有甚麼排隊不排隊的
所有人都擠在亭子的周圍

我想說怎麼辦
這下子一定要排個個把鐘頭了
這時候女導遊說話了
"交給我"
只見她一個踏步
整個人就爬到人群的上面
像個蚯蚓一樣壓著人家頭頂肩頂往亭口爬
不一會兒接近亭口的時候
她右手高高舉起重重的往亭口一申
"兩張!!"

過一會兒她就回來了
前後不到五分鐘
然後我們就進去拙政園了

有導遊還是是正確的選擇
也真的是第一次看到這樣的情況
有趣

----
新化
三四十年前我表哥出國學做貿易
回來以後被請到新化那邊一家五金螺絲工廠幫他們顧
我剛好高中畢業因為表哥的關係就去那邊實習操作做螺絲的機台
那邊的人因為看到我用關係進來的
就想要整我
所以就把一台最有問題的螺絲機台給我
自動化的螺絲機台一分鐘可以打螺紋五百個
超級之快
那一台有問題的螺絲機台常常出錯
由於裡面部件運作相當快 出錯的時候 真的是
啪啪啪啪啪啪啪啪
非常精彩 像放鞭炮
而且出錯壞一次修模具要二十萬

我就在那邊改成手動操作好放慢動作仔細看
結果被我看到問題
夾螺絲的有一根夾子在移位的時候會有時候會打到鑽螺紋的鑽子
平常不會打到
由於移動速度非常快
因此必須非常精準
共有五個夾子
其中一個夾子的一根牙偶爾會打到
是我放慢動作看到的
所以我就把那一根牙弄彎
這樣就不會打到了
之後跑的順得跟甚麼一樣
那些想整我的反而整不到
科長有時候進來看的時候
機器跑的順的跟油一樣
我則在一旁抽菸
科長就會露出滿意的微笑

****

新化那邊還有一家五金螺絲工廠
自行研發一分鐘可以做三千個螺絲的機器
被日本人看中
後來以三千萬的價錢賣去日本

****

為什麼現在工業界都是成大人
三四十年前
好的時候
厲害的人都會去私人公司
那時候私人公司比較好
所以北部台清交都會先去私人公司
所以南部的比如說成大的就只好到公立單位
比如說中鋼,中油,中甚麼甚麼的
那時候公立單位是比較不好的
所以後來業界慢慢起來 民營化
就變成都是成大的天下

****

相關閱讀:
默默無名英雄黑白彈之二

Sep 1, 2013

Parable for Procrastinators

Quoted and recited from http://home.pct.edu/~jmather/

This is a story about four people named Everybody, Somebody, Anybody, and Nobody.  There was a job to be done, and Everybody was sure that Somebody would do it.  Anybody could have done it, but Nobody did it.  Somebody got angry because it was Everybody's job.  Everybody thought Anybody could do it, but Nobody realized that Everybody wouldn't do it.  It ended up that Everybody blamed Somebody when Nobody did what Anybody could have done.

有四個人,他們的名子分別叫做沒有人,任何一個人,某個人,所有的人。這是一個關於這四個人的故事。有一件事情需要完成。所有的人都很確定某個人會去把它完成。這件事情任何一個人都可以完成,但是就沒有人做。某個人就生氣了,說這是所有的人的責任。所有的人都覺得任何一個人都可以做,但沒有人了解所有的人都不想做。最後所有的人就將這件事怪罪到某個人身上,結果沒有人做了任何一個人都可以做的事。

真是好棒棒。

Aug 28, 2013

黃光製成工程師、助理設備工程師 內容工作分享 - [轉錄]

 作者  unfree (有愛的世界) 看板  Tech_Job @ PTT
 
標題  [心得] 半導體黃光製程工作內容分享 1-7 + end
 時間  Fri Apr 27 00:17:44 2012

網路轉發版
http://blog.xuite.net/kenlin.shine/unique/64588353
原文已隨wretch走入歷史:
http://www.wretch.cc/blog/ww007ww/13631790


黃光助理設備工程師
https://www.ptt.cc/bbs/Tech_Job/M.1475018899.A.C89.html


AMD晶圓場工作照片
http://ee.ofweek.com/2011-11/ART-8140-2801-28585266_5.html

EUV簡介與挑戰
http://www.youtube.com/watch?v=Ba9DD9PvUwA&feature=endscreen
http://www.youtube.com/watch?v=KvruGuWDZRg

Aug 10, 2013

Earth fossil and mineral museum

大地化石礦石博物館
地址 
台南市永康區中山北路499巷24弄38號
No. 38, Aly. 24, Lane 499, Jhongshan N. Rd., Yongkang City, Tainan County 713, Taiwan (R.O.C.) 
電話 
886-6-232-8026

Jun 12, 2013

Simulation of a coin rolling on a surface in 3D

Artificial simulation of a coin rolling on a frictional surface. The simulation is programmed with Python. Work in progress...

Newest update Aug/7/2014




----------------------------------------------------------------------------------------------------------
The following is a detail explanation of how the above simulation is done. It is written in Chinese, and it is still being revised constantly. Aug 6 /2014



History progresssion.
Updated 7/4/14
Artificial rolling without slipping. Now the CM can move in all direction.
http://tinypic.com/r/s6hpx4/8
python code
--------------------------------------------------------------------------
Updated 7/1/13
The simulation of a rolling motion of a coin with no precession. The next step is to add on the precession. This simulation and animation is coded with Python. You can download the code here.
CM 0.1mm corresponds to 1 deg tilt rotation.

May 29, 2013

DIY 自製足球鞋 soccer shoes cleats

Made a pair of soccer shoes with 0 cost, only with some recycled cloth and a pair of old slippers.
在家用回收的材料自己做了一雙足球鞋。很醜,但是因為該有的功能都有,所以,很好穿。已經踢了五六場球了。現在跑步也都穿它。正式宣告,不用再買Nike,Addidas,那些大廠的鞋子了,拯救一些在越南菲律賓等工作環境超級低劣且製鞋黏膠有毒危害的製鞋工廠剝削生命的低價勞工。而且是底部是依照腳板量身訂做,沒有一點過長或過短的問題。哈哈
製造過程中有一點很重要的是,鞋後根需要跟腳根或腳後端做緊密的貼合,因為在奔跑或踢球的過程中,鞋子會有向前滑掉的趨勢,因此,我用鬆緊帶將前段跟後段稍微綁住(如圖中右邊那雙的黑色鬆緊帶),但也不用太緊,不然會不舒服,這樣子就不會滑掉了。

當然這樣子做的鞋子還無法踢大腳球高球,因為腳拇指端的材質不夠硬,不過我現在踢球都是用內側踢,所以也沒差。之後再看看如何改進。

*** 2016/2/1 後來發現用布跟鞋底用毛線縫起來前端鞋底常常會分離,線會斷掉,常常需要補線,後來有一次突然想到用寬的膠帶(厚的也可以)整個把前端布跟鞋底捆住,就完全解決這個問題了!繞膠帶的時候記得不要繞太緊。這樣幾乎已經可以完全跟平底鞋一樣踢球。目前正在想看能不能在繞膠帶時繞一點硬紙板進去包覆住大拇指中指,說不訂這樣就可以踢大腳了!有圖有真相



也做了一副護目鏡,防冷風防下雨但是又透氣會呼吸,而且最初的設計就是可以戴眼鏡戴,應該來申請一下專利,不過也是很醜,但是,已經用了一年半,每到冬天,騎機車腳踏車冷風乾眼的時候超級好用。

May 13, 2013

Lotus E21 framed poster (size A4)

My new collection, too bad there is no kimi inside!
It is so hard to get the lighting right. I try my best to make do using just two lamps and angle adjustment. Still the result is just bearable.

May 7, 2013

A look at the puzzle of rolling one coin around another


Second example added!

  This may help you understand why the coin actually rotates more than you expect.

  It will be easier if you focus on a slice of left coin. Lets say 1 is the pizza slice that is to be rotated about the coin on right. If there is no friction at all, the left coin will just slip and slice 1 will end up at position 2. Now if the coin rolls without slipping, you may think because the contact point runs on a arc distance R*θ on the right coin, this arc distance should require slice 1 to rotate an θ angle (because left coin also has radius R). So we will expect slice 1 to translate to slice 2 and rotate θ and then end up at position 3. But we should get slice 4 position if slice 1 is to be rolled without slipping. What's wrong?!! The important thing here is when slice 1 rolls, not only does the contact point move on edge of slice 1, on top of that the center of slice 1 also rotates with respect to the contact point when the contact point moves!! ( and they are done in such a smooth fashion that one wouldn't notice! ). Take some time to get this here. Another word, during any instance of rolling, contact point is at rest (always), the center of left coin rotates a little bit about the contact point (, due to the fact that this coin actually rolls on a curve path!). It turns out the center point of slice 1 also rotates against the contact point by an angle θ during whole rolling motion. (This can be seen from the relative position of contact and center point before and after rolling.) So in total, the body (slice 1) actually rotates 2*θ!! This will make slice 2 rotate 2*θ and lead us to the slice 4 position!! So if the left coin rotates a full revolution against the right coin (θ=2π), the left coin actually rotates 4π (two revolutions!!).

Another illustration of the two rotations:
Rolling without slippage finite rotation consideration.

Deeper description:
  It is worth to discuss the direction of the two angles described above, why do we add the two angles and not subtract them. Now imagine the right coin is just a flat line, so the left coin is rolling on a flat vertical line upward, without slippage. The contact point is still on the right hand side of the left coin, and the left coin has to rotate clockwise (abbreviated: c.) to go upward. So we have a c. rotation of the coin, if coin rolls on a flat surface. Now we put back the right coin and add in the curvature. Remember we said the center of left coin will rotate θ against the contact point clockwise during the whole rolling motion. And this is an additional rolling on top of the rotation coming from the coin rolling on a flat surface. What this actually infers is that CM also rotates clockwise against the contact point of the left coin - notice this does not happen for coin rolling on a flat surface. Because rotation is a mutual and relative motion, CM rolls about the contact clockwise is just the same as contact rolls about the CM clockwise. And the later is a body rotation. So we can see the left coins rotate twice about its CM, both in the same direction (clockwise) by the same amount of angle θ. This is why we add two θ, not subtract θ from θ and get zero. The two θ rotations described above are actually the same in direction (an important concept). I will show in the next example when rolling on negative curves these two angles can cancel.

[A deeper thinking here is CM actually travels faster than that of the contact point, and that is why the coin rotate c.]

[Thinking: The contact point moves on the left coin counter-clockwise (c.c.). This means the left coin has to rotate clockwise, because the contact point should be at rest in our case.]

Example 2: Roll without slipping on negative curves.

A coin O1 rolls counter-clockwise (c.c) without slippage inside a circle C  to a position O2.
Second example. A coin centered on O1 rotates without slippage on a negative curvature centered at point C. The coin rotates to a position centered at O2. Again we will focus on a slice on O1 which will make things easier. Look at slice 1 of O1. The coin has a radius a and the curvature has a radius b. Let say the contact point travels from point A to point B on the curvature. During this rolling without slipping motion the contact point travels a distance on the coin equal to the arc length AB, which is b*θ. The coin has to rotate counterclockwise (c.c.) in order for the contact point to travel from A to B (to see this just imagine if the curve is flat). And because the contact point travels an arc length AB the amount of rotation translates to the coin will then be equal to bθ/a (larger than θ because b is greater than a). And this is a  c.c. rotation. Just like our previous example, let's rotate slice 1 by bθ/a to get slice 2, and then translate slice 2 to slice 3 where the center of coin should end up at, O2. Hmm something is not right, if slice 1 is to roll without slippage shouldn't we get slice 4?!! So lets consider the other rotation. Whenever the velocity of center of mass mismatches that of the contact point, one will expect this extra turning of object (which happens for objects rolling on curvatures). Here the CM of the coin travels slower than the contact point, which means the CM will have a smooth rotation against the contact point at every instance in the clockwise direction. Because rotation is a mutual concept, CM rotates against the rested contact point in clockwise direction also means the object rotates about the CM in a clockwise direction. The amplitude of rotation can be seen from the relative positions of the center of coin and the contact point before and after the whole rolling motion: the angle changes of vector A-O1 to vector B-O2. Apparently this amount of angle change is θ. And the direction of this rotation is c.. So we have to rotate slice 3 by an angle θ in clockwise direction. This way we get slice 4. Voila!

To get the amplitude of the true rotation of the coin after this rolling without slipping lets add the two rotations together considering their direction of rotation: first we have bθ/a (c.c.) + θ (c.) = bθ/a (c.c.) - θ (c.c.) = θ (b/a - 1)   (c.c.). The result is the coin rotates counterclockwise by θ (b/a - 1) with respect to the center of mass.

Below is a simulation I wrote with MATLAB for a sphere to roll inside a bowl without slipping, with gravity taken into account. The original codes can be found in another post. The small red circle is a fixed point on the coin, to illustrate the rolling without slippage motion.

Here is a small animation I made using Matlab. 

Next I will explain the forces which cause those extra turnings. It is obvious the friction force causes the coin to rotate while the contact point travels. But for the second half, what forces cause the CM to rotate against the contact point? They are actually the external forces which make the object to stay on the curves! For example in the first case it is 'you' forcing the two coins to stay together. In order to make them stick and slide without slipping, you finger does the extra turning of the coin! In the second example your finger prohibited the further rotation. This will need some more graphs to illustrate. To be continued...


May 6, 2013

DIY 上課用白板

利用一幅老舊的畫翻面製作成一面上課用的白板。以及一幅比較小的畫翻面製作成廣告白板。
2015/6/18


Apr 17, 2013

A python program for generating "Labels" for BibTex bibliography libraries

  Wrote a small python program to generate labels for BibTex bibliography libraries lacking the label fields, so they can be used by TEX typesetting softwares who use a BibTex bibliography mananging standard (e.g. Scientific Workplace (I use this with Endnote) and many others). I put the file up on google doc. Open the program file with a text editor and change the filename in the first line to yours. This is sort of a small exercise for me to learn Python. I learned quite a lot on "regular expression" in script languages with this exercise and I am very happy I succeeded.


Mar 23, 2013

Simulation on rolling without slipping

Practicing Python code. First example is written in Matlab. Second one I wrote it in Python.
A sphere roll without slipping in a bowl. I made this with Matlab. Code is pasted below.

Mar 1, 2013

Space shuttle Endeavour in California science center





One of the thrusters



Ecosystem in California science center

Jelly fish

IR camera

real scale(?) F20 fighter model display

heat shield of a spaceship showing the high temperature burn (~3000 degree C ?)  generated from ship re-entering the Earth atmosphere



Feb 25, 2013

tracking of my python anaconda conda and packages setup

2016/Jan 22
current conda version and packages

C:\Documents and Settings\The One>conda list
# packages in environment at C:\Documents and Settings\The One\Anaconda:
#
_license                  1.1                      py27_0    
anaconda                  1.8.0                np17py27_0    
apptools                  4.2.0                    py27_0    
astropy                   0.2.5                np17py27_0    
atom                      0.3.4                    py27_0    
beautiful-soup            4.3.1                    py27_0    
beautifulsoup4            4.3.1                    
binstar                   0.3.1                    py27_1    
biopython                 1.62                 np17py27_0    
bitarray                  0.8.1                    py27_0    
blaze                     0.3                  np17py27_0    
bokeh                     0.2                  np17py27_1    
boto                      2.15.0                   py27_0    
casuarius                 1.1                      py27_0    
chaco                     4.3.0                np17py27_1    
colorama                  0.2.7                    py27_0    
conda                     3.19.0                   py27_0    defaults
conda-env                 2.4.5                    py27_0    defaults
configobj                 4.7.2                    py27_0    
cubes                     0.10.2                   py27_3    
cython                    0.19.2                   py27_0    
dateutil                  2.1                      py27_2    
distribute                0.6.45                   py27_0    
docutils                  0.11                     py27_0    
dynd-python               0.5.0                np17py27_0    
enable                    4.3.0                np17py27_0    
enaml                     0.8.3                    py27_0    
envisage                  4.3.0                    py27_0    
flask                     0.10.1                   py27_1    
gevent                    0.13.8                   py27_0    
gevent-websocket          0.3.6                    py27_2    
gevent-zeromq             0.2.2                    
gevent_zeromq             0.2.5                    py27_2    
greenlet                  0.4.1                    py27_0    
grin                      1.2.1                    py27_2    
h5py                      2.2.0                np17py27_0    
imaging                   1.1.7                    py27_2    
ipython                   1.1.0                    py27_0    
ipython-notebook          1.1.0                    py27_0    
ipython-qtconsole         1.1.0                    py27_0    
itsdangerous              0.23                     py27_0    
jinja2                    2.7.1                    py27_0    
keyring                   3.2                      py27_0    
launcher                  0.1.2                    py27_0    
libpython                 1.0                      py27_0    
llvmmath                  0.1.1                np17py27_2    
llvmpy                    0.12.0                   py27_0    
lxml                      3.2.3                    py27_0    
markupsafe                0.18                     py27_0    
matplotlib                1.3.1                np17py27_0    
mayavi                    4.3.0                np17py27_2    
mdp                       3.3                  np17py27_0    
menuinst                  1.3.2                    py27_0    defaults
meta                      0.4.2.dev                py27_0    
mingw                     4.7                           1    
msvc_runtime              1.0.1                     vc9_0  [vc9]  anaconda
networkx                  1.8.1                    py27_0    
nltk                      2.0.4                np17py27_0    
nose                      1.3.0                    py27_1    
numba                     0.11.0               np17py27_0    
numexpr                   2.2.2                np17py27_0    
numpy                     1.10.1                   py27_0    defaults
openpyxl                  1.6.2                    py27_0    
pandas                    0.12.0               np17py27_0    
patsy                     0.2.1                np17py27_0    
pep8                      1.4.6                    py27_0    
pil                       1.1.7                    
pip                       8.0.1                    py27_0    defaults
ply                       3.4                      py27_0    
psutil                    1.1.2                    py27_0    
py                        1.4.17                   py27_0    
pycosat                   0.6.1                    py27_0    defaults
pycparser                 2.9.1                    py27_0    
pycrypto                  2.6.1                    py27_0    
pyface                    4.3.0                    py27_0    
pyflakes                  0.7.3                    py27_0    
pygments                  2.0.2                    py27_0    defaults
pykit                     0.1.0                np17py27_0    
pyopengl                  3.1.1a1             np110py27_0    defaults
pyparsing                 1.5.6                    py27_0    
pyreadline                2.0.dev                  py27_0    
pysal                     1.6.0                np17py27_1    
pyside                    1.2.1                    py27_0    
pytables                  3.0.0                np17py27_1    
pytest                    2.4.2                    py27_0    
python                    2.7.5                         2    
python-dateutil           1.5                      
pytz                      2013b                    py27_0    
pywin32                   218.4                    py27_0    
pyyaml                    3.11                     py27_2    defaults
pyzmq                     2.2.0.1                  py27_0    
requests                  2.9.1                    py27_0    defaults
rope                      0.9.4                    py27_0    
scikit-image              0.9.3                np17py27_0    
scikit-learn              0.14.1               np17py27_0    
scipy                     0.13.0               np17py27_0    
setuptools                19.4                     py27_0    defaults
six                       1.4.1                    py27_0    
sphinx                    1.1.3                    py27_4    
spyder                    2.2.5                    py27_0    
spyder-app                2.2.5                    py27_0    
sqlalchemy                0.8.3                    py27_0    
statsmodels               0.5.0                np17py27_0    
sympy                     0.7.3                    py27_0    
tables                    3.0.0                    
tornado                   3.1.1                    py27_0    
traits                    4.3.0                    py27_0    
traitsui                  4.3.0                    py27_0    
vtk                       5.10.1                   py27_0    
werkzeug                  0.9.4                    py27_0    
wheel                     0.26.0                   py27_1    defaults
xlrd                      0.9.2                    py27_0    
xlwt                      0.7.5                    py27_0    

C:\Documents and Settings\The One>

this setting can run GS Simulation software as is currently(v1,developing v2).

----
2015/July/9
嘗試在windows32 xp上安裝pyopenGL到anaconda

用conda安裝一個virtual environment
conda create -n tonytest -c https://conda.anaconda.org/menpo pyopengl pyopengl-accelerate menpo-pyvrml97 simpleparse numpy pydispatcher pillow
包含所有此網頁上所建議的套件除了openglcontext之外
因為anaconda上面找不到win32的openglcontext
所以如果用上面方法加上openglcontext會無法建立environment
然後再用pip install的方式來裝openglcontext
pip install PyDispatcher PyVRML97 OpenGLContext
這樣是可以安裝成功
沒有錯誤訊息

不過在跑nehe第一個example的時候
會出錯
找不到glutInit
還在找原因當中

按照以下的方法把glut32.dll放到opengl/dlls裡
http://cim.mcgill.ca/~fmannan/comp557/Python%20and%20PyOpenGL%20Installation.html
解決了第一步glutinit undefined問題
並且可以跑此sample

但有第二個問題
glCreateShader, glCreateShaderObjectARB undefined

----
2013/2/25
Python 3.3 + Matplotlib 1.2.0 + numpy 1.7.0 + mpl_toolkits
FFmpeg needs to be installed on computer for creating animation mp4 films.
----

Feb 8, 2013

RB9 RHYTHM OF THE FACTORY

This artfully and music little film lets you peek into Red Bull top-secret factory and the production of their new 2013 formula one car.