發表文章

目前顯示的是 2017的文章

五線譜轉笛子簡譜(指法)對照表 App

圖片
八練一文提到和總務翻譜,感覺還要想音有點麻煩,不會想的就更麻煩, 於是這個 App 就做出乃啦!花了三天的閒暇時間 :3 人參第一支 App 然鵝我還是不會寫 Java 主要就國樂各種調性的笛子遇到各種五線譜,你不知道怎麼按的時候, 就照這個 App 給你的表就可以翻拉! 再來可能會加一堆有 fancy 功能的節拍器拉,調音器拉,甚至是神器級的 (?) 翻譜功能。 但要等我活過這學期 ( 逃

學習上的困境

計網大爆炸,有人考九七,結果我在及格線上。 教授 : 是不是沒在念書啊。 感覺很鬱悶,自己是不是太混了 ( 好像不用懷疑,就是 )。 計組也是平均上一點點,也是鬱悶。 我看作業系統也去了吧。 正規語言簡單,但是卻失手了。 這學期前途坎坷。感覺成績會大落,退個十幾名的。 還有教授給的四篇 paper 沒看,os proj , game proj , 通識 proj 。 一整個氣都不順,是不是該把 mini scheme 的 c interpreter proj 先停下來 ? 鬱悶。 (update : 學期結束,MD 成績還這麼高,學店! QQ)  

深夜

再次對現實感受到無力,被壓迫。 只是想打一些字,證明我還活著,仍在思考。   不能 coding ,只能看書。   理論的東西。   好想實踐,好想課金,看神書。   課吧。

落點

圖片
總算是和教授見到面了。 由於專題方向一直不明確,教授就問了我還記得偏序性是什麼。 你數學還可以嗎,離散方面的。 其實還算是隱隱記得的,不過還是說不知道。明明見面前才看過拓扑排序的東西。 他說了一些名詞,大概就是那樣了吧。 嘛,不知道就說不知道,也沒什麼不對,不過總算是再次確定在 PL 領域集合論很重要。 哎呀,我的離散就是心領神會,然後過幾天就把名詞忘了啊。 "英文呢?" 我搖頭。 "現在英文已經不能算是錦上添花,甚至要算是雪中送炭了啊。" 教授,我知道    ; w ; 教授問我說你的比較偏向抽象思維還是工程思維,我一時回不上了,因為平時沒去注意。 我就回答看算法時,有時會想像出比較具體東西,幫助理解。 像剛剛拓扑排序那題,才在想說複雜度有點奇怪, 邊 trace code ,我就邊聯想到了海浪沖刷的景象。 要把水沖到你腳下,一次次沖刷,像是遞迴般的,越來越靠近,結束。 複雜度依然是 O(n),沒錯的。 這是抽象思維嗎?我不知道。可能也不是吧。   教授說他也不知道我的特性。所以也沒辦法下什麼決定。 聊到了他帶過的幾位學生,可惜我都不太熟。 後來有稍微查了一下,恩,很厲害的學長。難望項背。 最後他說 PL 這塊,因為現在研究室不是研究這個, 如果我決定要這個方向的話, 可能要獨立一點了。 現在是台大那邊比較有在做。 他又問了我獨立性相關的自身特性,我的回答是: "我覺得應該可以"。 其實心裡是有個小小的問號的。 因為我一直覺得我有在接收新知,可是一直沒辦法對一件事深入。 我缺少的究竟是什麼?面對深奧事物去探究的好奇心與勇氣嗎? 還是英文差又懶得看那些東西 ( 我知道的,我也有在強迫自己 ) 這可能要好好想想了。這對未來關係很大的。   教授想了想,給了我幾種方向。 一邊,就是像那幾個厲害的學長,想做甚麼都想好了, 教授這邊只是給個支持。他們就自由發揮了。 另一邊,就是只求專題過啦。 而中間,是想要有得到一些東西,也一邊尋求的。 所以教授就問我,要不要試試看 smart contract。 既然不知道全局最佳解,那就找局部最佳解吧。 在安全方面有沒有興趣?他會丟兩篇文章給我。 我想了想,(好像,以我認知)能碰到 FP 不錯,高中同學也有玩虛擬貨幣的, 之前就在問有沒有可以討論的對象,如果我有接觸的話,說不定

[Editor] 入坑 Atom => Markdown 轉 PDF

因為作業需要 PDF,由於不喜歡開 Word,而漸漸用 Markdown 繳作業的我, 開始去找 Markdown 轉 PDF 的方法。( 會學 Markdown 是因為寫部落格也會用到 ) 別問我為什麼不用 LaTex,因為我還沒學 ( 懶得學 )。 於是我就找到了 Atom。GitHub 上開源的一款編輯器。 Atom 的宗旨就是不要讓你花精力在調教上。 所以囉,小小 try 了一下,就裝起來了。 不過比較麻煩的事可能要開 cmd 到 Atom 資料夾下的 bin,下 cmd。 因為插件需要 compile,所以他需要知道各種編譯器的位置。 cd C:\Users\你的使用者名字\AppData\Local\atom\bin apm install --check 如果需要 python 就裝 python , node 就裝 nodejs,c/c++ 應該會教你裝 vs 的 compiler 吧。 反正我下完 check 後就什麼都找到了,我原本就什麼都有裝了。 點開 package 頁面,我是下載 Markdown-PDF 這個插件。 安裝完後,直接開一個 Markdown 檔案, 快捷鍵 ctrl + shift + c 直接在 Markdown 檔案相同位置產生 pdf 檔。 不然就是點視窗上面有 package 的 menu,到裡面去找那個插件。 我把 Atom 當成轉檔用的軟體,主要編輯還是在 Vim 。 這樣上比較習慣啦~

我的傳教史

其實我發現我蠻有傳教天賦的(?)。 高中時發現一部動畫,傳了教,班上就有四五個加入了。 (雖然最後爛尾了) 然後高中發現了一款遊戲(逆轉裁判)。也一樣有四五個入教了。 由於這個系列有點長,所以這個教還維持蠻久的。 後來雷頓教授就還好,頂多兩三個。 然後手機版創世神,這個,狂熱度不一般, 後來我隱世不出,教徒還持續把它發揚光大(?)。   大學了,傳些比較有用的東西。 像是 cygwin,入教的至少也有三四個, 剩下 vim 插件也只有室友因為離的比較近, 所以比較沒有傳下去。 不過能增加逼格的東西,誰不喜歡呢(大霧)。   其實可以傳的東西很多,不過由於我太邊緣的關係, 所以很少進行傳教活動了。不過我的傳教成功率還蠻高的 w   我是 nobodyzxc ,喜歡找好玩的東西,然後把它傳下去~   2017.10.7 再添一筆  => 老爸的 python 坑 如果老爸熟了,或許可以跟他一起打比賽 ?! www  

[Chrome] 批量刪除歷史紀錄

恩。。。chrome 的刪除僅支援時間。。。嗎? 不,他也提供了關鍵字搜尋功能,搜完紀錄都出來了。 但怎麼沒看到全選鍵勒。。太難用了吧。。 我還找到了用 js 全選的文章,結果我一直寫不好(可能是改版了緣故吧) 我上上下下摸了幾十分鐘結果發現... 首先 ctrl + h 叫出歷史頁面。輸入關鍵字。 點了第一個框框,然後按住 shift,點最後一個就批量選起來啦! 太 windows 了吧。。還好有還有一些 sence。。要不連按都按不出來了。。

為什麼我不喜歡上FB

呵呵,想不到我也會有一篇以 "為什麼我不..." 為標題的文章。 感覺吧,上面的戾氣很重,我又玻璃心,即使不是自己被炮, 看到不符合自己價值觀的言論,就會渾身不舒服。 對,我或許就是缺少了那麼一點所謂甚麼素養之類的吧。 fb 推給我的貼文,令我反感,所以我越來越少去看。 不禁想到 yip 大所說的,互聯網上,你所看到的,有很大部分是取決於你所想看的。 至於朋友的貼文,不外乎甚麼抽獎文啦,吃飯文啦,出遊文啦, 不是說這些不好,不過有很多時候,這些東西感覺只是白白地占據我零碎的生命罷了, 只要我知道我所認識的人還過得很好,這就足夠了。 可能我是比較喜歡新事物的碰撞吧,然而 FB 的一成不變,使我厭煩。 那些笑梗,只是短暫的歡樂罷了,他帶來的並沒有想像中那麼多。 而人文思維的碰撞。。這應該是鮮少的,我只能看到很多人逞一時口舌之快罷了。 可能跟我的生活圈也有關係吧,樂於分享這類文章的人比較少。 感覺網路的匿名性,讓太多人肆無忌憚了, 現代人在這種環境下,究竟會不會更加病態呢? 或許這只是我的狂想吧, 希望以後不會遇到這些令我發寒的 poster。  

[Cygwin] 安裝 C 語言函數 man page

唉,之前折騰過,然後又忘了怎麼裝。 搜到的都很麻煩,要下壓縮檔,改檔案的,因為之前折騰過, 所以我很清楚不用這麼複雜。 可惜天下文章一大抄,中文資源都是這種麻煩的方法。 那我來抄一下英文的吧 ( 被打 當然有加一下東西 。 ref : so  , cygwin 下的包就有提供這個 man page,不過要再裝。 所以! 請愛用 apt-cyg ! apt-cyg install  man-pages-posix 以上。下個 man 3 printf 試試吧。 順手找了 c++ 的,除了 linux 一些發行版有 doc, github 上也有個 工具 ,不過第一次瀏覽應該需要網路,他會用 urlopen 開, 之後應該會快取起來。

焦慮。

之前因為準備轉考的緣故,離開了社團。 如今又厚著臉皮的回去了。 大部分的人都換了,幹部都是生面孔, 不過還是有些熟悉的臉,見面時眼神的交會, 換來的是更多的無言以對。。 指揮只對我有些印象,這應該會使我感到好過一些。。 因為那兩年前的記憶,相識,帶給我的是死亡般的窒息感, 與其無言以對,不如說是無視吧。 或許,我的暱稱,就是為了和今天這種氛圍而存在的吧。 --- mail 給了教授,教授回了一封 可以的,約時間聊聊之後,就沒有回信了。 是我找他的時機不對 ( 因為距離申請還有 四個月 ), 還是我無意間做了甚麼錯事? 不知道了。 在怕實力不夠,而被拒絕。 --- 但是,反正這不是第一次了,對吧。

c++ thread pass member function pointer

紀錄一下別人踩的坑。 同學在用 C++ 的 thread 時,一直編譯不過, 最後發現是 thread 傳入的 function poiter 的 member 的緣故。 和一般的 function pointer , member function pointer 要再傳 this pointer 進去 ( 因為 thread 才會知道要拿哪個物件執行 function  ) 所以要這樣傳: animal :: walk(){ this->pos++; } ... animal(){   thread(&animal::walk , this); } ... 其實啊,稍微有一點物件導向的常識應該都會知道,member function 其實都只是個 pointer, 在許多物件導向語言都把 this 的傳入省略掉了, 他的原型應該是 animal_inst.walk(animal_inst);  要把物件本身傳進去。 感覺已經不會寫 cpp 了。。 應該要找時間把那篇醜醜的 C 聊天室,改成物件導向風格了, 因為一堆 global 好醜。。 ref :  so .

追逐的勇氣

又繼續了去年退選的近代物理,感覺是種償還吧。 一年了,一切好像都沒變,我還是在這裡,還是一樣。 不過多了一點蒼老的感覺。大三了。 感覺很多東西都比其他學校慢學,這種憂慮感又回來了。 上計算機組織的時候,教授提到了科技部的大專生研究計畫, 說道:算是申請頂大的基本盤。 感覺此時的我,又微微地抬起了頭,以一種疲倦的,頹喪的眼神望著。 滾了兩年,總是覺得不夠,所做的都像是玩具般, 一個蒙昧的孩子在玩耍罷了。 一個常常自以為是,又常常遭到冷眼旁待的孩子。 或許心中還是對所謂的頂大有所嚮往的, 當初的無法達標,感覺是種生命的遺憾。 可是我又開始矛盾了, 我憑什麼,憑什麼,究竟是憑了什麼? 面對計畫,第一個挑戰,就是找教授。 教授? 我憑什麼呢? 沒有勇氣。 我只是個什麼都不會的小子罷了。 所謂成績,我覺得都是插科打諢,有很多很多,所謂的真才實學, 是我所沒有的。 又感覺,沒有和幾個教授打好關係, 人際,是個恐怖的東西。 想起了幾年前,在前途未卜時,求過的一支籤。 它寫道,在這裡,會有貴人相助。 是誰呢?究竟遇到了沒? 或許在多年回想起才會知道吧。 我到底該找誰, 該如何走,下一步? 總感覺,好多挑戰。 我怕。

Be who I want to be

與前輩一同探索的程序設計師, 與夥伴一同活躍的程序設計師, 與孩子一同成長的程序設計師。 大概是希望成為這樣的人吧。

[Archlinux] 樹梅派透過外網連線

內網連線應該是沒問題的,如果知道正確的內網 IP 的話。 家裡有申請靜態 IP 就是為了方便連線,樹梅派就可以簡單做一台伺服器常駐在家。 (當然動態也是可以啦 = =) -> 點 此 看一下你的 IP 恩,可是遇到了點小問題,在檢查防火牆 ( router 沒有設,archlinux arm 預設也是沒有滴 ) 後, 還是連不上。 兩小時過後。。。 爸:應該是沒有設 gateway 吧。linux 和 win 不同,應該都要手動。 我:o_o" >  route add default gw 192.168.10.1 # 這是 router 的內網 IP   , linux 的 route 好像不用加 -p 永久設置 ?  done. 開學後連得回來惹,GOOD!

偶然看到的練習~

Five programming problems every Software Engineer should be able to solve in less than 1 hour 第一題: 給一 List,用 for , while , recursion 加總。 第二題: merge 兩個 List 使其從 [a , b , c] -> [1 , 2 , 3] -> [a , 1 , b , 2 , c , 3]。 第三題: 求斐波那契前一百個數。 第四題: 給定元素,組出最大的一個整數。 第五題: 123456789 其數字間可加上 + , - 或不加,求所有運算結果為 100 的式子。 嘛,儘管如此的水,我還是會卡在無聊的地方,太 naive 了,順帶一提 python 的 functional 還不錯用。 再次拜倒在函數式的優雅下。

[Archlinux] 樹梅派安裝紀錄

表哥給了我一台樹梅派,還有一塊 arduino 的板子。以及......整盒子的 (ノ>ω<)ノ 元件! 太感謝啦,才剛上完數位系統,暑假馬上就有板子可以玩,太棒啦 XDD 開始挑各種 arm linux 最後決定裝 arch , 因為之前一直裝不起 PC 版的,只能裝 antergos,這次 arm 的決定再來試試。 arch 以詳細的 wiki 而聞名,要在樹梅派上裝 arch arm 也有說明。由於我拿到的是 pi2,所以參考了 pi2 的 安裝頁面 。 剛開始沒看到這頁,直接到了 Arch Download 的頁面 下了檔案,是 tar.gz,直覺怪怪的,不應該是光碟嗎,解開是完整的 linux 檔案樹。 後來找到了  安裝頁面  又查了些 資料 ,才了解到,好像只有 2013 有提供映像檔,所以 fully updated version 需要用指令直接拷到 SD 卡中。 所以 windows 可能沒辦法照著 Arch wiki 的方法做。除非是裝 2013 的映像檔。 儘管有安裝 gnu cygwin ,但由於沒有 mkfs.vfat 這指令,所以還是要用 linux 才有辦法做。 (mkfs.vfat,好像依賴於 linux kernel 的 header ) 總之 @cygwin ~ $ mkfs* 沒有 mkfs.vfat。 mkfs.bfs.exe     mkfs.exe         mkfs.ext3        mkfs.ext4dev mkfs.cramfs.exe  mkfs.ext2        mkfs.ext4        mkfs.minix.exe 重新整備好了 antergos,發現他的 fdisk 好像怪怪的,於是就用了 cygwin 上的 fdisk ( 以系統管理員身分執行 ) ,接著一步一步照著 wiki 就裝好了(以下截自 wiki)。 Replace sdX in the following instructions with the device name for the SD card as it appears on your computer. # 在我的 windows cygwin 上的 sdX 是 sdb Start fdisk to partition the SD

for(I.age = I.know(U.birthday) ; !I.miss(U) ; I.age++)

U.know(I.heart) ? I.say("happy birthday") : I.write("happy birthday");

node webkit & nodebob 使用心得

最近重構 Minesweeper Solver,卻因為 win10 update,造成之前的遊戲版本無法運行,只好自幹遊戲。 但是自己寫的 GUI 感覺很麻煩,於是就找到 minesweeper online 的 js code,但又不想用瀏覽器玩。 (因為螢幕分析會因為瀏覽器不同而不好做) 我必須把這東西轉成有自己視窗的 exe。 js 怎轉 exe ? 有這麼神奇的東西嗎 ? 我在想 node js 都出來了 ( js 能活在後端 ), js 的 GUI 應該也不遙遠了。 果不其然,在幾年前就有 node webkit 這咚咚。 (GitHub 上最早的 Release tag Ver) on 15 Mar 2012   v0.2.0   …   957c12c     zip     tar.gz     還蠻容易的,第一次用就上手。 將 index.html 放進去,再加個 package.json 就可以運行。 但我想要的是獨立於 node js 和 node webkit 的獨立 exe 檔。 依照 node webkit 官方的說法,可以用工具或 DIY。 當然要先 DIY 看看啦。 先 zip 成 .nw 檔,然後將 nw.exe 在 cmd 下 copy 到 .nw 後面。 copy /b nw.exe+app.nw app.exe 恩,本機 (laptop) 可以 run,試試看移植。 desktop 說他不能 Run ... 那來試試看工具吧。 nodebob 看起來最簡單,因為是 bat 和 shell script 寫的。 然後就掉坑了。 C:\Users\dici8\Desktop\nodebob>build.bat nodebob v0.1 --- Creating app package 7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18 Error: 7-Zip cannot find the code that works with archives. Creating executable 複製了         1 個檔案。 C:\Users\dici8\Desktop\nodebob\release\nw.exe 複製了      

夢中題

夢中想到一題。 化簡含有零的式子, input: 2 * 2 + 0 + 3 * (0  * 5) output: 2 * 2  

瑣和瑣。

好像還是無法改掉猥瑣的本性, 一有想知道的事,便會開始找,不顧代價,放下價值觀的那種。 對,我就是在說 SP。 找到答案便會被成就感蒙蔽,過一段時間才開始感到罪惡感,噁心。 真是猥瑣。 我可能會成為小說漫畫裡的那種瘋狂科學家吧,不過實際上並沒有那個本事。 *** 話說好多人到 DeadLine 才在密我, 不是我在看輕別人還是啥呢, 但都已經要升大三了, 一些基本的 *nix 指令,和一些 apache 的基本常識都不會, 都已經說"你沒給 other x 的權限,所以下個 chmod o+x dir" 還問我 o 和 x 是啥, 好,就算你 chmod 只會數字 421 設權限等等,你說不知道 o 和 x 的用法是啥, 我說猜猜看, "還是不行誒,沒有東西", 整個被無視,有點小不爽。 最後發現網頁沒有放進 public_html。 WTF ,你家目錄底下一個使用說明沒在看, 然後一個奉承說我細心有看怎樣, 怎麼不說你兩年來幹了啥。 把妹子? ( 好吧,你可以把以上這段視作這是單身狗在亂叫 )   還有人 chmod 都忘記怎麼用了。 不是有點糟糕嗎,我是真心覺得擔憂。 *** 我好像太喜歡傳教了(就是強加價值觀給別人), 在宣揚XXX的好時,無意識地會打壓其他東西, 喜歡上 PL,開始向大家推廣,希望一起玩, 不過 hermana 就不太接受, 還說我把她的專業看太輕了, 但其實我並不這們覺得。 只是她提到的東西,我覺得可以用電腦解決, 並沒有那麼複雜, 大概是這樣,她才會有這種感覺吧, 但也有可能是我修過電腦繪圖, 有點自以為,所以話說的比較滿吧。 她說她覺得我不喜歡畫圖還啥的, 於是她就叫我速寫, 我也沒說甚麼,只是要證明我沒有說不喜歡, 只是很少做罷了。   擺了個擦子,她說要挑個好角度,調了調。 "如果是要速寫能力的話,應該甚麼角度都要可以吧, 就像一個好的算法,甚麼 input 來,都要能 handle" 我說。 "你拍照、寫生時不會挑個好角度嗎?" "只是要看看能力,最差的情形不是反而越能考驗嗎?" 沒有再說甚麼,她只是咕噥了句"這個角度比較立體"云云的。   我畫了一下, "大概 C- 吧,如果是我們助教評的話,我大概是

Emscripten 折騰日誌

圖片
系統程式的作業是要將之前寫的 C/C++ Program 轉成 JavaScript 放在網頁上面 Run, 聽起來還滿簡單的,不過卻甚是折騰,因為 Emscripten 就是個鍋。 對,沒錯,大鍋。 大到還不如直接重新寫份 JavaScript 還比較快。 _(:з」∠)_ 當然啦,我的意思是假設你的 C/C++ Program 只有幾百行的話。 因為即使有 Emscripten,要做 Web Page Input 的接口,也是挺折騰的。 (如果有現成可以調的話,也是不難啦) 進入正題,來談談為什麼折騰吧, ============================================ 首先是環境, 要選用 Linux 還是 Windows。 (我是窮學生,用不起 Mac,所以不用考慮 OSX) XD LINUX 支線 =============================BAD END1= Linux 我用的是之前裝在虛擬機的 Mint, clang 和 llvm 裝好後,然後下載 Emscripten,我從官網下 portable。 編譯, 然後 clang 的動態連結庫就失效了,WTF。 這是一個剛買榔頭 (clang),開始作傢俱(Emscripten),敲第一下,榔頭就爆了的概念。 當時我的表情是這樣的。 也不是不想解決,但就是找不太到可用的 solution... 我試了第二遍,結果一樣,於是就換到 Windows 上。 畢竟不想再為難我的另一套 Linux (Antergos)。 QQ WINDOWS 支線 ==========================GOOD END= Windows 上要準備那些東西呢? Python , NodeJS 還有 Emscripten Windows 的包。 Python , NodeJS 我是都剛好都有裝,所以 Emscripten 裝的還蠻順利的。 雖然安裝跑的有久,還幫你裝一些 VS 的東西,不過至少還可以用。 切到 C:\Program Files\Emscripten\emscripten\1.35.0 『版本號 1.35.0] 下可以測試。 emcc tests\h

mps-youtube 在 terminal 下載及播放 youtube

圖片
廢廢的好久沒發文了,發一下剛剛的新折騰成果。 本來是在知乎看到 MOC  很心動,想在 cygwin 上裝, 但 windows 不支援,官方說得很明白了,所以我也就不去鑽了 (彷彿看到 linuxer 在笑我)。 不行啊,我從久以前就很想在 terminal 放音樂了,不能隨便放棄啊,然後就去 GitHub 踅了一圈。 music terminal 一打,最多 star 的點一下,就有了。 原來是播放 youtube 啊,雖然跟我想的不一樣,不過好的, mpsyt 也好的 。 隨便看一下 readme ,發現 python 竟然有模塊專門在下載 youtube(好像吧), 然後它的播放器其實還是要外嵌,用 mplayer 或 mpv,我就載了 mpv 用 ln -s mpv.* /usr/bin,塞好位置。 然後就開始愉悅地聽 youtube 囉~ 用 terminal  操作的感覺真不錯呢,mpv 的視窗品質也不賴~愉悅 (〃∀〃) [ 更多操作內容請詳閱官方 README.md 或在軟體內指令行鍵入 h 取得更多訊息 ]

The skills I want to get !

Algorithm,Comptetions - C/C++ Funtion Programming - haskell/scheme Java & Android - Java GUI - Any PL Maintain a Project - Over language Am I greedy ? = w =

關於我會想理光頭這件事

圖片
算起來已經連續理兩次了。時隔半年。 算起來上一次主要是因為人際吧。 不過也由於適逢考試失利, 當時的心很亂。 事情很簡單, 朋友出遊沒找我,我以為友誼有了變故, 開始胡思亂想。 我不是甚麼都非得要跟,也想過他們可能是為我的身體狀態做考量。 但萬一不是呢? 我真的僅僅是在怕我們之間有了甚麼嫌隙之類的。 就最近來看,似乎是我想太多。 不過當時確實是感到孤獨的。 這也是最主要的緣故了吧。 畢竟我不找人家,人家來找我的機會也很少。 其實我渴望人際? 本來這次決定好要留長髮( 女裝 )了,結果還是剪了。 因為覺得又再度陷入泥淖中, 時不時有充滿著挫敗感。 我的人生好失敗。 簡而言之,當我想要擺脫一個現狀,我就會想理。 讓自己寧靜。 這一次跟自己打了個賭。 於是在這次統計課時(晚上六到九點), 我暗自下了個決定, 如果下課後,學校內理髮廳沒關,我就理光。 八點半,老師提早下課。因為是學期初第一堂課。 我走到店門口。裡面似乎沒人。 牆上牌子寫,營業至八點。 我還是走了進去, "還可以剪嗎?" 一位大媽從一旁不知是休息室還是甚麼的隔間走了出來說,當然可以。 那一瞬間我認了,這也許是機緣吧。 "全部幫我理了吧" 對了,這位 知友的回答 我蠻有共鳴的,可能是因為相同的心境吧。 結果回家隔天,老媽就幫我買頭巾了 =w=。

關於推別人 Python 坑這件事

感覺開頭很適合說 "主啊,我要懺悔" 前陣子同學會時,一位"醫師"問我說要學程式從哪門語言入手比較好。 走到現在,我也有了各種的體會,一句 Python 大法好就把教傳了。 ( 其實我也沒學多少 ) 後來有一位"警官"也問我同樣問題,我仍推 Python。 說真的,學到現在,感覺 C++ 入門真的不是太友善,光第一句 include 我就被嚇到了。 ( 膽子太小了吧喂 ) 想說既然推了,我也要下點功夫。想了一下,竟然連個最簡單的 swap 子函式都有問題。 因為之前只是把它當 爬蟲 工具用,很多東西有其他方法就硬幹了,完全沒有細細思索他。 他沒有 reference 或是 pointer 可以用啊 orz 稍微回顧了一下,才想起它的 return 是如此的強大 可以打包啊。 挖歐,太帥了吧,這根本沒有 side effect 啦,很 pure XD 也因為這特性,它可以子函式都不必寫,直接  a , b = b , a  。 之前 PL 課討論命令式語言的缺點它再一次完美解決。 而且感覺比 java 優雅太多了。 我這坑似乎沒推錯。 接下來就趕快開車,這樣才可以教人。

關於我與終端的那些小事

該是說一種嚮往吧,我對黑窗。 自幼看老爸操作黑窗,便能感受他到獨特的魅力,儘管 cmd 現在在我眼裡是如此軟弱。 ( 等到你會寫 bat 再來說嘴 ) 直到大學碰 linux,我才真正踏入其中。 一些基本指令, cd , mkdir 外,來談談其他東西吧。 vim 對它的認識是越來越深,但你不摸索他,他永遠只會停留在那。 我拖了一年,才開始用 vundle 裝插件, vimscript 不知甚麼時候會再碰。 scp 走 ssh 協定的 cp , 你就把他當 cp 用,比 ftp 好用。(我覺得) 是教授安利的。 tmux 學校教授一開始的裝 口畢  利器,有了他,可以切螢幕,很好裝 口畢 。 他過了一學期(印象中)才  (在同學逼問之下)  介紹我們這個東西。 asciinema 教授介紹的終端錄影小程式,很潮喔。 bc 書上看來的終端計算機,高精度的。 zip 成天混 TCL 難免嫌滑鼠慢,所以 zip 不錯。 rar 同 zip,還有 winrar 都在跳 試用期很煩   。 git 這也是不碰,永遠不會碰的東西。 試著 push 一些東西在 github 後,你會覺得網頁版上傳麻煩。 接著你就會使用他,然後  愛上他 。 hexo 這是可以讓你跟 github 加深感情  的東西,他可以利用你的 markdown 檔案快速生成網站, 然後 push 到 github 上成為你的一個小地盤。愛上  用 vim 寫 blog 吧。 ici python 寫成的英文辭典,讓你連瀏覽器都不用打開。 搭配 vim 用 leader 鍵服用更佳,透過 pip 安裝。 看文檔一路通暢( 我還沒體驗到 )。 abbrev 敝人用 python 寫的縮寫參考器,用簡單的爬蟲給你縮寫單字建議,自我感覺良好,在命名變數時 * 格直升。 各種 compiler & interpreter - python , node , perl , ghc , ruby ,  racket(scheme) , gcc , g++ , java 等 程序猿玩耍必備玩具,集齊可獲得 toy collection master 稱號。 gdb 中低階程序猿配備,當你成為 master 便不再有 bug,不用 debug (口夷 ? ) 。 autojump 快速 cd,我之前試圖寫了

Codeforces 三場下來的感想

已經到大二下了,感覺自己有很多不足的地方。 在 Codeforces 這裡,再次提醒了我要前進。 三場下來,rating 呈現嚴格遞減,這當然也不是我想要的。 前兩次都只有解一題,第三次到了三題,因為題目比較簡單。 目前打算式降低參加頻率,開始採練功模式。 也碰了三次了,說真的,其實題目沒想像中的難,但有深度,只要可以越往後面解的話。 現在應該就是提升準確度和手速吧。 Codeforces 真的很好玩。 希望某一天可以登上顛峰!

[Racket] 安裝在 Cygwin 上真是 Wow

恩,正式使用之後會有更多內容。 目前記錄折騰過程。不排除會有更多問題。 為了更好融入 Cygwin ,所以採用手動編譯。 source 包 from GitHub 。 基本上 README 寫得算詳細,可是其中有段 make --unix ,我本機 GNU make 竟然沒有 --nuix 此 flag。 可能是這個原因,導致編譯時有些宏定義沒辦法起作用,所以我直接在 src 目錄的 .c 檔做 #define 的動作。 因為他寫的 Makefile 我看不太懂,不太敢動他 : P 首先是出現 fatal error libffi.xxxx 沒有安裝,找不到庫等等 ( 問題出在 forign 資料夾編譯時 )     To run `racket/draw' and `racket/gui' programs, you will need     Cairo, Pango, and GTk install.  These libraries are not     distributed with Racket, and they are not needed for compilation,     except for building documentation that uses `racket/draw'. More     info about required libs is available at     http://docs.racket-lang.org/draw/libs.html and     http://docs.racket-lang.org/gui/libs.html.     The content of the "foreign" subdirectory may require GNU `make'     if no installed "libffi" is detected.  If the build fails with     another variant of `make', please try using GNU `make'. 基本上把它說的 Cairo, Pango, and GTk 三個庫用 Cygwin 的

[Racket] On Cygwin. Wow.

恩,正式使用之後會有更多內容。 目前記錄折騰過程。不排除會有更多問題。 為了更好融入 Cygwin ,所以採用手動編譯。 source 包 from GitHub 。 先定義目錄,因為它放得很多,又有些重名,假設當前目錄為 clone 下來的資料夾。 /cygdrive/d/workSpace/github/racket(cloned dir)/racket/src -> 現在在這裡 mkdir build && cd build ../configure make make install 基本上 README (看 /cygdrive/d/workSpace/github/racket(cloned dir)/racket/src 下的 README)  寫得算詳細, 可是其中有段 make --unix ,我本機 GNU make 竟然沒有 --unix 此 flag。 可能是這個原因,導致編譯時有些宏定義沒辦法起作用, 所以我直接在 /cygdrive/d/workSpace/github/racket(cloned dir)/racket/src/racket/src 目錄的 .c 檔做 #define 的動作。 因為他寫的 Makefile 我看不太懂,不太敢動他 : P 首先是出現 fatal error libffi.xxxx 沒有安裝,找不到庫等等 ( 問題出在 forign 資料夾編譯時 )     To run `racket/draw' and `racket/gui' programs, you will need     Cairo, Pango, and GTk install.  These libraries are not     distributed with Racket, and they are not needed for compilation,     except for building documentation that uses `racket/draw'. More     info about required libs is available at     http://docs.racket-lang.org/draw/libs.html and

CS guide - Origin

因為看到學長的文有感而發, 突然想以 CS 為主題寫一個給後輩的指南。 究竟 CS 在搞甚麼,和 CE 有甚麼不同 ? 文科學校都叫 CS , 工科叫 CE ? 如何入門 CS 等等,這些是我一年前非常想知道的。 時至今日,我還在完備我心中的答案。 我知道自己還有很多不足的地方, 要寫這樣的東西可能不夠有力。 但我覺得系上學長弟制, 學術傳承的東西似乎不夠多。 我沒認直屬 感覺有個這樣的東西, 入門好像就可以容易些, 彎路也可以少走一點。 我覺得概念的形成很重要, 對一個領域沒有一個概觀, 在學習上好像就會有點無所適從。 基本上內容可能就提及跟其他學校相比, 有哪方面可以自己加強。 其實比起學校課程, 我覺得自主學習研究的風氣更為重要。 而說實在的, 其實系上也有不少**神秘**的資源是被我們所忽略的。 我也正在摸索,這部分就慢慢紀錄吧。 這一年多來,也算是有不少際遇了。 一個全然的小白能由家人引路, 繼而受到同儕教授指教, 最後能自主透過網路,追求自己想要的東西。 最後, 希望系上學習風氣也能日益增長。 儘管離系核很遠的的我好像沒資格這樣說

Yo , 廢文一篇來連線

今天玩 bonk.io , 俺和有位 ubuntu 1604 的網友 ( linuxer ) 有了交流。 真是各種 666 ,見證 OS 之爭 R。 成功度過了 2/14 呵呵,不過要開學了,要上發條了,買來的書也要看,該下決心潛心讀書了。 總而言之,言而總之,加油 Bar ,騷年。 也希望未來能和遇到更多有著相同興趣的網友啊。 題外話,有點想旁聽星期五的 Java 啊。  

[C/C++] BASH GCC/G++ 增加預設標頭檔路徑

在 windows 下用 ide 應該沒這個問題,只要在上面 toolbar 點個幾下,就可以增加了, 之前在 minesweeper solver 用過就不贅述了。 此次是在 cygwin 下,我想在家目錄下新增一個 lib 資料夾專門放我的標頭檔, 但每次要加上 -I 去 link dir 感覺很麻煩,用 alias 感覺又不是正道。 之後查到 SO 的 這篇 ,沒錯!我就是個搬運工。 在 BASH 下可以設環境變數,其實提問者提到的 LD_* 那個我也試過, 不過後來一查,發現是動態連結的環境變數。 怎麼說哩,有查到一個例子是 nano 需要用到 ncurses 的庫,.so 檔卻被移到其他地方去, 所以要執行 nano 時跑不起來,這是只要重新設定一下 LD_* 這個變數就好了。 讓 nano 重新找到 ncurses 的 .so ,就可以開始編文字囉。 跑題了。主要還是說 gcc/g++ 也有適用給 include 搜尋的環境變數, 就是 C_INCLUDE_PATH 和 CPLUS_INCLUDE_PATH 啦 , 前者是給 C 後者是 C++ , 然後還有一個就是 CPATH 是兩者共用的。 所以在 .bashrc 或 .profile 中加一句 CPATH="$HOME/lib:$CPATH" 就好囉。

[Chrome] disable "停用開發人員模式擴充功能" warning

圖片
因為裝了 UpNext extension ( from github) , 所以出現了這個提示。 實在很惱人,在看了 低調一點 的辦法後,發現我根本沒有  gpedit.msc 啊~ (因為我是 notebook windows 10 , 好像要 windows 專業版 才有這個功能) 但,深深被 geek 精神影響的我,內心其實也微微的排斥這種方法的,太 win 的方式不適合我 (被踢 既然插件是從很 geek 的 github 載下來的,解決方法也要很 geek 的從 stackoverflow 找啊 (其實是 google 找到的 不過試著用英文搜尋看看真的很重要,不要被中文思維所局限了,所謂視野開闊,就從英文搜尋開始~ so 上的 hacker 果然厲害,直接從 dll 下手,而且還是用 bat 檔改,恩,更新日期還很新(Jan 14, 2017),太棒了。(傳送門 戳我 ) 沒有摸過 bat , 只有摸過 linux 的 script , bat 也是看懂了一些,這位仁兄似乎是直接開檔改一些值,太狂啦~ 講一下步驟 Save the code below to  DevWarningPatch.bat  somewhere (on the Desktop, for example or in the folder with chrome.dll) 將下列 code 存成  DevWarningPatch.bat (注意副檔名)。 不會改副檔名自己找辦法(有些人可以直接用重新命名改),或用記事本存 .txt 再右鍵進內容改。 儲存的位置不限,可以是桌面,或是 chrome 的系統夾。 我才不會說 geeker 都是用 vim 呢 ( 謎 : geeker 才不用 windows ) 註:其實檔名沒那麼重要,但,尊重作者。 Exit Chrome. Or let the script close it including its hidden background processes. 關閉 chrome , (可以直接關閉他,或讓 script 關閉他) ,包含 chrome 在背景運作的程序都要關閉。 ( 這,我就直接右上角按 x 而已)   Rightclick