跳到主要內容

發表文章

ABI or ELF library

自從 LLVM release Windows Installer 版本以來,一直希望能在 Windows 中使用 LLVM 工具套組,可是都是由於 Library 格式不同,無法使用到像基本的 iostream 等 std C++ library,所以還是不能在 Visual Studio 中以 Clag++ 來 compile C++ 程式。 在  LSB Infrastructure Project 中,開發了一個   ABI compliance checker 程式,提供程式開發者確認 Library 是否相容?在參考文獻當有一篇 ACCU 的文章,標題是 Interface Versioning in C++ , 討論有關於 share library 版本的問題,與 LLVM Win Installer 的使用問題相關,可以作為參考。

今天不適合寫程式--如何擷取 pst-fun 圖形

很早以前使用 LaTeX + Beamer 寫 slides ,在 slides 的最後都加入一張 pst-fun 的圖形,今天想把圖形下方的 thanks you 改成 thank a lot,卻花了大半天的時間,主要處理 2 個問題: 字型放大:只要使用 {\fontsize {35}{20} \selectfont 文字的內容} 來調整字型,後來找到原始的程式(texfromzero slides 中 pstfun.tex),只是使用  \centering\Huge\textit { pst -fun} 來處理。   擷取符合 pst-fun 圖形的大小:這個問題是當 LaTeX 產出 ps 檔,如果直接再使用 ps2pdf 輸出 pdf 檔,檔案是整頁的 pdf 檔,而我們需要的只是 pst-fun 圖形的大小。以前就曾經使用 GSview 來轉檔,使用 GSview 開啟 LaTeX 產出的 ps 檔 ,再 File -> PS to EPS 來轉檔。基本的概念是將 PS 檔轉成 EPS 向量圖,轉成的 EPS 檔就是符合大小的圖形檔,最後 epstopdf 來轉成 pdf 檔。擷取畫面如下:       今天腦筋可能有些混沌,思緒不是很清晰,一直無法將這些問題解決,花掉大半天的時間,真的不是寫程式的日子。

Julia Language

想要在 Windows 系統中 make IPSUR 新版的套件,修改了一些 source code ,但在仍然為著需要 ESS(Emacs Speak Statistic) 的套件苦惱時, 在 IPSUR 的開發者 G. Jay Kerns 的 git source code 檔案 旁出現 ESS, Julia 的程式庫。好奇的看了一下這又是什麼東東?從 Julia 官網中擷取它自己的簡介: Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. 它內建的 Compiler 是建構在 LLVM 的基礎上,可以轉成 C,執行的效率可以提升。網站針對Fibonacci, quickSort 等功能也提出各種不同語言 benchmark,包括 C, Fortran, Julia, Python, Matlab, R 等。 Julia(茱莉亞) 這個相當年輕的語言,依照其發展的趨勢, 有想要取代 Matlab 的影子 ,至於 R 的軟體 是否可能被取代,有待 Julia 的套件的開發是否完整?但是,已經有人寫了一篇名為 " Thoughts on Julia and R " 的文章,對...

「學」、「教」翻轉的寧靜革命

今天看到「 大學生變「人形墓碑」 的新聞標題,看了一下內容,是日本學者佐藤學所推動的教學與學習的概念,佐藤學強調: 中國式「虎爸」、「虎媽」的高壓管教方式,這樣的教育不會成功;他以彈鋼琴為例,就算嚴格訓練可使彈奏技巧出眾,卻未必能培養出音樂素養,孩子更無法享受樂趣。 佐藤學表示,新世代學習崩壞現象令人憂心,不但台灣有大學教授形容學生上課有如「人形墓碑」,日本很多明星國、高中學生在課堂上也都不聽課,「從學習中逃走」。他認為,大學生變成「人形墓碑」,反映了內心對於學習是失望的、孤立的,因此,東亞國家的教育必須由「競爭教育」轉變為「共生教育」,並且從「有目的的教育」發展為「有意義的教育」。  佐藤學倡導「學習共同體」思維:每間教室以4名學生為1組協同學習,減少教師在課堂講課的時間,要求老師更著重聆聽、串聯、回歸知識原點,透過師生對話,讓思考更深化,達到「伸展跳躍的學習」。 非常酷的想法,以人為本位,老師不再是高高在上的老師。透過教與學兩者之間的對談,可以了解學習者真正的需求與渴望。經由分組的討論,小組協同學習,讓知識的傳播沒有距離,讓學習者對知識的渴望能勇於表達,進而達到了解問題、深化思考、處理問題的能力。

