<![CDATA[Creativecrap]]> https://creativecrap.com/ Creativecrap RSS Feed https://creativecrap.com//image/favicon-144.png Creativecrap https://creativecrap.com/ zh-tw Sat, 25 Mar 2017 01:44:12 +0800 Disable rootless on Mac OSX 10.11 https://creativecrap.com/article/misc/disable-rootless-on-mac-ox-10.11.html https://creativecrap.com/article/misc/disable-rootless-on-mac-ox-10.11.html Fri, 02 Oct 2015 07:34:43 +0800 OS X 10.11 及 iOS9 引進了 System Integrity Protection 也就是俗稱的 rootless 的保護機制,簡單的說他限制了所有非 Apple 軟體去更動系統自帶的檔案,這包含了系統上最高權限的帳號 root 也無法更動,所以即使有 root 權限的 sudo 命令,也會只得到 "Operation not permitted" 或 "can’t be modified or deleted because it’s required by OS X" 的結果。 OS X 10.11 及 iOS9 引進了 System Integrity Protection 也就是俗稱的 rootless 的保護機制,簡單的說他限制了所有非 Apple 軟體去更動系統自帶的檔案,這包含了系統上最高權限的帳號 root 也無法更動,所以即使有 root 權限的 sudo 命令,也會只得到 "Operation not permitted" 或 "can’t be modified or deleted because it’s required by OS X" 的結果。

立意是好的這毋庸置疑,對一般的使用者來說只有更安全,但對於進階者說來不便應該會多於安全。例如以字型來說,在安裝完或系統版本更新之後,關閉明體及楷書字體是我首先會調整的設定之一,因為這兩個字體實在不適合在電腦上閱讀使用,但大多數狀況下他的優先權卻又高於其他字體,能夠關閉的字體則在 Font.app 中完成,如果為系統字型無法關閉,我則會把字型由 /Library/Fonts 複製到 ~/Library/Fonts 然後就能在 Font.app 中關閉但並沒有真的刪除字型,這個動作在 rootless 的限制下就無法完成,更別說像 XtraFinder 這類的插件也都無法正常執行。  


Disable rootless  


唯一的方式只有關閉 rootless,要關閉 rootless 需要進入 Recovery mode,未進入回復模式下執行的 nvram 都沒有作用,系統重新啟動後就會再複原。  


1. 開機始按住 command-r 進入 recovery mode  
2. 於選單中選擇 Utility > Terminal 開啟終端機  
3. 執行 csrutil disable 關閉 SIP  
4. 重新啟動  

完成上述動作,就完成關閉 rootless。可以再執行 csrutil status 確認 SIP 的啟用狀況,有需要重新開啟時,重複上述動作,指令改為 csrutil enable 則可重新開啟。  

Terminal 過程如下

-bash-3.2# csrutil

Modify the System Integrity Protection ...

]]>
About https://creativecrap.com/misc/about.html https://creativecrap.com/misc/about.html Thu, 28 Feb 2008 19:47:46 +0800 My name is Ethan, a freelance developer base on Taipei, Taiwan.
I've create many websites and a few iOS apps.

If you like to contact me, please use the following contact form, I'll get back to you as soon as I can.

If your questions are relate to any of our product, please provide more informaction about the product and your device, it'll help us to solve your questions faster. ie. zhim! extended v2.1 on iPhone6 iOS 8.1.

Line@

To get instant news or direct support via Line app, feel free to add us as a friend

]]>
How iOS *keyboard works https://creativecrap.com/article/tutorials/how-ios-keyboard-works.html https://creativecrap.com/article/tutorials/how-ios-keyboard-works.html Mon, 20 Mar 2017 22:14:58 +0800 iOS3 以前所有的輸入界面都是受限於系統,因此除了內建的輸入方式之外,無任何方式可以使用其他輸入法,當然 jailbreak 不在這篇要談的範圍。

