Category: Uncategorized

mingw64 libdatrie-libthai-thpronun

ผมเอา code ของ libdatrie 0.2.9 , libthai 0.1.28 และ thpronun 0.2.0 มาคอมไพล์โดยใช้ msys2, mingw64 ครับ เผื่อมีประโยชน์ประหยัดเวลากันบ้างครับ libdatrie 0.2.9 libthai 0.1.28 thpronun 0.2.0 การเอาไปใช้งานก็จะต้องติดตั้ง msys2 ก่อนนะครับ จากนั้นก็เพิ่ง PATH ของ mingw เข้าไป เช่น c:\msys64\ming64\bin

ใช้ OpenMP กับ Rcpp

ที่มา https://github.com/RcppCore/Rcpp/blob/master/inst/examples/OpenMP/OpenMPandInline.r ตัวอย่าง Rcpp กับ OpenMP library(inline) openMPCode <- ‘ // assign to C++ vector std::vector<double> x = Rcpp::as<std::vector< double > >(xs); size_t n = x.size(); #pragma omp parallel for shared(x, n) for (size_t i=0; i<n; i++) { x[i] = ::log(x[i]); } return Rcpp::wrap(x); ‘ settings <- getPlugin("Rcpp") settings$env$PKG_CXXFLAGS <- paste('-fopenmp', settings$env$PKG_CXXFLAGS) settings$env$PKG_LIBS <- paste('-fopenmp -lgomp',

Microsoft Edge เปิด localhost ไม่ได้

พอดีว่าต้องแก้งานที่ใช้ Shiny บางอย่างในเครื่องของที่ทำงานและทดลองใช้กับ MS Edge เพื่อเปิดงานจาก localhost:127.0.0.1 แล้วปรากฏว่ามันเปิดไม่ได้ บอกว่า “Hmmm…can’t reach this page”  แต่พอทดลองเปิดกับ Chrome แล้วใช้ได้ วิธีที่ผมแก้ปัญหาคือ เปิด command prompt (cmd) มาแล้วพิมพ์คำสั่งนี้ลงไปครับ CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe เพื่อให้ Edge มัน loopback กลับมาที่ localhost ครับ หรือไม่ก็พิมพ์ “about:flags”  ในช่อง url ของ MS Edge แล้ว tick ที่ ช่อง Allow localhost loopback ครับ    

การติดตั้ง TeX Live บน Windows 10