好詩句:插秧偈

馬王的爭鬥已經過了一些時間了,昨天高院開庭審理國民黨所提出的抗告, 審判長魏麗娟 引用了五代後梁時期的布袋和尚所寫膾炙人口、廣為流傳的禪詩「插秧偈」: 「手把青秧插滿田,低頭便見水中天,心地清靜方為道,退步原來是向前。」 這時引用「插秧偈」這詩句,真是用的恰當,佩服這位法官!問題是:當事人是否有如此的胸襟、想法?看來還需要一些時間才能夠知曉。 自從新的行政院長上任以後,國內的政治的氣氛好像不怎麼和諧,例如:上任一星期就推「核四公投」這個議題,學政治的人,總是了解如何解決政治上的問題?但是,心中沒高於常人的品德,將淪為政客,猶如宋朝秦檜,遺臭千萬年,落得「油炸檜」的名號。而上位者,是否具有高度的智慧,洞察下屬的心思、伎倆及殷勤,任用正直、品德高尚的人來輔佐,例如: 唐朝的魏徵 ,考驗著上位者的智慧及行政歷練。不過,在這「總是相信無聲的和諧,卻不願熱烈爭辯」的你爭我鬥的社會氛圍下,會講話的、不真實、講大話的人,往往是得到長官及高層青睞、賞識,不是嗎?最後:「人,總是在受到挫折後,才明白“忠言逆耳利於行”的真諦,皇帝也不例外。」雖然了解“忠言逆耳利於行”的真諦,但,願意再奉獻心力的忠良人士,早已經心碎或鬥垮了,那,為時已晚矣!

Setting Boost library in Qt for Windows 64-bits

Qt 是一個很優質的 C++ IDE,在前些日子 Qt Project release Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB) 的版本,於是重新安裝了這個版本。但是自己卻忘記之前 compile Boost 是 msvc 32-bits 的版本(Boost 的 compile 設定可以參考之前寫的 Building Wt with Visual Studio 2012 on Windows 8 x64 PC 這篇文章),在使用 Boost Getting Started on Windows 的 Regex source code 做測試時,卻出現 error LNK2019 : unresolved external symbol 錯誤,參考了 stack overflow 的這篇文章 ,才知道用到 32-bits 的 regex Library ,整個修正的過程,紀錄在底下的文章,以後才不至於忘記。 Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL) 這個版本主要是使用 Visual Studio 2012 做為後端的 Compiler,然而安裝 VS 2012 Express for Desktop 可以使用 x64 or x86 的版本,所以安裝完  VS 2012 Express for Desktop 以後,再安裝 Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL) 就可以使用,並不需要做特別的設定。相同地,使用 Boost 也是一樣,只要不需要特別 link 到 Boost library 的程式,皆可以 compile 成功,並且可以執行。底下省略了安裝 VS 2012 及 Qt 的過程,並且使用之前 Boost 32-bits 的 library 來測試 Boost Getting Started on Windows 的 lambda 程式,整個過程為: 1. 在 Qt 中新增一個 Plain C++ Project:    File > New File or Project > Non-Qt Project >...

New website of BoostCon

BoostCon 的網站 主要是針對 Boost Conference 所做的網站,提供 Conference 的一些訊息,在這個 Conference 所討論的議題不僅包括 Boost Library 的內容,也涉及一些與 C++ 相關的議題,目前 BoostCon 網站已經改名為 C++now 網站 ,為何要改成 C++now 可以參考 網站中 About 的說明 。在 2013 年的 Conference 中有許多 speaker 討論了一些議題值得關注,Session 的 Slides 可以在 Github repository 中下載,整個 Video 可以到 YouTube 網站 中觀看,最佳 Session 的得主已經公佈在 這個網站中 。 ODB, an ORM for C++(11):軟體可以到 Code Synthesis 公司網站 下載 Survey of Multi-Threaded Programming Support in C++11 and Boost Live Coding with C++ and the LLVM JIT Engine