炸蝦碎碎念。

[Notes, GNU/Linux, Open Source, Ruby on Rails, Computer Science, Archlinux]

[Linux] Fontconfig - Linux系統的中文字型設定、解決console程式缺字問題

其實在桌面環境中,用KDE或其他DE提供的字型設定就很足夠了,我偏好Adobe的Source Han Sans TWHK 好看、又有台灣的中文寫法。

但是在console裡用的中文,比如說在vim裡的中文字型或者是有些沒有吃到桌面字型設定的程式,就會有缺字或很難看的情形。

在Linux下是透過fontconfig這個套件來管理跟控制字型,所以這個問題主要是因為預設的Font Config中的很多中文字型可能已經過時,或者是沒裝,或者因為是中國的簡體字型所以不好看或者是會缺字。

/etc/fonts/conf.d下能看到主要的字型設定檔,用xml的方式設定。這裡不贅述設定的細節,可以自己參考man fonts-config。而中文以及其他非拉丁字母字型的對應在65-nonlatin.conf裡頭。這些檔案是整個系統的全域設定,我建議可在 ~/.config/fontconfig/fonts.conf 裡用同樣的格式設定,如果沒有 fontconfig 資料夾的話要自己建立。

長的像這樣:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <alias>
        <family>serif</family>
        <prefer>
            <family>字型名稱</family>
        </prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>字型名稱</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>字型名稱</family>
        </prefer>
    </alias>
</fontconfig>

所以要讓系統能顯示正確的字型,就在指定font family(sans, sans-serif, monospace)底下的prefer裡加上自己喜歡的字型。因為套件庫裡找不到台灣寫法的等寬黑體,所以就將用了文泉驛等寬微米黑(WenQuanYi Micro Hei Mono, wqy-microhei)。重開應用程式(如Konsole)就能看到正確的字型摟。

[Linux] Amarok Mp3 Playback in Archlinux

Amarok can’t play mp3 in Archlinux with gstreamer-* packages installed.

Solution: According to the ArchWiki page about Gstreamer, gstreamer packages no longer called gstreamer-*, but gst-* . so install gst-* packages just sovled the problem (I am using KDE Plasma 5 and phonon-gstreamer)

[C/C++] Scanf造成之後的fgets不正常

常常在Online Judge出現的小問題 太久沒寫忘記害我debug好久zz

比如說 這樣寫看起來很合理 不過總是會莫名多輸出一行

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main()
{
  char s[101];
  int n;
  while (scanf("%d", &n) != EOF && x) {
      while (--n) {
          fgets(s, 100, stdin);
          puts(s);
      }
  }
}

其實只要在scanf後面加上個getchar()像這樣

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main()
{
    char s[101];
    int n;
    while (scanf("%d", &n) != EOF && x) {
        while(getchar() != '\n') //removeing the trailing '\n'
              ;
        while (--n) {
            fgets(s, 100, stdin);
            puts(s);
        }
    }
}

原因是scanf把input的n吃掉之後 在那行會留下一個'\n' 造成後面運作不正常

[Rails] Could Not Read Gem 解決方法

bundle install的時候

1
2
3
Bundler::GemspecError: Could not read gem at /home/joshua5201/.rvm/gems/ruby-2.0.0-p247/cache/coffee-script-2.3.0.gem. It may be corrupted.
An error occurred while installing coffee-script (2.3.0), and Bundler cannot continue.
Make sure that `gem install coffee-script -v '2.3.0'` succeeds before bundling.

解決方法是把gem的cache刪掉

1
$ rm ~/.rvm/gems/ruby-2.0.0-p247/cache/[出問題的gem名稱 或乾脆整個資料夾刪]

參考連結

[心得] 指考完說要寫卻拖了一個月的心得

前言

為了增加可信度(?)先講一下我的狀況。 高二因為數學物理焦頭爛額(加上自己耍廢)所以學的很挫折,數學還被當。 高三覺得自己學測一定會上,所以數物化完全沒認真念(極式、Ka、Kb、光程差是啥都不知道) 所以考完學測物化幾乎是零。(學測根本不考物化) 數學段考都只有40~60、物理30~50、化學好一點大概60~70 (英文70~80、國文60~80、社會科70~90) 學測模擬考63->66 學測68(國14 英14 數11 自14 社15) 其實也不是考太差 如果我是一類的話orzzz 指考模擬考第一次 250 (國60 英75 數40 物25 化50 ) 指考模擬考第二次 300 (國51 英68 數60 物52 化69 ) 指考 401.6 (國70 英88 數66.4 物90.5 化86.7 ) 學測成績單發的隔天就開始準備指考 完全放棄申請 所以這篇是寫給對數物化沒自信(每個學期都想過要轉組orz) 甚至懷疑自己是不是選錯組 但是其實有志於二類科系的學弟妹 不限於學測or指考。 至於那種理科神人就算了啦也不用看我這篇。

一、文具

