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',

RcppGSL บน Windows 10

ใครที่จะใช้ RcppGSL บน Windows 10 อาจจะมีเรื่องที่ต้องทำความเข้าใจหน่อยนะครับ มีคนถามผมมาว่ามันเซ็ตอย่างไร เพราะลองเอา code ตัวอย่าง มาใช้แล้วก็ยังไม่ผ่านสักที และดูเหมือนว่าคนถามผมเองยังสับสนและไม่เข้าอยู่เล็กน้อย  เล่าคร่าวๆ ก่อนนะครับ เจ้า GSL หรือ GNU Scientific library เนี้ยเป็นlibraryที่รวบรวมคำสั่งหรือ functions ที่ใช้กันมากในวงการคณิตศาสตร์และฟิสิกส์ มันถูกเขียนขึ้นด้วยภาษา C โดยกลุ่มนักฟิสิกส์และแจกจ่ายให้ใช้กันได้ฟรีครับ ที่นี่มันก็มีคนอยากใช้งานจาก GSL นี้ใน R ก็เลยมีคนเขียน package ขึ้นมากันหลายตัว และ  RcppGSL ก็เป็นหนึ่งในนั้น เจ้า RcppGSL นี้ถ้าเราจะใช้มันเนี้ย เราต้องมี GSL ติดตั้งให้เรียบร้อยก่อน (เดี๋ยวบอกอีกทีว่าทำอย่างไรครับ) โดยที่เราจะต้องเซ็ตพารามิเตอร์สำหรับ Windows ที่ชื่อว่า LIB_GSL ไปยัง path ของ GSL ที่ติดตั้งไว้ครับ อย่างเช่นผมติดตั้งไว้ที่ D:\Data-Work\Programs\gsl\gsl_2.5 ผมก็เพียงเพิ่มเข้าใน environment

Rcpp::sourceCpp กับปัญหา -Wunused-variable

ใครที่ใช้ sourceCpp สำหรับ compile โค้ดของ Rcpp แล้วเจอปัญหา unsed-variable แล้วอยากที่จะ  ignore มัน ก็สามารถทำได้ด้วยการสร้างไฟล์ Makevars ที่มีบรรทัดนี้ครับ CXXFLAGS += -O3 -Wall -pipe -Wno-unused หรือไม่ก็แก้ไขไฟล์ Makeconf ที่ R_HOME/bin/R_ARCH (ไม่ค่อยแนะนำ) โดยเพิ่ม -O3 -Wall -pipe -Wno-unused  ในส่วนของ CXXFLAGS  ครับ    

ปัญหา unlock_solver จาก แพ็คเกจ deSolve

ถ้าใครที่เจอปัญหา unlock solver ตอนที่ใช้คำสั่งพวก ode solver จาก แพ็คเกจ deSolve เช่น Error in .C(“unlock_solver”) : “unlock_solver” not resolved from current namespace (deSolve)   ให้ลองแก้ปัญหาโดยโหลด deSolve ด้วยคำสั่งนี้แทนครับ library.dynam.unload(“deSolve”, libpath=paste(.libPaths()[1], “//deSolve”, sep=””)) library.dynam(“deSolve”, package=”deSolve”, lib.loc=.libPaths()[1])   หรือไม่ก็ลองโหลด deSolve ก่อนที่จะเรียกใช้งานพวก shared library (.dll, .so) ครับ      

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 ครับ    

รวมชีทไฟล์ XLSX แบบง่ายๆ

เห็นมีคนเข้ามาดูโพสท์ที่ผมเขียน เกี่ยวกับการรวมชีท Excel ที่มีheader เหมือนกัน (https://www.sakngoi.com/2011/01/23/การรวมms-excel-sheets-ไว้ในหน้าเดียว/) เยอะพอสมควร ก็เลยคิดว่าเขียนแบบง่ายๆไว้ให้ใช้กันแบบออนไลน์ก็คงดี ผมก็เลยเขียนแบบง่ายไว้ให้ครับที่ https://www.wolframcloud.com/objects/cae100b5-7a2d-41ed-bed4-da1b86a5f67d   เพียงลากไฟล์ xlsx ไปปล่อยหรือคลิกเลือกแล้วกด submit ครับ เช่นถ้าผมมีไฟล์xlsx ที่แต่ล่ะชีทเป็นตามนี้ ผลที่ได้ก็คือ จะมีแค่ชีทเดียวที่รวมทุกชีกเข้าไว้ด้วยกัน   บ้างครั้งมันอาจจะขึ้น error ว่า “The supplied object cannot be interpreted as a file of type XLSX.” ก็ให้ลองกดรีเพรชหน้านั้นใหม่นะครับแล้วลองคลิกโหลดไฟล์ใหม่ครับ

การติดตั้ง 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 ได้เลยครับ จากนั้นก็ตอบคำถามไปเรื่อยๆ แล้วก็รอจนมันติดตั้งเสร็จครับ