2023年7月19日 星期三

Gentoo - 透過 Flatpak 使用 Application

參考 https://wiki.gentoo.org/wiki/Flatpak

按照 Wiki 的說明安裝完成,重新開機後,試著安裝和執行 Package。

----------------

$ flatpak update
正在尋找更新...

無事可做。
$ gsettings get org.gnome.desktop.interface gtk-theme
'HighContrast'

$ flatpak install flathub org.gtk.Gtk3theme.HighContrast
正在尋找符合項目…
錯誤: No remote refs found for ‘flathub’

$  flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

$ flatpak install flathub org.gtk.Gtk3theme.HighContrast正在尋找符合項目…
錯誤: flathub 遠端沒有項目符合 org.gtk.Gtk3theme.HighContrast

$ flatpak install flathub com.prusa3d.PrusaSlicer
正在尋找符合項目…
com.prusa3d.PrusaSlicer/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/21.08) 所要求的執行時期環境在 flathub 遠端中有找到
您想要安裝嗎? [Y/n]: 

com.prusa3d.PrusaSlicer permissions:
    ipc               network          x11                devices
    file access [1]   dbus access [2]  bus ownership [3]  system dbus access [4]

    [1] /media, /run/media, home, xdg-run/gvfs
    [2] com.prusa3d.prusaslicer.InstanceCheck.*,
        org.freedesktop.DBus.Introspectable.*
    [3] com.prusa3d.prusaslicer.*
    [4] org.freedesktop.UDisks2


        ID                                            分支   Op 遠端    下載
 1. [✓] com.prusa3d.PrusaSlicer.Locale                stable i  flathub  10.6 MB / 10.6 MB
 2. [✓] org.freedesktop.Platform.GL.default           21.08  i  flathub 129.6 MB / 129.8 MB
 3. [✓] org.freedesktop.Platform.GL.nvidia-525-125-06 1.4    i  flathub 415.2 MB / 415.2 MB
 4. [✓] org.freedesktop.Platform.Locale               21.08  i  flathub 144.0 MB / 326.8 MB
 5. [✓] org.freedesktop.Platform.VAAPI.Intel          21.08  i  flathub  11.8 MB / 11.9 MB
 6. [✓] org.freedesktop.Platform.openh264             2.0    i  flathub   1.5 MB / 1.5 MB
 7. [✓] org.freedesktop.Platform                      21.08  i  flathub 155.8 MB / 202.3 MB
 8. [✓] com.prusa3d.PrusaSlicer                       stable i  flathub  67.5 MB / 68.5 MB

安裝完成。

$ flatpak run com.prusa3d.PrusaSlicer
--------------------------------------------------------------------------
Message: 10:29:15: Starting PrusaSlicer flatpak with entrypoint script
--------------------------------------------------------------------------

$ [2023-07-20 10:29:15.408172] [0x00007f7f4c22dd40] [trace]   Initializing StaticPrintConfigs
Gtk-Message: 10:29:15.416: Failed to load module "canberra-gtk-module"
[2023-07-20 10:29:17.494827] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Zonestar.idx when loading bundle Zonestar. Going to search for it in cache folder.
[2023-07-20 10:29:17.498202] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/BIBO.idx when loading bundle BIBO. Going to search for it in cache folder.
[2023-07-20 10:29:17.503602] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Snapmaker.idx when loading bundle Snapmaker. Going to search for it in cache folder.
[2023-07-20 10:29:17.506831] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Trimaker.idx when loading bundle Trimaker. Going to search for it in cache folder.
[2023-07-20 10:29:17.509011] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Anker.idx when loading bundle Anker. Going to search for it in cache folder.
[2023-07-20 10:29:17.510935] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/RatRig.idx when loading bundle RatRig. Going to search for it in cache folder.
[2023-07-20 10:29:17.514338] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/MakerGear.idx when loading bundle MakerGear. Going to search for it in cache folder.
[2023-07-20 10:29:17.524208] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Artillery.idx when loading bundle Artillery. Going to search for it in cache folder.
[2023-07-20 10:29:17.528303] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Voron.idx when loading bundle Voron. Going to search for it in cache folder.
[2023-07-20 10:29:17.564913] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Templates.idx when loading bundle Templates. Going to search for it in cache folder.
[2023-07-20 10:29:17.579916] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/gCreate.idx when loading bundle gCreate. Going to search for it in cache folder.
[2023-07-20 10:29:17.586573] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Print4Taste.idx when loading bundle Print4Taste. Going to search for it in cache folder.
[2023-07-20 10:29:17.587819] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Elegoo.idx when loading bundle Elegoo. Going to search for it in cache folder.
[2023-07-20 10:29:17.591829] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/TriLAB.idx when loading bundle TriLAB. Going to search for it in cache folder.
[2023-07-20 10:29:17.605191] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Ultimaker.idx when loading bundle Ultimaker. Going to search for it in cache folder.
[2023-07-20 10:29:17.607750] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Geeetech.idx when loading bundle Geeetech. Going to search for it in cache folder.
[2023-07-20 10:29:17.631185] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Creality.idx when loading bundle Creality. Going to search for it in cache folder.
[2023-07-20 10:29:17.667837] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Rigid3D.idx when loading bundle Rigid3D. Going to search for it in cache folder.
[2023-07-20 10:29:17.672664] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Anycubic.idx when loading bundle Anycubic. Going to search for it in cache folder.
[2023-07-20 10:29:17.687543] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/BIQU.idx when loading bundle BIQU. Going to search for it in cache folder.
[2023-07-20 10:29:17.690856] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/INAT.idx when loading bundle INAT. Going to search for it in cache folder.
[2023-07-20 10:29:17.695248] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Jubilee.idx when loading bundle Jubilee. Going to search for it in cache folder.
[2023-07-20 10:29:17.697763] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Infinity3D.idx when loading bundle Infinity3D. Going to search for it in cache folder.
[2023-07-20 10:29:17.702944] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/LulzBot.idx when loading bundle LulzBot. Going to search for it in cache folder.
[2023-07-20 10:29:17.704932] [0x00007f7f4c22dd40] [error]   Missing index /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/FLSun.idx when loading bundle FLSun. Going to search for it in cache folder.

(prusa-slicer:8): Gtk-WARNING **: 10:29:18.334: Negative content width -8 (allocation 10, extents 9x9) while allocating gadget (node entry, owner GtkEntry)