iOS3 在 UITextField, UITextView 加入了 inputAccessoryViewinputView (似乎比較稍後才出現,已經記不得) 兩個區域,可以讓開發者另外設計專屬的輸入界面,這也是輸入法 app 開始發展的時期,zhim! 也是在這個時候誕生。

ios-inapp-keyboard.png

inputView 取代了原先系統建盤的位置,這也是自訂鍵盤使用的地方。inputAccessoryView 主要會依附在鍵盤的上面,通常做為輸入輔助工具列使用,例如擺放一些 copy, paste 按鍵等等。當連接上藍牙鍵盤時,inputView 區塊則會隱藏,而 inputAccessoryView 則會貼在螢幕的最下方。

How virtual keyboard and bluetooth keyboard works

當使用系統鍵盤輸入,或是藍牙鍵盤輸入時,大致上會產生下面的流程

  • 內建鍵盤或藍牙鍵盤輸入 6
  • iOS 告知 textView 有新的字元 6 要插入
  • textView 則通知 app 有新的字元 6 要插入
  • app 得知後,則交由 app 的輸入法程式處理
  • 再判斷要輸出的結果,如圖大易輸入法模式下,則是 textView 忽略 6 的字元,而顯示字根在 inputAccessoryView

How custom keyboard works

當使用自訂鍵盤時,輸入界面已由 iOS 轉為由開發者設計的自訂鍵盤。

  • inputView 上的虛擬鍵盤按下 6
  • 虛擬鍵盤程式告知 textView 有新的字元 6 要插入
  • textView 則通知 app 有新的字元 6 要插入
  • app 得知後,則交由 app 的輸入法程式處理
  • 輸入法程式判斷要輸出的結果

除了輸入端的不同,由 textView ...

]]>
zhim! extended v2.6 - iPhone, iPad 中文輸入工具 https://creativecrap.com/app/zhim-extended.html https://creativecrap.com/app/zhim-extended.html Sun, 08 Jun 2014 12:05:13 +0800 Input methods
zhim! is a text editor with Chinese input method framework, a variety of tables are available, including Array(行列), Boshiamy(嘸蝦米), Cangjie(倉頡), Dayi(大易), easy(輕鬆), Eten(倚天注音), Hsu(許氏注音), Zhuyin(注音), among others.
The tables can easily be edited or imported from CIN plugin format data table directly in-app or using online converting tool.
Each regular and symbol keyboard supports up to 5 row keyboard layouts, and keyboard layouts can be edited for each input method.

    Helper  

        Choose any character or phrase from candidate bar by tap it or candidate key defined by input method.  
        A trick for the composing buffer, you can use it for input English without switching keyboards.  
    Ever forgot how to spell a word or try to fix a typo? By select a word from editor and choose Find by pronounce, it will shows words with the same pronounce. Or find phrase to look for phrases starts with the  ...
]]>
Let’s Encrypt + Certbot + Nginx https://creativecrap.com/article/tutorials/lets-encrypt-certbot-nginx.html https://creativecrap.com/article/tutorials/lets-encrypt-certbot-nginx.html Sat, 18 Mar 2017 19:03:33 +0800 certbot.png

Let’s Encrypt 現在的工具已經很完善,不像之前需要比較多的手續,主流平台 Certbot 也都支援,使用方式也很簡單, certbot 的說明也很清楚。

以 Ubuntu 16.10 + Nginx 為範例
在開始產生憑證之前,先確定相關的域名與 DNS 都已設定完成,才能夠進行。

install

$ sudo apt-get install certbot

安裝完成後,certbot 執行檔會在 /usr/bin/certbot 而相關設定檔則在 /etc/letsencrypt。
產生憑證的方式有兩種,一個使用 webroot plugin 會在網站產生一些相關的檔案,一個為 standalone 獨立執行,比較沒有其他相依性。standalone 會使用到 port 80 使用前需先將 web server 先停止。

憑證產生的語法

$ certbot certonly —standalone -d example.com -d www.example.com -d sub.example.com

