[拉麵食記] 台北 屯京拉麵
這家是衝著雜誌介紹去吃的, Friday Night, 單槍匹馬去, 居然還要排到快40分鐘, 比平常這時候在台北車站吃花月嵐排更久, 它座位還比較多
雜誌上介紹的是魚豚拉麵, 不過吃過一些魚貝系的湯頭, 我對這種湯頭並不是特別喜歡, 又想吃つけ麵(沾麵), 所以就點了這碗辣的沾麵來吃…(也有不辣的湯頭)
加麵是不加價的, 我又多花了70元加料, 端來就是這麼滿滿的一大碗, 份量還很夠
麵條是捲曲狀的, 還蠻好吸收湯汁的, 只是過軟, 個人偏好硬一點的麵條, 起初沾個兩三下就入口, 感覺湯頭不夠濃, 加上沾麵的溫度比拉麵低一點, 也不覺有多辣, 鹹度是還蠻夠的, 後來把麵料浸入一段時間再撈起吃(等於當拉麵來吃了), 就覺得還不錯了
除了排隊久了點外, 這家還算不錯吃, 下次有機會再去試它的拉麵好了…
[Android][筆記] JavaScript injection in ICS
看來script injection也不算是啥旁門左道了, 在Android 4.0 ICS上的WebView也使用了同樣的技巧了(在Gingerbread上並未看到這樣的codes)
在ICS的Setting裡面"Accessiblity"裡有個設定叫"Install web script", 其實這東西應該沒使用者看的懂, 其實蠻怪的, 不過既然放了就有它的作用
ICS的WebView裡面有這樣一段codes:
int axsParameterValue = getAxsUrlParameterValue(url);
if (axsParameterValue == ACCESSIBILITY_SCRIPT_INJECTION_UNDEFINED) {
boolean onDeviceScriptInjectionEnabled = (Settings.Secure.getInt(mContext
.getContentResolver(), Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, 0) == 1);
if (onDeviceScriptInjectionEnabled) {
ensureAccessibilityScriptInjectorInstance(false);
// neither script injected nor script injection opted out => we inject
loadUrl(ACCESSIBILITY_SCRIPT_CHOOSER_JAVASCRIPT);
// TODO: Set this flag after successfull script injection. Maybe upon injection
// the chooser should update the meta tag and we check it to declare success
mAccessibilityScriptInjected = true;
} else {
// injection disabled so we fallback to the basic built-in support
ensureAccessibilityScriptInjectorInstance(true);
}
} else if (axsParameterValue == ACCESSIBILITY_SCRIPT_INJECTION_OPTED_OUT) {
// injection opted out so we fallback to the basic buil-in support
ensureAccessibilityScriptInjectorInstance(true);
} else if (axsParameterValue == ACCESSIBILITY_SCRIPT_INJECTION_PROVIDED) {
ensureAccessibilityScriptInjectorInstance(false);
// the URL provides accessibility but we still need to add our generic script
loadUrl(ACCESSIBILITY_SCRIPT_CHOOSER_JAVASCRIPT);
} else {
Log.e(LOGTAG, “Unknown URL value for the "axs" URL parameter: ” + axsParameterValue);
}
loadUrl(ACCESSIBILITY_SCRIPT_CHOOSER_JAVASCRIPT);
這邊並不是強制去載入一個新的URL, 其實他做的就是script injection, ACCESSIBILITY_SCRIPT_CHOOSER_JAVASCRIPT的內容就是:
// JavaScript to inject the script chooser which will
// pick the right script for the current URL
private static final String ACCESSIBILITY_SCRIPT_CHOOSER_JAVASCRIPT =
“javascript:(function() {” +
“ var chooser = document.createElement(‘script’);” +
“ chooser.type = 'text/javascript’;” +
“ chooser.src = 'https://ssl.gstatic.com/accessibility/javascript/android/AndroidScriptChooser.user.js’;” +
“ document.getElementsByTagName('head’)[0].appendChild(chooser);” +
“ })();”;
它就是在最後把https://ssl.gstatic.com/accessibility/javascript/android/AndroidScriptChooser.user.js給inject到page
還沒去仔細看js裡面的內容, 似乎都是一些基本的東西的樣子, 還不太知道他的用意, 不過應該跟加速(?) Google本身的頁面有關係, 不然其他web site應該也沒用到這些東西
[Kindle] 使用Calibre來建立中文的分類 - Kindle Collections plugin
雖然Kindle keyboard有鍵盤, 但也只能輸入英文, 因此也沒辦法建立中文的分類, 有時候還蠻頭痛分類的命名
自從買了Kindle後, 還蠻常用Calibre的, 不過很慚愧的是, 常用它來轉文件卻很多功能都沒去發現到, 今天為了想改個Kindle的字型, 才發現它很多好用的plugin可以用, 其中一個就是Kindle Collections plugin
安裝的方法:
—->—-> Get a new plugin
然後找到Kindle Collections安裝即可
裝好後可能會沒看到任何東西, 所以必須要去Preferences -> Toolbar設定
選擇"The main toolbar when a device is connected", 從左邊找到Kindle Collections把它放到右邊去, 這時候當你Kindle連上電腦後就可以看到這樣的按鈕在toolbar上:
它提供的功能包含讓你從Calibre同步分類過去, 也可以手動編輯分類, 我不想同步, 所以我用到的只有手動編輯
另外值得一提的是它有一個"Modify Kindle Settings"的功能, 可以讓你在不用Jailbreak下換字型 (這也是我今天最主要的目的):
在做這件事之前, 必須先在你Kindle的根目錄開一個"fonts"的目錄並把你的ttf字型檔放進去(檔名格式是xxx-Regular.ttf, xxx-Bold.ttf)
我還蠻喜歡Android ICS的蘿蔔頭(Roboto)字型的, 不過早上弄了半天一直不成功, 後來才發現, Roboto只有英文字型, 如果在中文書內改變字型, 就會跑回預設設定, 也就是原先預設的字型
解決的方法就是要合併中文字型進去, 在Android中, 中文字型是放到DroidSansFallback.ttf去了, 這時候可以用fontforge來合併字型
這邊有提到怎做:
- http://7thgen.info/blog/2008/07/merging-font-with-fontforge/
- http://fontforge.sourceforge.net/scripting.html
Open($1 + “.ttf”)
SelectAll()
ScaleToEm(1024)
Generate(“temp.ttf”, “”, 0x14)
Close()
Open($2 + “.ttf”)
SelectAll()
ScaleToEm(1024)
MergeFonts(“temp.ttf”)
Generate(“new_” + $2 + “.ttf”, “”, 0x14)
Close()
因為Roboto除了正常字體外還有粗體, 斜體, 粗斜體等等字型檔, 我不太確定只合併一個夠不夠, 所以小改了 1 裡面提的script, 假設把上面的script存成merge.pe , 執行的方法如下:
fontforge -script merge.pe DroidSansFallback Roboto-Regular
依序再把其他字型合併
這是正常改成Roboto的結果:
按"Aa"鍵可以挑字型, 這時候你可以看到字型設定在"alt", 這方法的缺點是, 千萬別改成其他字型, 要不然設定又會跑回預設, 也會找不到"alt"
中文字型也有比原先好看點, 但我還不是很滿意, 之後再來試試其他字型:
但選單的字型是不會跟著改的, 還是原來的:
最後….上面Kindle的screenshot是怎抓的? “Alt + ↑ + G”
[筆記] 用SSH X11 forwarding連結Mac & Linux
兩台電腦沒兩台螢幕還挺不方便的, 用ssh連到另一台Linux用command line的缺點是一些X11 apps都沒辦法用, 不過好像ssh也不是只有文字可用
ssh -X my_host
用上面的方式就可以用X11 forwarding的模式連到Linux的那台, 這時候執行任何一個X11程式, 視窗就會在你的電腦顯示而非遠端那台Linux, 舉個例, 我從mac mini連到一台遠端的Linux執行banshee, 這就是mac mini上得到的結果(這screenshot有兩個視窗, 上頭是banshee run on X11, 下頭是terminal, 用ssh -X連到Linux並執行banshee):
“男人”(man)的說明是這樣寫的:
-X Enables X11 forwarding. This can also be specified on a per-host basis in a configuration file.
X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user’s X authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring.
For this reason, X11 forwarding is subjected to X11 SECURITY extension restrictions by default. Please refer to the ssh -Y option and the ForwardX11Trusted directive in ssh_config(5) for more information.