(prusa-slicer:8): Gtk-WARNING **: 10:29:18.334: Negative content width -8 (allocation 10, extents 9x9) while allocating gadget (node entry, owner GtkEntry)

(prusa-slicer:8): Gtk-CRITICAL **: 10:29:18.379: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar

(prusa-slicer:8): Gtk-WARNING **: 10:29:18.390: Negative content width -8 (allocation 10, extents 9x9) while allocating gadget (node entry, owner GtkEntry)

(prusa-slicer:8): Gtk-WARNING **: 10:29:18.390: Negative content width -8 (allocation 10, extents 9x9) while allocating gadget (node entry, owner GtkEntry)

** (prusa-slicer:8): WARNING **: 10:29:41.583: atk-bridge: get_device_events_reply: unknown signature
sh: 列 1: xdg-mime:指令找不到
[2023-07-20 10:29:45.510275] [0x00007f7f4c22dd40] [error]   Couldn't locate idx file /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/PrusaResearch.idx when performing updates.
[2023-07-20 10:29:45.510724] [0x00007f7f4c22dd40] [error]   Couldn't locate idx file /home/ajax/.var/app/com.prusa3d.PrusaSlicer/config/PrusaSlicer/cache/vendor/Templates.idx when performing updates.
-----------------

執行結果如下圖。

執行效果比使用 AppImage 好一些,會安裝相關的檔案,不用自己亂試少了什,或有什麼不相容的。原在在 Xfce 下執行 gtk3 的 Prusa Slicer 的 AppImage,半透明部分會整個透空,無法使用。如下圖,畫面整個亂掉。


-------------------
$ flatpak install flathub com.microsoft.Edge
正在尋找符合項目…
com.microsoft.Edge/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/22.08) 所要求的執行時期環境在 flathub 遠端中有找到
您想要安裝嗎? [Y/n]: 

com.microsoft.Edge permissions:
    ipc             network         cups              pcsc
    pulseaudio      wayland         x11               devices
    file access [1] dbus access [2] bus ownership [3] system dbus access [4]
    tags [5]

    [1] /run/.heim_org.h5l.kcm-socket, host-etc, xdg-desktop, xdg-documents,
        xdg-download, xdg-music, xdg-run/pipewire-0, xdg-videos,
        ~/.local/share/applications:create, ~/.local/share/icons:create
    [2] com.canonical.AppMenu.Registrar, org.freedesktop.FileManager1,
        org.freedesktop.Notifications, org.freedesktop.ScreenSaver,
        org.freedesktop.secrets, org.gnome.Mutter.IdleMonitor.*,
        org.gnome.SessionManager, org.kde.kwalletd5
    [3] org.mpris.MediaPlayer2.edge.*
    [4] org.freedesktop.Avahi, org.freedesktop.UPower
    [5] proprietary


        ID                                        分支            Op     遠端        下載
 1. [✓] org.freedesktop.Platform.GL.default       22.08           i      flathub     142.9 MB / 143.1 MB
 2. [✓] org.freedesktop.Platform.GL.default       22.08-extra     i      flathub      16.2 MB / 143.1 MB
 3. [✓] org.freedesktop.Platform.Locale           22.08           i      flathub      38.2 MB / 333.4 MB
 4. [✓] org.freedesktop.Platform.VAAPI.Intel      22.08           i      flathub      13.3 MB / 13.4 MB
 5. [✓] org.freedesktop.Platform.openh264         2.2.0           i      flathub     887.2 kB / 944.3 kB
 6. [✓] org.freedesktop.Platform                  22.08           i      flathub     156.3 MB / 214.4 MB
 7. [✓] com.microsoft.Edge                        stable          i      flathub     154.8 MB / 153.9 MB

安裝完成。
-------------------



2023年7月11日 星期二

ffmpeg 轉檔測試

 201502101413

fmpeg 轉檔測試,主要是針對產生 H.264 的影片,不同條件下,產生的檔案差異

原始檔的資料

  • 檔案大小 754MB
  • 長度 1h:38mn
  • Overall bit rate : 1,074 Kbps
  • Video 的 bit rate: 878 Kbps

Two-pass 轉檔

指令 ffmpeg -i input.mp4 -y -c:v libx264 -preset medium -b:v 800k -pass 1 -f mp4 /dev/null && ffmpeg -i input.mp4 -c:v libx264 -preset medium -b:v 800k -pass 2 output.mp4

  • 檔案大小 657 MiB
  • Overall bit rate : 936 Kbps
  • Video bit rate : 800 Kbps

Constant Rate Factor (crf=20)

指令 ffmpeg -i input.mp4  -c:v libx264  -crf 20 -maxrate 1000k -threads 6 output.mp4

  • 檔案大小 446 MiB
  • Overall bit rate mode : Variable,Overall bit rate : 636 Kbps
  • Video bit rate : 499 Kbps

Average Bit Rate (ABR, 800Kbps)

指令 ffmpeg -i input.mp4 -c:v libx264  -b:v 800k -threads 6 output.mp4
  • 檔案大小 592 MiB
  • Overall bit rate : 843 Kbps
  • Video bit rate : 706 Kbps,Nominal bit rate : 800 Kbps

Groovy,真的是 groovy

 201501082026

有句話說,「肝要是不好,人生是黑白;肝要是好,人生是彩色的」

開發網頁,在 Java 的黑白世界中,Groovy 讓它變成彩色的。

最近,接了一個用 Java 開發的專案,真有股衝動,想把它換成熟悉的 PHP+Laravel。可是,它可是集合多人,經過多年才完成的結果,若想換語言,那可不是輕易的想做就可以完成的。一邊用 PHP 挖掘系統的細節,一邊思考該如何做才好。經過一陣子,無聊的,在 Google 上,搜尋類似「Java 好難」的 keyword,不經意的注意到和 Java 似乎完全不相干的字眼,Groovy。細看下去,還真的讓我心中,陰暗的天空,逐漸的開朗,彩色慢慢的重現出來。然後,相關的 Grails 也連帶的出現,心情就變得更好了。

Groovy,正如其名,真的是 groovy。把原來的 Java 程式,剪貼進來,完全照吃。然後,接下來的修改,就變得很隨興,行尾不加「;」,只用 def 宣告變數。list 和 map,更是讓人不用再去碰那難用的 ArrayList。