可以一次產生一個憑證給多個域名,不過最好除了主域名及 www 字域名之外,其他子域名則另外分開建立,往後若需要憑證拆開使用時,比較不會遇到問題,待會兒會提到。

renewal

Let’s Encrypt 的憑證效期是 90 天,所以需要定時的更新。

$ certbot renew —dry-run

—dry-run 會進行模擬憑證過期及更新憑證流程,不會實際更新目前使用中的憑證,先測試沒問題後就可以擺到 cron 排程。

!/bin/bash

service nginx stop
certbot renew
service nginx start

nginx setup

重複使用率很高,所以放在 snippets 下比較方便。/etc/nginx/snippets/ssl.conf 範例

spdy 已進入歷史,改使用 http2

listen 443 ssl http2;
...

]]>
Vultr speed tests https://creativecrap.com/blog/misc/vultr-speed-tests.html https://creativecrap.com/blog/misc/vultr-speed-tests.html Thu, 02 Mar 2017 01:33:17 +0800 抓幾個 Vultr 提供的機方測試,分別是 ping 及 100MB 檔案的下載速度

中華電信測速 (非機房)

PING hinet-hp.cdn.hinet.net (210.71.222.134): 56 data bytes
64 bytes from 210.71.222.134: icmpseq=0 ttl=58 time=5.236 ms
64 bytes from 210.71.222.134: icmp
seq=1 ttl=58 time=7.129 ms
64 bytes from 210.71.222.134: icmpseq=2 ttl=58 time=7.008 ms
64 bytes from 210.71.222.134: icmp
seq=3 ttl=58 time=7.676 ms
64 bytes from 210.71.222.134: icmpseq=4 ttl=58 time=7.231 ms
64 bytes from 210.71.222.134: icmp
seq=5 ttl=58 time=7.446 ms
64 bytes from 210.71.222.134: icmpseq=6 ttl=58 time=7.426 ms
64 bytes from 210.71.222.134: icmp
seq=7 ttl=58 time=10.068 ms
64 bytes from 210.71.222.134: icmpseq=8 ttl=58 time=7.240 ms
64 bytes from 210.71.222.134: icmp
seq=9 ttl=58 time=17.252 ms

--- hinet-hp.cdn.hinet.net ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 5.236/8.371/17.252/3.159 ms

% Total % ...

]]>
OkidoKey - The Input Method Keyobard Kit https://creativecrap.com/app/okidokey.html https://creativecrap.com/app/okidokey.html Tue, 01 Dec 2015 15:59:28 +0800 English

            OkidoKey  
            THE INPUT METHOD KEYBOARD KIT  





    Screenshots  



















            Features  

                含常用中文輸入法字根表清單,包含行列10、行列30、注音、倉頡、大易、輕鬆輸入法及拼音等等  
                繪文字  
                同音字查詢及字根、注音及拼音反查  
                藍牙鍵盤、筆記及剪貼板  
                中英文混合輸入  
                自訂鍵盤可使用多組鍵盤配置  
                行列30 輸入法優化,並支援一級簡碼、二級簡碼及特別碼  
                括號自動配對及全形符號  
                拼字檢查、連絡人名稱及使用者文字替換  
                支援 .cin 輸入法字根表格  
                支援輸入法候選字選擇鍵  
                自訂鍵盤  
                繁體中文字詞  
                繁體/簡體中文輸出選擇  
                自動複製文字的剪貼板  
                自訂鍵盤使用二指遊標控制  








        Notes specially designed for  
        Hardware Keyboard  







    Input Methods  

        OkidoKey 中文輸入法可分為兩個主要部份 - 輸入法字根表及鍵盤配置。  
        輸入法字根表採用較廣為使用的 cin 字根表格式,OkidoKeyCharsets 專案也蒐集常見輸入法字根,多數取自於香草輸入法,包含有行列、表音、注音、注音-許氏鍵盤、倉頡、四角號碼、普實台文、大易、极点五笔、简体仓颉、粵語拼音、摩斯碼、輕鬆、華象直覺、简体汉語拼音、繁體漢語拼音、正體漢語拼音、順序速成、快倉七代、简体双拼、簡易(大字集)、簡易(速成)、吳語注音法、简体五笔字形等常見輸入法。  


        行列30  
        OkidoKey 遵循行列輸入法規格書定義,支援一級、二級簡碼及特別碼。 ...
]]>
Creativecrap Version 23 https://creativecrap.com/blog/misc/creativecrap-version-23.html https://creativecrap.com/blog/misc/creativecrap-version-23.html Thu, 02 Mar 2017 01:32:55 +0800 從 Laravel 上學到了不少東西,雖然還有大部份的內容未熟悉,不過一旦有脫節仍還是有升級不易的問題,雖然這裡是 lifetime side project。一段時間就會重頭開始打造 cms,這次受到 Laravel 的影響較深,也使用了不少 Symfony 的元件跟觀念,還是有很多底層的東西還未熟悉。