第一個講文具其實蠻奇怪的XDDD 不過一句老話「工欲善其事 必先利其器」。 為什麼要講文具,因為我在開始準備指考前,是「一支黑筆打天下」的人。 也就是說鉛筆袋裡只有十塊錢的 黑筆、紅筆、2B鉛筆、修正帶、橡皮擦 (沒有尺XDDDD) 而且覺得畫很多線、用很多顏色寫筆記的人潮娘der 第一次跟同學去試聽陳建宏的時候,就見識了「阿 原來考73級的人都會這樣唸書」(雖然後來也是考指考 ㄎㄎ) 所以就一下子轉性(?) 跑去書局買了 四個顏色 的0.38 uni那種(黑、藍、紅基本款 另外一個顏色我喜歡紫色 有人用綠色 我覺得很噁) 還有螢光筆、尺、小標籤紙、post-it等等 後來覺得0.38太細 還改成0.28 (之後可以曬圖XDDD) 總之就是,你在想著要用什麼顏色寫的時候,就是一邊在思考哪裡是重點了。螢光筆的效果也是一樣(有人會整本書畫滿嗎XDDD)

所以整理一下 必備文具 = [ 細字中性筆4, 螢光筆1, post-it, 尺*1, 小標籤紙, 自動鉛筆, 橡皮擦, 修正帶 ]

二、筆記

筆記很重要,個人是很懶惰啦不太用筆記本(學測前找買了一堆北一筆記本後來也沒什麼用 當收藏XXDDDDDD) 所以我都直接在補習班講義上做筆記(所以才要用到0.28 陳建宏講義真的是ㄎㄅ擠) 至於做什麼筆記,我喜歡在不熟或容易錯的題目旁貼標籤,然後寫一行字講為什麼錯要注意什麼之類,要想一下,精鍊一點(有點像CCH的「對策」)。 很蠢的東西也可以寫上去,比如說我嘗嘗看錯sin30跟cos30,也常常算反矩陣忘了除行列式值。 很多東西要整理的那種,我用了高中三年從來沒用過的東西—活頁簿 可以把一些東西整理在一起 (比如說化學的各種法(索耳未法之類) 當初可是憑空寫出來好幾頁整理+化學方程式+考題重點 (可惜化學考爛QAQ 毛毛蟲週期表題 被扣6分) 這也可以附圖。

三、教材

關於教材我只想說,用一套就好。覺得把一套認真做好幾遍,比刷好幾本參考書有用(阿內容都差不多啊) 我都是用補習班講義啦,外面的講義 @趙一穎有一篇推荐文 不過有些太難的可以不要裡他 他太強了不算) 第一次精讀、做筆記完之後,第二次可以再快速整本翻一遍,第三次就把有tag的題目再做一次就好。 之前上智的許哲老師說的話覺得很棒(其實是高斯說的) Few, but ripe. (我自己翻成 不多但精熟) 至於模擬考題很多人在問,我覺得可以先當作檢測(不管分數,管你錯哪些單元) 真的變很強發現可以輕鬆電模擬考的時候再來當練習,嘿嘿考前刷了一大疊物化模擬考,培養自信。 但是模擬考會摧殘自信(我寫數學的時候)的話,就不要當練習了XDDD 就拿講義的例題多寫幾遍 考古題也是,不要管分數(因為會很高),學測就是寫考古題之後過度自信才爛掉XDDDDDD 絕對把每題都搞懂才重要,甚至可以做第二遍我覺得。

四、補習

倒覺得這個要看個人,我到學測前都沒有補習,決定考指考的當天就跑去報名了哈哈。 數學在上智(建中附近的小班) 物理在楊竣翔 化學在陳建宏 (後面兩個都很多人) 自己覺得很有幫助,不用有什麼怪怪的堅持,有資源的話就可以選擇補(感謝爸爸媽媽阿公阿嬤姑姑叔叔幫我QAQ)。 另外考前衝刺班很有用(我是在楊竣翔),就是從早上8:00把你關到晚上10:00,周圍圍繞很多北一的JK 唸書就很起勁(X) 不得不說楊竣翔北一的真的超多XDDDD 不過魯蛇如我這幾個月補習下來新認識的全部都是建中的。

五、時間管理

關於時間管理,就是花時間的多餘事情就不要做。能利用的時間都拿來唸書,千萬不要晚睡。 我把ptt跟OSU戒掉,因為學測前天天花很多時間orzzzz FB的話有關一陣子,後來變成潛水(覺得不會花太多時間)。 然後有留個噗浪給我發廢文XDDDDD 關於這方面我也做了很多沒做過的事,比如說午休跟下課唸書。 最後衝刺時間很重要,絕對要請長假去衝刺班or你能認真從8:00~22:00唸書的地方,千萬不要在學校打混(社辦打OSU)。 絕對要睡午覺(我覺得啦)一天睡大概四五十分鐘午覺超級有幫助。 不知道聽音樂的問題要放哪,就放這好了。有人習慣讀書聽音樂(我也是)不過後來發現聽音樂會比較無法專心,就算我都聽日文。 覺得音樂主要的功能是隔離嘈雜的環境,我覺得耳塞也很有用(或者不開音樂帶耳道式耳機) 不過最好是找完全不會有噪音的地方啦