人生真的,因 Groory 而變得明亮,富有彩色了。

論文寫作修訂整理

 201406291010


投稿的 paper 被 reviewer 嫌英文太差,要求經 native English speaker 修訂。透過前輩介紹,給台灣有名的 Ted 教授修訂。一個 word 要台幣 2 元,一篇 paper 有 9 千多字,花了 1萬8。國科會最多可以報 1 個字 1 元左右,不夠的要自己墊。好在有上,剛好過畢業門檻,算是值得。

修訂重點與建議,整理如下,以供參考。

  • Avoid First person “We” unless explicitly stating your opinion such as ‘we conclude’ ‘we can infer’ ‘we posit’ ‘we speculate’ ‘we recommend’ ‘we postulate’ ‘we hypothesize’.
  • Avoid negative voice in technical writing as much as possible. 例如 ‘not inconvenient’ -> ‘inconvenient’ 或 ‘infeasible’。
  • Consistent verb tense is important.  Unnecessarily switching back and forth in verb tense – especially in the same paragraph – will confuse the reader. 華人最困擾的部分之一 – 時式。
  • Don’t always use Chinese-English structure of  “A is used to solve B.”  Instead write more directly in emphasizing the contribution rather than the method itself by stating “B is analyzed using A.” 華人感到困擾的部分之一 – “用 A 來解決 B” ,沒有生命的東西怎麼會有動詞呢?。
  • Avoid redundancy.  Why do you have to repeat ‘implement’ twice in the same sentence. 例如 As a resultConsequentlya most intuitive implementation of the AC-algorithm is to implements the AC-DFA in a lookup table. 唉,你以為我喜歡啊,就只會那一招半式而已啊 ... 不過,這句也改得怪怪的,後來指導教授有修訂。這兒就做個參考吧。
  • a higher throughput THAN WHAT? ‘higher’ implies a comparison with something. Just write ‘high’ if not implying a comparison. 啊,我們就習慣說得到比較好的結果啊,那考慮那麼多 ...
  • However, Yet another difference between the software and hardware approaches also differ in is that the former generally has a larger dictionary size can be larger in a software approach generally. 簡潔有力,就是要這樣改。不過,還要再練,才有辦法。
  • Especially when implementing a multi-character transition matching architecture, the required space will (NOTE: Avoid future verb tense in technical writing as much as possible) grows exponentially with respect to the number of characters (to be inspected OR under inspection) in parallel.

FastCgi + Phalcon 有多快

 201402021259