มีคนถามมาว่าจะติดตั้ง TeX Live (https://tug.org/texlive/) บน Windows 10 ต้องทำอย่างไร อย่างแรกเลยก็ต้องไป download ตัวติดตั้งมาก่อน ผมแนะนำว่า load มันมาทั้งหมดเลยแล้วกันโดยไป load ตัว iso จาก http://mirror.ctan.org/systems/texlive/Images/  มันอาจจะมีหลายชื่อที่มีสกุล .iso ก็เลือกมาสักตัวแล้วกันครับ เช่น texlive.iso ซึ่งมันจะมีขนาดใหญ่หน่อยครับ ประมาณ 3-4 GB พอ download เสร็จแล้วก็เปิด folder ที่โหลดเก็บไว้ จากนั้นclick ขวาที่ชื่อไฟล์ที่โหลดมาครับ แล้วก็เลือก Mount ซึ่งถ้ามัน Mount หรือต่อกับไฟล์นี้ได้สำเร็จ มันจะเปิด explorer ของไดร์ที่มีตัวติดตั้ง TeX Live ครับ ก็ให้ double click ที่ไฟล์ชื่อ install-tl-windows.bat ได้เลยครับ จากนั้นก็ตอบคำถามไปเรื่อยๆ แล้วก็รอจนมันติดตั้งเสร็จครับ  

ติดตั้ง CmdStan บน Windows 10

ตัวอย่างการติดตั้ง CmdStan (2.17.1) บน Windows 10 ครับ ในที่นี้ ผมใช้กับ Rtools 3.5 ครับ เริ่มจากการที่เราไป download ตัว zip ของ CmdStan แล้วก็ extract ไว้ที่ไหนสักแห่งตามต้องการครับ จากนั้นก็เปิด Command Prompt ของ Windows ครับ แล้วใช้คำสั่ง cd เพื่อเปลี่ยนไปยัง path ของ CmdStan ที่ extract ไว้ครับ แล้วก็ทำการสร้างไฟล์ ชื่อ local (ไม่มีสกุลต่อท้าย) ในโฟลเดอร์ที่ชื่อ make ที่อยู่ path ของ CmdStan โดยในไฟล์ local นี้มีสองรรทัดนี้ครับ CC=g++ CXX=g++ จากนั้นก็พิมพ์ PATH = c:\rtools\mingw_64\bin;c:\rtools\bin;$PATH เพื่อทำการเซ็ตค่า

Thai fonts by SIPA

You can download SIPA Thai fonts from http://www.f0nt.com/author/sipa/. But If you would like to download just only one zip file that has all of them, you can download it from Here.    

undocumented Mathematica functions

Mathematica แต่ล่ะเวอร์ชั่นจะมีคำสั่งใหม่ๆแปลกๆ และเจ๋งๆเพิ่มขึ้นมาเสมอ และบ่อยครั้งก็จะมี functions ที่ไม่เอกสารอธิบายการทำงานของ functions แปลกใหม่นั้น แต่มันก็มีกลุ่มคนที่ใช้งาน Mathematica แบบ hardcore หน่อยที่ชอบเปิดดู code ที่เขาเขียนมา ชอบหาอะไรแปลกเพื่อหาดูว่าจะปรับปรุงแก้ไขปัญหาที่เจอหรือที่กำลังทำอยู่ได้อย่างไร ถ้าสนใจอยากดูว่ามี undocumented functions อะไรที่น่าสนใจลองดูที่นี่ครับ https://mathematica.stackexchange.com/questions/805/what-are-some-useful-undocumented-mathematica-functions undocumented functions นี้พอในเวอร์ชั่นใหม่ๆอาจจะหายหรือกลับมาก็แล้วแต่ว่ามีการปรับปรุงอะไรกันไป หลายครั้งที่อ่านตามเวบอย่าง stackexchange หรือ stackoverflow ก็จะงงๆอยูตลอดเกี่ยวกับพวก undocumented functions นี้ว่าเขาหากันมาอย่างไร แต่ก็มีคนคุยเรื่องกันอยู่บ้างเช่น https://mathematica.stackexchange.com/questions/809/how-can-one-find-undocumented-options-or-option-values-in-mathematica    

shiny ui สำหรับ package แม่มด

ทดลองเขียน Shiny UI สำหรับ maemod ซึ่งเป็นแพ็คเกจภาษา R ที่ช่วยให้เขียนสมการ ODE ง่ายขึ้นซึ่งผมตั้งใจจะทำให้เหมือนโปรแกรม Berkeley Madonna ถ้าว่างๆก็จะเพิ่มความสามารถมันไปเรื่อยๆครับ ถ้าใครอยากลองเล่นก็ไปที่ https://slphyx.shinyapps.io/maemodshiny ครับ ถ้ามีคำแนะนำติชมอะไรก็เมล์มาได้ครับ

LexTo บน Windows

ผมเอา code LexTo เค้ามาลองเขียนเล่นสำหรับใช้งานแบบ offline บน Windows (7, 8 และ 10)ครับ สนใจdownload ได้ที่นี่ครับ ที่download มันจะเป็นไฟล์ zip ที่มีตัวโปรแกรมชื่อ Araiwa.exe กับไฟล์ dictionary ชื่อ lexitron.txt พร้อมกับไฟล์ araiwadll.dll ก็ให้แตกไฟล์ zip นี้ออก แล้วdouble click ที่ไฟล์ Araiwa.exe ได้เลยครับ ส่วนใครที่อยากใช้มันใน R ผมเขียนเป็นpackage เรียกมันว่า araiwa ครับ ดูเพิ่มเติมได้ที่ https://github.com/slphyx/Araiwa

ทดลองใช้ C# กับงานวิจัย

ปกติผมจะใช้ Mathematica เป็นหลักในการทำงานโดยมากจะเป็นพวกแบบจำลองคณิตศาสตร์ที่ตองการเห็นว่าผลลัพธ์จะเปลี่ยนแปลงไปอย่างไรถ้าตัวแปรที่สนใจบางตัวมีการเปลี่ยนแปลง เพิ่มขึ้นหรือลดลง ซึ่งแน่นอนผมใช้พวกคำสั่ง Manipulate หรือ Dynamic เป็นหลัก แต่มาระยะหลังนี้เริ่มมีการใช้ R ในที่ทำงานกันเยอะ ผมเลยเขียนโมเดลของงานที่ทำใน R ไปพอสมควร แต่มันก็ติดปัญหาว่ามันช้ามากกับหลายโมเดลที่ทำอยู่ถึงแม้จะหันไปใช้ Rcpp แต่ก็รู้สึกว่าเสียเวลาเขียน wrapper functions ห่อพวกมันอีกทีใน R แถมเวลาส่งงานให้ Prof ทั้งหลายก็ติดเรื่อง compiler อีก แถมต้องมาเขียน shiny อีกดูวุ่นวายไปหมด สุดท้ายกลับมาตายรังที่ Mathematica เหมือนเดิม เขียนโมเดลเสร็จ อยากจะส่งให้ชาวบ้านดูก็ใช้เพียงแค่คำสั่ง Deploy ไปบนcloud เท่านั้นจบเลย …แต่มันก็แลกมาด้วยค่าใช้จ่ายพอสมควร ผมเลยหาทางเลือกอื่นๆที่มันประหยัดกับบางงานกับโมเดลที่ไม่ดูซับซ้อนและใช้เวลาทำไม่นาน หันซ้ายหันขวาก็มาจบที่ C# หลังจากดูแล้วก็มี library ที่พอช่วยงานได้อย่าง math.net แถม UI ก็ทำง่ายเพียงลากแปะเท่านั้น เลยทดลองใช้ดู ผลปรากฏว่าเป็นที่น่าพอใจ  ถึงจะดูยุ่งยากในส่วน UI แต่ก็รู้สึกว่าไม่ได้เลวร้ายอะไร ส่งงานก็ง่ายแถมก็ไม่ต้องติดตั้งอะไรให้ดูวุ่นวาย