Server 環境也一併升級,應該還要一段時間修修補補,不過 php7 真的快的有感

]]>
zhim! extended Dictionary Converter https://creativecrap.com/app/zhim-extended-dictionary-converter.html https://creativecrap.com/app/zhim-extended-dictionary-converter.html Tue, 22 Feb 2011 07:38:54 +0800 使用 iOS8 自訂鍵盤,請見 OkidoKey

關於字典檔

zhim! 所使用的字典檔,除了需要匯入輸入法的字根之外,因為還需要其他一些配合軟體使用的資料,例如鍵盤的配置等等。以及考慮到可攜性及平台,選擇使用 SQLite 為字典檔的格式,可參考字典檔詳細說明。

關於字根表
這裡指的字根表,即為該中文輸入法的所有文字以對應的拆解字根的總表,依所使用的輸入法軟體不同,有幾種不同格式的字根表,在這裡我們所需要的是 CIN 格式的字根表。
CIN 檔案為純文字文件,內容類似 CSV 格式但多了一些與輸入法相關的資訊,如所使用的按鍵及輸入法名稱等。
部份輸入法購入時會含有字根表,其餘多數應該可於各官方網站取得,或其他網路資源蒐集:若你的字碼表格為較舊的版本,請先將檔案編碼轉為 UTF-8 編碼,否則轉換出來的可能會是亂碼。

嘸蝦米: 由行易官方網站提供的 IBus 表格,再行轉換成 cin 格式 ibus2cin

無啥味: 由李果正先生所整理的嘸蝦米相容表格 noseeing-12, google  

香草輸入法: 含數種允許公開釋出的輸入法表格,如 行列、注音、倉頡、大易、拼音等輸入法字根表
倚天26(忘形26): 以 NetKidz 所整理給 Android LIME 使用的字根表,加上 cin 資訊 bpmf-et26.cin

嘸蝦米指南
如果您使用的是嘸蝦米,無奈實在不清楚上面在說的是什麼,請參考嘸蝦米指南

]]>
Ta Prohm, Angkor https://creativecrap.com/blog/misc/journal/ta-prohm-angkor.html https://creativecrap.com/blog/misc/journal/ta-prohm-angkor.html Fri, 17 Mar 2006 07:40:39 +0800 從吳哥窟回來了,一上線就開始有人討照片看,先來個塔普倫神廟解個讒Ta Prohm 就是 Tomb Raider 拍攝的主要景點之一,也是使得吳哥窟變成名的地點之一這一回拍了一千多張,大部份都用 18-... 從吳哥窟回來了,一上線就開始有人討照片看,先來個塔普倫神廟解個讒Ta Prohm 就是 Tomb Raider 拍攝的主要景點之一,也是使得吳哥窟變成名的地點之一這一回拍了一千多張,大部份都用 18-70mm 的焦段拍攝,果真是好用的旅遊鏡

]]>