使用 Laravel 之後,自己負責的應用程式,差不多都 porting 到 Laravel,只剩下一個有效能要求的,不敢動,仍然使用 ASP.NET。春節 (2014) 期間,上網看到 Bruno Skvorc 的 "Best PHP Frameworks for 2014" (http://www.sitepoint.com/best-php-frameworks-2014),排名第二的 PhalconPHP (簡稱 Phalcon),以效能著稱,不禁心動,春節過後,就來實際測試一下。

其實,Phalcon 並非第一個擴展的框架 (extension-based framework),YAF 在 2011 年中就已提出,並被包含在 pecl extension 中。而且,在目前可得到的 benchmark,YAF 還是略快一些。只是,相對於 Laravel 這樣方便的框架,Phalcon 和 YAF,兩者都同樣有 extension-based framework 特有的難以使用的特性,而 YAF 還更難一些。至少,我照著 Phalcon 的網頁,簡單的建立幾個檔案,就可以看到成果。YAF 則要更為深入的調整,才能成功。另一個,不考慮 YAF 的因素是,其最後的 DLL 下載版本是一年前的,表示,這一段時間,它的進展是停滯的。


測試環境,OS 為安裝在 VMware ESXi 5.1上面的 Window server 2003,配置 CPU*2,1.5GB RAM,PHP 為 5.4.12。資料庫存取為透過 PDO:SQLSRV 從 MS SQL 2000 取得某個使用者的相關紀錄,大約 10 筆,傳回的文件長度約 680 bytes。

執行命令 ab -n 100 -c 10 http://10.161.81.190/abtest.php

CASE 1
首先,來個測試的基準,在 php 中單純送出 'hello' 文字,傳回的文件長度為 5 bytes。
CGI 的結果為 29.65 [#/sec] (Requests per second) 。
使用 FastCGI 1.5,第一次 1534.14 [#/sec] ,第二次 3305.29 [#/sec]。

具資料庫操作的測試,CGI 為 18.15 [#/sec],FastCGI 為 1377.57 [#/sec]

對照組,ASP.NET 的結果為 1462.69 [#/sec]。
另外,也用 phalanger 測了一下,大約在七八百之間吧。不過,終究其相容性較差,PDO:SQLSRV 無法正常運作,Laravel 也跑不動,用 Google 搜尋,也不容易找到相關資訊,不要再浪費時間去測試了。


CASE 2
使用 PhaconPHP 1.2.6,具資料庫操作。
單純使用 CGI 的結果,20.16 [#/sec]。
使用 FastCGI 1.5,第一次 208.91 [#/sec],第二次 788.36 [#/sec]。

CASE 3
使用 Laravel 3.2.14,無資料庫操作,單純的產生一個空白的 form,未連結資料庫, 傳回的文件長度為 737 bytes。
使用 CGI 的結果,15.19 [#/sec]。
使用 FastCGI 1.5,第一次 64.32 [#/sec],第二次 71.83 [#/sec]。

 比較表

CGIFastCGI
PHP (純文字)303305
PHP (資料庫)181377
ASP.NETNA1463
Phalcon20788
Laravel1572

註: 結果取較高的次數,並且四捨五入


個人心得
非 常吸引人的結果,使用 PhaconPHP 配合 FastCGI,效能可以提昇 10 倍以上,從每秒處理的服務數量來看,能有超過 500 次的能力,著實讓人心動。但在目前的版本下,有個小問題是其所支援資料庫實在很少。另外,使用 FastCGI 有個不便之處,那就是基於安全的考量, FastCGI 會隱藏錯誤訊息,debug 要稍微費心些。說真的,暴露出錯誤訊息,是不好的習慣,但人有時候就是為了省事和方便,不會認真處理錯誤訊息。

FastCGI 對於 Laravel 的提昇效果並沒有如此顯著,但我所負責的程式,大多每分鐘的使用者都不超過一個人,就算使用 CGI 也足以應付,真正在乎的是程式好寫且好維護。

誠如 Bruno Skvorc 的結論所說的,各個 PHP 的 FrameWork,深究其中,都很類似。而 Phalcon 在提昇效能上的作法,無疑的提供了一個不錯的可行方向。曾聽起前輩提到科技發展的 divergence and convergence,在各種 FrameWork 相繼被提出之後,最終,PHP 可能會加上原生 MVC 的支援。

令人失望的新款小紅點鍵盤

 201312052339

現在只有一個想法,覺得「中國設計製造,真是讓人沒信心」。

我是 IBM 的 Trackpoint 鍵盤的愛用者。最近 (2013 年 11 月),因為使用中的鍵盤變髒變舊了,想再買個新的。

好不容易,透過網拍,找到一個,產品的全名叫 ThinkPad Compact USB Keyboard with TrackPoint,多了一個 Compact 的形容詞,型號為 KU-1255。雖然沒有中文輸入法,但將就著用也還好。只是,用了一陣子之後,真的是讓人感到很失望。

舊款的叫作 ThinkPad USB Keyboard with TrackPoint,型號為 SK-8855,FRU 為 55Y9010,或繁體中文的 FRU 為 55Y9060。



明顯的缺點是,按鍵行程變得更短,很沒有觸感,打字很不舒服。而且,手指很難放對位置,在按右邊的 Shift 時,老是按到 Ctrl。

最嚴重的缺點則是,把調 Trackpoint 的 sensitivity 的功能給閹掉了。雖然可以調指標速度,讓游標移動的很輕鬆。但是配合中間按鍵模擬 scroll 功能時,就要較費力推動。一整天下來,可以微微感覺肘部肌肉,甚至背部的肌肉,都會緊張,持續個幾天,就會造成肌肉疼痛。

ThinkPad 的鍵盤,自 IBM 以來,已經用了很多年。IBM 的鍵盤,一般來說,還可以接受。不知道聯想 (Lenovo) 在買下 ThinkPad 時,談的授權為何。想來是授權的約束或時間過了,聯想為了省錢,就改用自己的設計。以往,會買 ThinkPad 的筆電或鍵盤,純粹是為了那顆小紅點。如今,鍵盤和 TrackPoint 變得如此難用,ThinkPad 的愛用者,再買新的電腦時,真的該考慮不同的品牌了。

不得已,我只好趁網路上還買得到舊款的時候,趕快搶購一個,還可以再撐著用個幾年吧。這個新款的,就留著當備用的了。

2013-12-15 補記

其實,是我後知後覺,ThinkPad 早就因為鍵盤的改版而吵得熱鬧滾滾。雖然,似乎有人支持聯想求新求變的作法,但相信會有許多人,已經決定不再買新的 ThinkPad 了。這個連結的說法可以做個參考http://ultrabook.pconline.com.cn/330/3304664.html

這個連結的 title 定為「ThinkPad X1c 長测三:巧克力鍵盤中的霸主」,會讓人誤認為新的比舊的好,應該是說,巧克力鍵盤都不太好用,ThinkPad 的做得最好,雖然是越改越差,只是「乞丐中的霸主」罷了。

綜合一下,該文的說法

首先,對巧克力鍵盤做一些說明。在 92% 全尺寸鍵盤的標準下,採用巧克力块獨立式鍵帽,讓每個按鍵如同巧克力塊浮在水面上一般放置在鍵盤底座上。在保證了鍵盤區尺寸的情况下,增大了手指與鍵帽接觸的面積,擊鍵更加準確,手感更加舒適。依據人體工學特徵設計出凹帽状按鍵,同时,非粘連設計也減少了按錯鍵的機率,這與傳統鍵盤相比,不論是鍵程還是鍵距都有著明顯的提高,增加了操作的舒適度。外觀簡明清潔、1.902mm 最佳鍵程和指腹彎曲設計、强對比色標注快捷鍵、按鍵防塵功能緊湊、手感舒適,這些内涵,在巧克力鍵盤上得到了融合創新與呈現。

但是,以上巧克力鍵盤的特徵,並不一定優於 ThinkPad 傳統鍵盤。ThinkPad 傳統鍵盤為了良好的手感需要比較大的鍵程,每一個按鍵的下方還留有一定的弧度,雖然看上去它贴合手指的面積和巧克力鍵盤相仿,但是它鍵帽下沿的區域對於手指感受提升是很明顯的。用戶手指每一次按鍵不一定會按到鍵帽的中间部位,即便只按到了下沿區域也能够獲得回馈,變相的來說,ThinkPad 傳統鍵盤的實際反馈面積要比改進后的鍵面要大,也就是對用戶輸入錯誤的纠正能力要强很多。這也是為什麼 ThinkPad 的鍵盤给人的感覺打字極為舒適。

現在,再說回 ThinkPad X1 Carbon,這款產品所採用了新一代的巧克力鍵鍵盤,但是它也並非普通的巧克力鍵盤,ThinkPad 的獨特依舊存在。相比 ThinkPad 傳統鍵盤,新鍵盤的鍵帽增大了接觸面積,增添了 “X” 型支架。雖然這些改進從賬面上來說讓它更美了,但是實際的手感確實有所下降。除了傳統鍵盤的真正面積要大之外,傳統鍵程確實要長一些輕微。新型鍵盤的 “X” 型支架與 “鼓” 型弹片對回饋力的影響很大,按鍵按上去並不是那麼 “渾厚” 和稳定,有一點輕飄飄的。好處是不需要太大的力氣即可打字。壞處就是,傳統鍵盤的柔顺手感確實已經不再了,需要老用戶們重新去適應。

先前 (T400s) 提供更大尺寸的 [Esc] 和 [Delete] 按鍵,因為它說

. 研究結果表明使用率高的按鍵是 Esc 和 Delete 鍵

. 調查結果表明 Delete 鍵平均使用約 700 次/星期



ThinkPad 傳統鍵盤對鍵盤排列的理解也遠超過競爭的產品,比如現如今依舊堅持著 Fn 鍵在左下角,用戶在光線不足的情況下,可以很容易摸到组合必備的 Fn 鍵。另外就是大家常用的 Shift+Ctrl 切换輸入法,如果你用中指按住 Shift,再用食指即可,而如果 Ctrl 鍵在邊角上,你就需要用不怎麼有力的无名指,或者把手多移動一些位置,在使用中指與食指。再有就是 7 行這些小细節的與眾不同正是 ThinkPad 的精準所在。

 ThinkPad X1 Carbon 保留了大部分 ThinkPad 傳統鍵盤的鍵位排列顺序,也改動了很多细節,比如將原先的 7 行鍵盤改為 6 行,去掉了 Pause/break 鍵,將原先的大面積的 ESC 缩小,Delete 做成了横向等等。我們看到現如今的 ThinkPad 鍵盤更加簡潔了,但是某些東西是否也不再保留了呢?

綜合來說 ThinkPad X1 Carbon 的鍵盤體驗其實並不如之前的舊款產品,在機身變薄之後,它的按鍵厚度也比 T 系列要薄,這也是為什麼總覺得有些輕飄飄的。在簡潔的流行風之下,為了輕薄便携的 ThinkPad X1 Carbon 也走上了巧克力鍵盤之路。其實去年聯想將 ThinkPad 全線更新為巧克力鍵盤之後,也引來了一大片的反對之聲。曾經有網友評論 “如果整個市場上一水的巧克力鍵盤,那我憑什麼要選 ThinkPad?” 答案或許是:他是巧克力鍵盤中做得最好的。

用不慣的高級玩具

 201311231321

超昂貴的玩具。把要買給同事的,先拆開來試玩一下,就立刻決定退貨,換成 120 GB 的 SSD。
最主要是鍵盤架太矮了,放不進去,而且它的球很容易就滾出來。像我以前用的羅技金星一樣,滾出來掉在地上,就可能會凹一個洞,不敢再試。



  


下面是幾個我用過的舊軌跡球,下排最左邊那個就是先前用的羅技金星。金星的球不小心很容易就會滾出來。因為桌面很亂,有次稍微側了一下,球就滾出來掉在地上,凹了一個小洞,以後轉起來就卡卡的。好在羅技大方,帶到台北分公司,就給我換一顆球。

邏技後來在這方面已有改善。球會稍微卡住,下方有個小洞,用根軟頭的棍子,像帶軟橡擦的鉛筆,頂一下,球就可以拿下來,清除裡面的髒污。



 

下面這個網誌連結,寫了很多他個人使用軌跡球的經驗,可以參考一下。
http://tacolin.blogspot.tw/2010/04/trackball.html

有一段時間,主要都是用軌跡球,後來出 ThinkPad 的 USB 鍵盤,就變成 Trackpoint 配合軌跡球。改程式,逛網頁,都使用小紅點,手不用離開鍵盤。只有玩個接龍,或做不需鍵盤的事,或是要靈活大量移動游標時,才用軌跡球。
有趣的是,別人要用我的電腦,就會完全的不知所措。不是看著小紅點發呆,就是拿著軌跡球猛滑,想當然的,游標完全不動,一付非常錯折的表情。但是小紅點,真的是比軌跡球的愛用者還要更少,在台灣要買到有小紅點的鍵盤,真的是非常不容易。不然就是只能買到鍵帽只有英文字母的鍵盤。

設定 mouse 的參數

201311021231

參考 https://wiki.archlinux.org/index.php/Mouse_acceleration

在 X windows 下,要設定個別的 mouse 的參數,例如加速與靈敏度,可以使用 xinput。

emerge -av x11-apps/xinput

Using xinput

First, get a list of devices plugged in (ignore any virtual pointers):

$ xinput list

Take note of the ID. You may also use the full name in commands if the ID is prone to changing.

Get a list of available properties and their current values available for modification with

$ xinput list-props 9

where 9 is the ID of the device you wish to use. Or

$ xinput list-props mouse brand

where mouse brand is the name of your mouse given by $ xinput list

Example, changing the property of Constant Deceleration to 2:

$ xinput list-props 9
Device 'mouse brand':
       Device Enabled (121):   1
       Device Accel Profile (240):     0
       Device Accel Constant Deceleration (241):       1.000000
       Device Accel Adaptive Deceleration (243):       1.000000
       Device Accel Velocity Scaling (244):    10.000000
$ xinput --set-prop 'mouse brand' 'Device Accel Constant Deceleration' 2

To make it permanent, edit xorg configuration (see above) or add commands to xprofile. The latter won't affect speed in a Display Manager.

Configuration example

You may need to resort to using more than one method to achieve your desired mouse settings. Here's what I did to configure a generic optical mouse: First, slow down the default movement speed 3 times so that it's more precise.

$ xinput --set-prop 9 'Device Accel Constant Deceleration' 3 &

Then, enable acceleration and make it 3 times faster after moving past 6 units.

$ xset mouse 3 6 &

If you are satisfied of the results, store the preceding commands in ~/.xinitrc.

絕命調查 - 觀後感言

201310281846

 真的有人會為了證明別人的說法是錯的而犧牲自己的性命嗎?

在電影「绝命调查 (The Life of David Gale)」
幾個反對死刑的人,故意製造凶殺案現場,造成男主角被冤枉判死刑
,而真相在他被處死後,透過事先安排的記者採訪,立即公開。這樣做的目的,只是為了證明有人被判死刑是冤枉的,卻無法重審。
劇中還搬出蘇格拉底被判死刑的故事,因為男主角是個很有成就的哲
學學者。
劇終再來個杜蘭朵公主中,柳兒為了保守秘密而自殺的片段。
嗯,人生的意義,到底為何?
為了一個理想而死,也心甘情願嗎?

玩股票,永遠都在後悔中

201310261028

 玩股票,永遠都在後悔中

  • 買了就跌,只好苦笑著說,不賣就不賠,等它漲回來再賣吧。
  • 買了就漲,漲了一倍賣掉,它卻再漲個三四倍,真是讓人搥心肝,早知道就不賣。
  • 看著股票直直漲上去,手中卻沒半張。等到忍不住,跳進去買,它卻開始跌。
  • 所有的股票都漲,唯獨自己手中的股票不漲。

其中,最讓人後悔的是,做對了,但在賣掉之後,它卻繼續再漲好幾倍,一大段沒賺到。

據研究,玩股票賺錢,通常並不會高興,反而大多讓人感到懊悔。
其中,最讓人後悔,後悔到搥心肝的是,
做對了,但在賣掉之後,它卻繼續再漲好幾倍,一大段沒賺到。

想想,某支股票,買在 100,賣在 200,賺了 100,可是它卻繼續漲到 1000,肯定讓人懊惱到搥心肝。

當然,也有讓人高興的

  • 一買就跌,後來漲回進場點,趕快賣了,慶幸把虧損扳回來。
  • 買在最低點,賣在最高點,自認真是天才。

搬家完成

 2013-10-26 10:24

Yahoo 的部落格在 2013 年 12 月要停止服務,提供搬家服務。於 10 月底完成搬家,開始使用囉。

2023-07-12 補記,如意窩使用到 2015,因為廣告太多,受不了,又改用 Google 的 blog。十年後,如意窩要在 2023年8月停止運作,又再把一些對自己有記憶價值的網頁搬到 Google 的 blog。

免費網站空間試用

 201308171357

為了想要整理般若自在門 -- 玄光通的演講錄影,方便大家觀看。不適合擺在工作的伺服器上,blog 又沒有支援 PHP,所以找了個支援 PHP 的免費空間,http://www.000webhost.com/,試用看看。

可以自訂綱域名稱,http://borer.comuv.com。為了方便自己進管理端,順便幫它推一下,後台的入口是 http://members.000webhost.com

網站重要的資訊如下。
PHP Version 5.2.17
Linux srv26.000webhost.com 2.6.18-238.12.1.el5
Apache ver.     2.2.19 (Unix)
Disk Space     1.5 GB

先跑個 phpinfo 看看有些什麼,真的可以跑,太棒了。
可以使用 Sqlite,就用來放資料吧,雖然有 MySql 可用,但不要弄得那麼複雜。
另外,裝個 SQLiteManager 來管理資料庫。它的中文用 Big5,直接將資料檔改成 utf-8,就可以在資料庫中,在 utf-8 的資料了。

用 Mac OS 好,還是回去用 Linux 好呢

 201308121947

用 Mac OS 好,還是回去用 Linux 好呢

特意買了相容的硬體,也成功地裝好 Mac OS X 10.8.4 Mountain Lion,可是還是有點想要改回去使用 Linux。

用 Mac OS 有什麼好的呢?回去用 Linux 又有什麼好的呢?

用 Mac OS 的好處是喜歡它的 Finder,直接可以開敋且自動 mount 網芳,Sublime Text 可以輸入中文。
不好的地方呢,menu bar 在視窗邊邊,右鍵又沒有敋動的 menu,推得手部肌肉好酸。
Dock 只有一個,缺少彈性。

相對的,上述的好與不好的地方,反過來就是 Linux 下的優點了。

還有,Quartus 目前沒有找到 64-bit 的解決方式,Vmware Fusion 感覺上又慢了好多,有點受不了。

既如此,換回去 Gentoo Linux 吧....

等拿到博士學位再慢慢玩 Mac 吧!


沒有什麼多考慮,實在受不了了,花了兩天的時間,重灌 Gentoo,現在已經使用習慣的 OS 了。

201308101053熟悉 MAC 中

照著網 上找到的資料,很順利地在普通的 PC 上裝好 Mountain Lion (OS X 10.8.4)。目前慢慢地熟悉中,並想辦法把一些慣用的東西收集起來。

Logitech Trackball,cursor 移動的速度很慢,要滾好久才能到想到的地方。安裝 Logitech 的 driver,就可以調整速度,很快的移動 cursor。

Lenovo 的 USB 鍵盤+TrackPoint,要很用力的推那個小紅點,推到手的肌肉很酸。
安裝 libusb-1.0.9 + pyusb-1.0.0a3,就可以很容易地將小紅點的靈敏度調到最高,可以很輕鬆的推著跑。

Lenovo 的 USB 鍵盤+TrackPoint,設定中間按鍵按下為 scroll 的功能,使用 USB Overdrive,雖然是要錢的軟體,但只會在開機時提醒,還可以接受。

使用 Vmare Fusion 來執行 Windows XP,使用手動建立 raw partition 的虛擬硬碟,即可使用原來的硬碟。
再將原來的 Linux 的硬碟放進 VM 中,重新 build kernel 即可 boot。再將 X window 的顥卡驅動程式重新 emerge 即可進入 X window。

中文輸入法,習慣使用的倉頡輸入法,MAC 內建的是第五代倉頡輸入法,有很多字的拆法不同,常常打不出字來。雖然它用的是 Scim,但一時找不到換字碼表的方法,改用香草輸入法,就可以了。
在 MacPorts 可以安裝 gcin,但不能正常啟動,先不管了。
另外,也將輸入法切換改成 Ctrl+Space,不然實在不習慣。

另外,用 MacPorts 裝了一些慣用的東西,包括 Krusader、kdesvn。


ClipMenu 剪貼簿

公寓頂樓加裝儲水塔

 2013-07-06 12:10

家住頂樓,非得加裝加壓馬達,不然水壓不夠,熱水器點不著,沒法洗熱水澡。可是加壓馬達最大的問題是,壓力開關很難調。不是開開關關,就是不停的加壓,直到水管爆開。爆開後造成頂樓淹水的盛況我沒親逢,是小孩處理的。另外,時開時關的噪音更是煩人。基於這些因素,一直有要廢掉加壓馬達的念頭。

想到的改善作法,是在樓梯頂裝個水塔。

但高度似鎌不足,水出得來,熱水器還是無法點著,必須另裝個小的加壓馬達。

壓力的計算方式,水位高低差 1 公尺會產生0.1 kg 的水壓。

一般 瓦斯熱水器的水壓都要求在 0.2 kg/c㎡ 以上
所以高度要在 2 公尺以上,也就是熱水器上端與水塔底部的高度差,比較保險的做法是要 2.5 公尺以上

一般水龍頭水壓至少要 0.3 公斤,所以至少要 3 公尺, 蓮蓬頭最小水壓是 0.7 公斤,所以要 7 公尺
水壓不夠,就花個 2500~3000 元加裝葛蘭富超靜音熱水器加壓馬達 (特力屋有售)。
順便給洗衣機用。

買國產的「紅龍牌」熱水器專用加壓馬達,APP (JA-80),比較便宜。當時,葛蘭富熱水器專用加壓馬達一直打廣告,聽到這廣告才知道有這種產品。也買過一個葛蘭富的熱水器專用加壓馬達,但它的是壓力開關是機械式的,水壓太小無法開啟,後來一直擺著都沒用。

有人會懷疑,一般的加壓馬達有 1/4 HP,而熱水器專用加壓馬達卻只有 1/10 HP,是不是太小點? 其實,一般的加壓馬達是裝在水管的源頭,冷熱水同時加壓。而熱水器專用加壓馬達卻只加壓熱水器的進水口,若壓力太大,會從冷水管流回去,冷水出不來,甚至可能連抽水馬桶都會冒出熱水。

Track Ball

 201305040924




想法倒過來,世界就變得不一樣了。
把滑鼠翻過來,就不用推著滑鼠到處跑。


靠鍵盤討生活的這些年中,陪伴過我的各式 trackball。它們的界面,有小的 ps/2 接頭,也有 USB,新的是無線。不過,實在不需要用到無線的,因為本來就是放在固定位置,不用移來移去。

軌跡球,不用移來移去,所以線不容易折壞。
上面的軌跡球,有的是用姆指推的,有的是姆指按鍵,有的是左右手都可以用。
有新的出來,就會想買來試試看,那個比較好用。

水管接頭 DIY

 201304211307

今天多會一樣技術,拆舊的水管接頭,再換新的接頭。
用膠水接水管,看過很多次了,已有概念。
較煩惱的是,舊接頭要如何拆下,又不破內管。
感謝方便的網路,找到前人的分享,再稍加練習。成功的破壞和拆下舊接頭,雖然稍微破內壞到內管,但大致良好。
現在在等膠水硬化,缺水中...。
材料 300 元,工時 3 小時。可是工具要上萬塊,其中迷你魔電鋸最貴,要好幾千。

=== 拆舊接頭的方法 ===
主要目標,不計代價的拆下舊接頭,但內管要良好。
所以,先儘可能的把舊接頭不要的部份鋸掉。
然後,把舊接頭弄一個縫。我是用小電鋸切。不然就用鋸片慢慢弄了。
再用噴燈烤外管,軟了,就用鉗子把它剝開。烤一段,剝一段。
我的噴燈溫度太高,一下就燒焦,不過外管是不要的,無所謂。但小心不要烤到內管,必要時,我是用舊硬碟的外殼擋一下。

我因為沒算準,切縫時,稍微傷到內管,不過,膠水塗上後,應該會溶合吧。

=== 黏接 ===
用膠水黏接頭,相對的簡單,但沒有失敗的機會,所以要準備好,確定了才動手。

=== 接頭脫落原因 ===
會要自己 DIY 修水管,是因為頂樓加壓馬達的接頭漏水,換過加壓馬達的金屬接頭座後,整個接頭崩開,變成鬧水災。在修復時,發現接頭無法鎖緊,只好想辦法換 PVC 水管端的的接頭。
那個 PVC 接頭叫做「止閥接頭」,有外螺紋, 行話叫「PVC套銅閥接頭」,用的是 6 分的。加壓馬達端的則是菱形有內螺紋的接頭座。
原以為是塑膠接頭的螺蚊滑牙,才會接頭崩脫。在買了新的有銅螺紋的接頭,互相對鎖之後,才知道是新的和舊的螺紋不合,所以鎖不緊。

改用 Laravel,和 CodeIgniter 說再見

 2013-03-28 20:59

終於,還是決定使用 Laravel 了。

並非我真正知道它有多好, 而非換不可, 主要是受了網路上一堆吹捧 Laravel 的影響.
尤其是 "Laravel is Awesome" 這一篇 po 文, 但也不是它的內容影響了我.
真正影響我的是此文的作者 Phil Sturgeon, 他曾是 CI 的發展者之一, 後來受不了 CI  的作法, 改為加入發展 FuelPHP, 然後說出讚嘆 Laravel 的話. 更進一步, 他主導的 PyroCMS, 打算 port 到 Laravel, 而非他自己參與開發的 FuelPHP. 既然高手都以行動來表示支持 Laravel, 我當然放心的轉換陣營啦.

Laravel 算是 CodeIgniter (CI) 的後代子孫吧,所以在使用上和 CI 很類似,都是用檔案來設定,不用什麼自動化工具來產生程式, 這也是我會選擇它的原因之一。

很快的,就把自己先前使用 CI 開發程式有用到的功能,都在 Laravel 中找到對應的作法,確定都可以順利移轉。也試著將一個 asp 程式轉成使用 Laravel,一樣的,只要在 Controller 中建立一個對應的 action,然後把原來的程式全部包到 view 中,就完成 porting 了。在這過程中,並沒用到比我在 CI 中所用的更多的功能,或許有吧,只是我不曉得,或沒有覺得它很了不起。

整個練習的過程很平順,然後,就決定改用 Laravel 了。

最後, 要對 CI 表示致謝一番.
使用 CI 快兩年了,感謝它,讓我領略到簡單易用的 MVC 開發環境,也讓我能夠輕鬆的開發和維護程式。
更重要的是,, 終究 ci 開創了在 php 下的一套輕量級 MVC 的作法. 因為 CI,而有了 Kohana、FuelPHP 等新的 framework,最終有了 Laravel。讓我有好用的開發工具。

會想換工具,最初不過就是想找個新鮮的東西玩玩。
然後,看到網路上的比較,對 Laravel 頗為稱讚,會讓人不安的只是進展太快。
用了之後,我喜歡它的 stack trace、auto loading、Namespace、...
其中 stack trace,便於 debug,雖然 CI 可以自己加,但系統能內建,總是比較方便。
auto loading 和 Namespace,則讓程式變得較簡潔,有時要打一堆 $this->,真有點煩。
目前,我大部分只用到與 CI 類似的功能,只是把它們換個不同的名稱。
另外,像新的 ORM 的東東我目前沒用,等熟悉後再來慢慢嘗試著用。
或許可以這麼說,假如不算多的功能,Laravel 是一個更好用的 CI,所以,要熟悉和移轉是很快的。

共好 Gung Ho

 201302121137

1.松鼠的精神 ─ 有價值的工作
  Spirit of the Squirrel -- Worthwhile Work
  
1) Knowing we are making the world a better place
      明白我們讓世界變得更好
   2) Everyone works toward a shared goal
       每個人都朝共同的目標前進
   3) Values guide all plans, decisions, and actions
      一切計畫、決定與行動,都以價值觀為依歸

2.海狸的方式 ─ 掌控達成目標的過程
  Way of the Beaver -- In Control of Achieving the Goal
   1) A playing field with clearly marked territory
      界限明確的球場
   2. Thoughts, feelings, needs, and dreams are respected, listened to, and acted upon
       尊重、傾聽、並實踐員工的想法、感受、需求、與夢想
   3) Able but challenged
       培養工作能力,迎接新挑戰

3.野雁的天賦 ─ 互相鼓舞
Gift of the Goose -- Cheering Others On
  1) Active or passive congratulations must be T.R.U.E
     主動或被動的喝采,都應該是真心的 - TRUE
  2) No score, No game, and cheer the progress
    得分是比賽的原動力,針對過程表示讚美
  3) E=MC2 -- Enthusiasm equals mission times cash and congratulations.
     
E=MC2 - 熱情等於任務乘以現金與喝采

開放式課程紅到大陸

201301202335





第一篇帖子出現的時間,由 Google 查到的
2013-01-15 22:18:57
http://bbs.wenxuecity.com/mychina/691920.html

1/16 晚在辦公室值班,看到 media server 的連線數暴衝到 500 左右,嚇一跳,以為有人來砍站。平時最多都沒有超過一百,通常在五十左右而已。

課程是「中國大陸興起與全球政治經濟秩序重組 - 朱雲漢」,幸好課堂上沒說什麼會讓大陸人不高興的話,不然我的網站可能就慘了,或者會被網路長城給封掉。

由 1/23 的訪客量來看,還會持續成長中。而且,不光是該門課,整個網站的課程點閱量都變得提昇許多。

錯誤才有進步

201301172106

 Phantom of the Pits,Chapter 7 - Trading With Rules One and Two

「It is never bad to be wrong. Only then can you benefit when you are correct.」

以上的句子,出自《幽靈的禮物》,第五章,
「犯錯誤並不是壞事,只有在犯錯誤時,你才能汲取教訓,從而在操作正確時獲利。」

下面是隨手記下的:
人生中,似乎沒有什麼是確定的
我的博士念了十年
也只不過是不想放棄而已
沒什麼真正的目的
現在真的投入的是交易
而且,在學習交易中,最後變成自我成長

當自己生命中的魔術師

 201301171354



最近逛書店時,無意中讀到一本我覺得不錯的書。
中文書名「如果你對現況感到倦怠……」
原來的英文書名是 「The Magician’s Way: What It Really Takes to Find Your Treasure」
中文的書名和原來的書名真是差很多,由中文書名完全看不出來這本書的主題。這是一本有關成長課程的書,與一般講很多理論的書不同,本書透過故事的方式來呈現出自我成長的方式。

以下是根據我個人所學過的知識來看這本書,它包括了吸引力法則,還有站在吸引力法則的對立面的陰影。
吸引力法則,我們要把焦點放在目標,而非過程。
陰影 (shadow),我們必須要接受自己的陰影,才能拿掉它的力量,使自己不為陰影所控制。
最後,我們無法解決問題。我們要做的是改變自身的結構 (structure,書中譯為架構),使得結果不同。

嗯,對吸引力法則、陰影、情緒、結構,對於這些不熟悉的人,大概只覺得故事還不錯而已,但對它要說什麼,則可能毫無概念。回過頭來說,對於吸引力法則、陰影、情緒、結構,要花多少時間才能有所理解呢,大概是一輩子吧,而且是要透過一些挫折才學得會。

THE SEVEN SECRETS OF MAGIC

The First Secret: Your thoughts and feelings aren't real
Your thoughts and feelings are expressions of your underlying assumptions in any moment, not reflections of actual reality or what is truly possible.

The Second Secret: Your focus creates your reality
Your experience in life is determined by what you put your attention on. If you focus on end results you inevitably attract what you want. If you focus too much on what you have to do to get what you want, you end up attracting your fears, doubts and beliefs.
秘密二:你的心所專注的對象,創造你認知到的現實
你的生命經驗,取決於你把注意力放在什麼對象上。如果你把焦點放在最終結果上,就必定會把心想要的吸引過來。如果你太過專注於通往終點的步驟和過程,就會把疑慮、恐懼和成見吸引過來。

The Third Secret: Everyone has a heart
Having a heart means that you do have dreams, that there are things you love, things that are deeply important to you. An inherent part of the human journey is that at some point you end up putting more energy into protecting your heart than following it.

The Fourth Secret: There is never anything to do, but always action to take
'Action' is about taking direct steps, based on the obvious, towards creating what you want. 'Doing' is about fulfilling certain conditions you believe are necessary before you can get what you want.


The Fifth Secret: Structure has integrity
Something's structure dictates its behaviour, and its behaviour dictates its experience. In creative terms, what your attention is focussed on forms the underlying structure in your consciousness. The motivations behind what you do in life reveal your true focus.

The Sixth Secret: You get your energy from a higher source
As a human being, you have the tendency to develop fixed concepts about what is in your highest good and where it is supposed to come from. The key to magic is developing the ability to let go of your fixed concepts and open up to the true source of your energy.


The Seventh Secret: It takes will
Ultimately, your highest source of energy is your own heart. Yet, the paradox is that you are conditioned to protect your heart, a behaviour motivated by fear. Your fears are communicated to you by thoughts and feelings. There can be no sustainable change in your experience of life unless you have the will to choose going for your heart over resolving your thoughts and feelings.

像鬼打牆一樣的系統

201301072158 (後記,自此之後,不再使用 Y拍)

 真的什麼爛系統,想在 Yahoo 拍賣買個東西,只是 55 元的款沒繳,想繳一下,填個簡單的資料,卻一直出現

「會員帳務聯絡地址資料有誤,請修正!」,
啊,我的住址就長的這樣啊,不然要怎樣,我也把會員資料copy來貼上,還是不行。真是鬼打牆的系統。
真是很差勁,東擋西擋的,寫的什麼爛東西。
然後,連個聯絡方式也找不到,看來這問題,在網上也有人問,就是程式有問題吧!
唉,不用也罷!

唉,服務中心有許多許多的類別,就是要填許多必填項目,我怎麼知道我要填一個,看了看,也沒有一個適合的,什麼東西嘛...

網誌存檔