六、心理建設

超級重要的一點。目標放高放你心目中的夢想科系。尤其是學測,每科都要以15級為目標,因為難度太低。 你永遠沒辦法在考試時候發揮100% 所以要準備愈多愈好 200%都沒關係。就是100等去打1等嫩寶的感覺就Win了 最好的是有一種每天進步的感覺,每天都要有「我照這樣進步下去絕對會嚇死別人」的感覺。 不要想著,阿阿考70級就好類似的感覺,反正就是一直讀一直讀,千萬不要去算分數(考前在那邊算有屁用) 另外,我考前在衝刺班,每天中午跟晚上都夢到我在補習班唸書or上課(沒有例外) 這種境界不知道是好還是不好啦 總之就是排除所有雜念只想著唸書就好,什麼事都不管(有一段時間被太陽花影響心情,後來儘量不看新聞) 從起床到睡前就想著考試就好(最後長假衝刺期 一開始就這樣應該會瘋掉) 考試真的很痛苦,不過也會是一段難忘的回憶,總之就要找幾個戰友跟幾個固定倒垃圾訴苦的對象。

七、考試技巧

這段是講在考場當天的考試技巧。第一就是不要在那邊聊天、討論答案。有人問你就說「超簡單的,那題你不會嗎?」之類的垃圾話。 反正就是以自己的心理狀態為唯一,唸書唸到預備鈴想,進教室閉眼睛沈澱心情一下。檢查一下各種准考證阿文具啊桌上的小貼紙啊。 千萬不要把手機帶到考場,放在休息區就好,緊張的時候誰知道會發生什麼。 鈴響了深呼吸一下,第一科(物理)絕對超緊張,先把題目翻完一遍緩和一下再開始寫。 理科的話建議是,單選->非選->多選 我這樣寫在數學根本賺到,因為多選根本整人) 先把會的抓起來,穩穩拿到分數之後再來想要思考的東西,不會的絕對要消去法猜一下。 非選題可以蝦掰一下,比如說物理不會列式或來不及寫,但是你知道是力學能守恆,就寫「依力學能守恆得」 然後掰個式子之類。如果遇到數字很ㄏ的題目就先列式放著(絕對要列符號),最後有時間再來算。 學測自然有給毛毛蟲的「應選幾項」,所以如果刪掉兩個又是應選兩項的話,全選比猜兩個期望值高。 如果是刪掉一個然後是應選三項的話好像也是,之前算過現在有點忘了。

結語

打了一大堆屁話,總之就是希望有些幫助。有什麼問題或煩惱都可以來問(男女不拘喔>.^),反正就是希望各位能順利追夢。 學測就直接衝一發,若是失利千萬不要因為怕考指考不衝,會後悔。 不管是學測還是指考,不要怕失敗,想想你當初想要考什麼,就考就對了。 覺得指考對我的改變很大,各種方面,應該沒有機會這麼拼了吧orzzz

2014-08-01 11.59.52.jpg

2014-08-01 12.00.09.jpg

2014-08-01 12.00.31.jpg 2014-08-01 12.00.24.jpg 2014-08-01 12.01.17.jpg 2014-08-01 12.00.57-2.jpg

[Rails] jQuery in Rails 4 -- Uninstalling Turbolinks

While working on the Rails project, I have problems using jQuery. The problem is from the Turbolink, when you click a link, it uses AJAX to get content from Rails without reloading page. So the $(document).ready() in jQuery won’t work. It can be fixed simply by uninstalling the Turbolinks gem.

  1. Remove gem 'turbolinks' in Gemfile
  2. Run bundle install
  3. Remove //=require turbolinks in app/assets/javascripts/application.js
  4. Remove all code related to turbolinks in the include tags in your layout pages.

There are other workarounds but this is the simplest.

Reference: How to disable Turbolinks in Rails 4

[Rails] Add Markdown Support in Rails

之前那個TIOJ本來說要用Node做的,最後搞得很麻煩還是回來用Rails做XDDD

Reference: Authoring with Markdown in Rails

Gemfile
1
gem 'redcarpet'
app/helpers/application_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
module ApplicationHelper
  def markdown(text)
    renderer = Redcarpet::Render::HTML.new(hard_wrap: true, filter_html: true)
    options = {
      autolink: true,
      no_intra_emphasis: true,
      fenced_code_blocks: true,
      lax_html_blocks: true,
      strikethrough: true,
      superscript: true
    }
    Redcarpet::Markdown.new(renderer, options).render(text).html_safe
  end
end

[Linux] KDE 沒聲音

剛剛手殘用觸控板在聲音圖示上滑來滑去(把音量調高又調低)

然後就突然沒聲音了!!!

如果你也遇到這個問題 先看看alsamixer裏面有沒有被靜音吧= =

看了一大堆其他設定都不行 結果是這麼簡單的原因

差點沒被搞瘋……..

Linux有些地方真的會讓人想抓狂阿阿阿阿!!!!!