ทำเครื่อง Sous-vide แบบบ้านๆ

ถ้าใครไม่รู้จัก Sous-vide มันคือการเอาอาหารไปซีลถุงสุญญากาศแล้วเอาไปต้มน้ำอุ่นที่ควบคุมอุณหภูมิไว้ครับ ซึ่งตัวเครื่องแพงเอาเรื่องอยู่ เลยมีคนหาวิธีทำแบบ DIY เลยลองดูครับ

DIY Sous-vide

Continue reading ทำเครื่อง Sous-vide แบบบ้านๆ

ปัญหาเส้นผม

วันนี้น้องที่ทำงานมาแจ้งว่าตัวหนังสือที่พิมพ์ออกมาติดกันเกินไป คำว่า Exclusive ออกมาเป็น Exdusive ให้ช่วยขยาย Font ให้ใหญ่ขึ้นหน่อยจะได้เห็นชัดขึ้น

ด้วยความรีบเร่ง ผสมกับความขี้เกียจ ก็เลยเข้าไปแก้ชื่อเป็น   Exc lusive ให้ โดยมีเว้นวรรคเข้าไป จบข่าว แต่…

Exc lusive

น้องยังไม่ยอมจบ เพราะช่องไฟมันยังห่างเกินไป เราก็คิดว่าคงจนตรอกละ ต้องยอมเข้าไปแก้ระบบให้มันมี Space Width เพิ่มขึ้น จนกระทั่งไปเจอไอ้นี่เข้า…Hair Space!

Hair Space

Hair Space ที่บางกว่า Space ปกติถึงสามเท่า! รอดตัวไป ขอบคุณ Unicode มา ณ ที่นี้ด้วยครับ

ปัตตะโชติ #3 – ดึงชุดคำจาก Libthai ด้วย Elixir

บันทึกการใช้ Layout ปัตตะโชติ เมื่อผ่านมาแล้ว 2 อาทิตย์ ยังมีปัญหาจำตัวอักษรได้ไม่หมด โดยเฉพาะตัวที่ไม่ได้ใช้บ่อย และพวกที่ต้องกดพร้อมกับ Shift ยิ่งแทบจำไม่ได้ เลยยังต้องเก็บโพยปัตตะโชติเอาไว้อยู่

ที่พิมพ์ได้คล่องแล้วคือ Home row ที่เอาชุดคำไปขึ้นในเว็บ 10fastfingers แต่พอเริ่มขยายไปแถวอื่นๆ ก็นึกคำที่จะใช้ฝึกได้ไม่ครอบคลุมแล้ว เพราะคำยิ่งเยอะ Combination ก็จะยิ่งเยอะตามไปด้วย

เนื่องจากที่ช่วงนี้กำลังลองเล่นภาษา Elixir ก็เลยทดลองเขียนโปรแกรม Generate คำ ที่ประกอบด้วยตัวอักษรที่กำหนดให้ออกมา เช่นถ้าใส่ตัวอักษร ท,ง,ก,า,น,เ เข้าไป จะได้คำภาษาไทยออกมา เป็น กางเกง,งก,ทนง,ทนทาน,นาง,เทา เป็นต้น โดยชุดคำที่นำมาใช้เอามาจาก Libthai ครับ

Blog นี้ใช้เวลาพิมพ์และเรียบเรียงประมาณ 15 นาที นับว่าเร็วขึ้นมาหน่อย

ปัตตะโชติ #2 – 10fastfingers.com

วันที่สามกับการทดลองฝึกเลย์เอาท์ปัตตะโชติแบบหักดิบ คือไม่สลับไปใช้เกตุมณีเลย ผลคือ
* พิมพ์เร็วขึ้นเล็กน้อย เป็นประมาณ 12-13 คำต่อนาที หรือประมาณ 50 ตัวอักษรต่อนาที
* เริ่มจำได้ว่าตัวอักษรอยู่แถวๆ ไหน แต่ยังไม่เป๊ะ โดยเฉพาะตัวที่ไม่ได้ใช้บ่อย
* หา Resource ในการฝึกแทบไม่ได้เลย เพราะเหตุนี้ Adoption Rate จึงต่ำ
* ขัดใจกับบางตัวอักษร เช่น ช. ช้าง ที่ต้องยกแคร่ด้วย และสระอุ ที่อยู่ห่างไกลสุดปลายมือ ใช้ไปอีกซักพักคงชิน
* ในตอนนี้ยังคงต้องพึ่งกระดาษอยู่เพราะยังจำไม่ได้อีกเยอะเลย

สิ่งที่ใช้ฝึกตอนนี้คือคุยบน Slack, Telegram อย่างเชื่องช้า และสร้างชุดคำ Home Row ใน 10fastfingers.com เพื่อฝึกให้คล่องเป็นจุดๆ ไป

สวัสดีปัตตะโชติ – Pattachote 1st time

ก่อนหน้านี้พยายามใช้ปัตตะโชติมาครั้งนึง เมื่อประมาณสามปีที่แล้ว สมัยที่ยังไม่คล่อง Colemak เลยด้วยซำ้
จากการสำรวจจากบทความต่างๆ พบว่าเลยเอ๊าทนี้ (หาตัวการันตไม่เจอโว้ย) มีมานานกว่าที่คิดไว้
ปัตตะโชติ (Pattachote) มีมาตั้งแต่ปี ๒๕๐๙ อายุนับได้ ๕๐ ปีพอดี (ทำไมเรียงเลขไทยแปลกๆ)
เป็นแป้นพิมพที่พัฒนาให้พิมพไทยได้ประสิทธิภาพกว่าเกตุมณี ดูได้จากการวางตัวอักษรที่ตัวที่ถูกใช้บ่อยจะอยู่ใกล้แป้นเหย้า (Home Row)
และไม่ไปกระจุกตัวกันแถวๆ นิ้วก้อยมึอขวามากเกินไป แต่เลย์เอาท์นี้ (เจอการันต์แล้ว) ก็เสื่อมความนิยมลงไปหลังจากที่เกตุมณีไดัมาตรฐาน มอก. ๖๒๐ (TIS-620) นับว่าเจอชะตากรรมเดียวกับ Dvorak หรืออาจแย่กว่านั้นอีก ถึงวันน้ีรู้จักคนใช้ปัตตะโชติแค่สองคนเอง

เหตุผลที่จะลองดูอีกครั้ง เพราะไม่ค่อยไดัพิมพ์ไทยเยอะๆ ในเวลางานแล้ว และทุกวันนี้ก็พิมพ์สัมผัสไทยไม่คล่องเท่าเดิม ต้องก้มมองตลอด
อีกอย่างคือ เก็บข้อมูลเผื่อว่าจะได้ออกแบบเลย์เอาท์ใหม่ซะเลย มีนามสกุลอยู่ในคอมทุกเครื่อง เท่โคตรๆ

บทความนี้ใช้เวลาพิมพ์ทั้งหมด 2 Pomodoros นับเป็นห้าสิบนาที นับเป็น Character/Min ได้ยังไม่ถืง ๒๐ ตัวต่อนาที

Setting up TeamViewer on Ubuntu via SSH command line

  1. SSH into Ubuntu ssh user@your.ubuntu.host
  2. Download TeamViewer (32-bit) using wget or curl : wget http://download.teamviewer.com/download/teamviewer_i386.deb
  3. Install it sudo dpkg -i teamviewer_linux.deb
  4. If dependency problem occurs sudo apt-get -f install then install again sudo dpkg -i teamviewer_linux.deb
  5. sudo teamviewer setup then enter your TeamViewer account username & password
  6. sudo teamviewer daemon start to start TeamViewer daemon
  7. sudo teamviewer daemon enable to enable starting TeamViewer on boot

ครั้งแรกกับ Haskell และ Functional Programming

เมื่อวันก่อนไปเรียน Haskell For Noob ที่ SPRINT3R Geeky Base มา ด้วยความที่ช่วงนี้เห็นภาษาแนว Functional มาแรงในช่วงนี้ ประกอบกับแย่งลงทะเบียนทันเวลา เลยมาลองดู

เริ่มจากการติดตั้ง Haskell ลงบนเครื่องตัวเอง คืนก่อนวันเรียนลองหาข้อมูลไปเจอกับตัว Haskell Stack เห็นว่ามันลงสะดวกดีก็เลยใช้ตัวนี้ (ในคลาสก็ใช้เหมือนกัน) ลงในแมคคำสั่งเดียวใช้ได้เลย ใช้ Homebrew brew install haskell-stack

เนื่องจากเป็นคลาสเบื้องต้น เกือบทั้งวันเลยใช้แค่ GHC (Glasgow Haskell Compiler) เป็นคอมไพเลอร์ที่นิยมใช้กัน กับ GHCi เป็น Interpreter คล้ายๆ กับ irb ใน Ruby เอาไว้ลองศึกษาหรือลองโค้ดเล่นๆ ได้ดี
GHCi ที่มากับตัว Stack รันด้วยคำสั่ง stack ghci แล้ว โหลดไฟล์ .hs ด้วยคำสั่ง :load filename.hs ในคลาสที่เรียนนี้จะใช้วิธีแก้ไฟล์ .hs แล้วใน GHCi ก็รีโหลดด้วยคำสั่ง :reload ให้คอมไพล์ตัวไฟล์เข้ามาใหม่เพื่อรันคำสั่งแต่ละ Function ว่าใช้งานได้ถูกต้องหรือไม่

สิ่งที่ได้จากคลาสนี้ :

  • เข้าใจคำว่า Functional Programming มากขึ้นเยอะ จากตอนที้เรียน Prolog สมัยมหาลัยฯ แล้วแทบไม่เข้าใจว่าทำไม Paradigm มันแปลกๆ และดูใช้งานยากจังเลย
  • รื้อฟื้นการเขียน Recursive Function ที่แทบไม่ได้ใช้เลยตอนเขียนเว็บ
  • ที่มาของ map, reduce ที่เห็นในภาษาอื่นๆ ก็เป็น Functional นั่นเอง
  • เหตุผลที่ Functional Programming มาเริ่มฮิตเมื่อไม่นานมานี้ คือเรื่องของประสิทธิภาพในการคำนวนที่สูงขึ้นกว่าแต่ก่อน และ Concurrency Programming
  • Currying ไม่ได้เกี่ยวกับแกงกะหรี่!
  • Code ที่เขียน, Lecture ที่จด

สุดท้ายนี้ขอขอบคุณ @iporsut ที่เปิดโลก Functional Programming ให้ เพื่อนๆ ที่ร่วมเรียนร่วมแชร์ความรู้กัน และ SPRINT3R สำหรับสถานที่ครับ

[OSX] วิธีใช้ประโยชน์จากปุ่ม Caps Lock

ปุ่ม Caps Lock นี่ปกติก็แทบไม่ได้ใช้อยู่แล้ว แถมบางครั้งยังน่ารำคาญเพราะทำให้เราพิมพ์ผิดเป็นตัวใหญ่ ฆณ์ฮฉฐฐฯ๊็
อย่าง Colemak ก็เปลี่ยนฟังก์ชั่นของปุ่มนี้เป็น Backspace แต่ยังมีวิธีอื่นที่ทำอะไรได้มากกว่านั้น ด้วยการทำให้มันเป็น Hyper Key

Hyper Key เอามาจากปุ่ม Modifier ที่มีในคีย์บอร์ด Space Cadet นอกเหนือจาก Ctrl, Super และ Meta (เดี๋ยวนี้เหลือแต่ Ctrl, Super และ Alt)
ซึ่งเราจะใช้ Hyper ร่วมกับปุ่มอื่นๆ เพื่อสร้าง Shortcut แบบกดง่ายจำง่ายของตัวเองกัน

เริ่มจากโหลดโปรแกรมที่จำเป็นกันก่อน คือ Seil กับ Karabiner

เราจะให้ Hyper Key เป็นการกด Ctrl, Alt (Option), Cmd, Shift พร้อมกันทั้งหมด จะได้ไม่ไปซ้ำกับโปรแกรมอะไรเลยเพราะมันกดยากมาก เราจะใช้ Seil เพื่อ Remap Caps Lock เป็นปุ่มอื่นที่ไม่มีบนคีย์บอร์ดก่อน เช่น F19 แล้วค่อยใช้ Karabiner Remap F19 เป็น Ctrl + Option + Cmd + Shift อีกทีนึง

เริ่มจากเปิด Seil แล้วปรับให้ Keycode ของ Caps Lock เป็น 80 ตรงกับ F19 ในตารางด้านล่าง

Seil

ต่อไปเปิด Karabiner แล้วไปที่แท็บ Misc & Uninstall แล้วกด Open private.xml จากนั้นคลิกขวาที่ไฟล์แล้ว Open With > Text Edit หรือโปรแกรม Text Editor ตัวไหนก็ได้

จากนั้นนำโค้ดนี้ไปแปะไว้ระหว่าง <root> และ </root>

<item>
    <name>Remap F19 to Hyper</name>
    <appendix>OS X doesn't have a Hyper. This maps F19 to Control + Shift + Option + Command.</appendix>

    <identifier>usercustom.f19_to_hyper</identifier>

    <autogen>
        --KeyToKey--
        KeyCode::F19,

        KeyCode::COMMAND_R,
        ModifierFlag::OPTION_R | ModifierFlag::SHIFT_R | ModifierFlag::CONTROL_R
    </autogen>
</item>

เซฟไฟล์ private.xml จากนั้นกลับมาที่โปรแกรม Karabiner แท็บ Change Key กด Reload XML จากนั้นค้นหาและติ๊กที่ช่อง Remap F19 to Hyper

Screenshot 2016-03-03 02.16.04

เท่านี้ก็จะได้ปุ่ม Hyper key เอาไปใช้ทำ Shortcut ต่างๆ ได้มากมาย ที่ใช้อยู่เช่น

  • เปิด Sublime Text ด้วย Hyper + S
  • แอพอีเมล (Polymail) : Hyper + M
  • Google Chrome : Hyper + C
  • Slack : Hyper + A
  • iTerm2 : Hyper + T
  • Dash : Hyper + D

ถ้าอยากให้ทำอะไรได้มากกว่านี้ เช่นถ้ากด Caps Lock เดี่ยวๆ จะกลายเป็น Esc แทน (มีประโยชน์เมื่อใช้ร่วมกับ vim) ให้โหลด private.xml จากที่นี่ไปลงทับของเก่าได้เลย https://github.com/jasonrudolph/keyboard/blob/master/karabiner/private.xml

Sources :

เทคนิค Speed Reading 3 ข้อ ที่ทำให้อ่านได้เร็วขึ้นจากเดิม 3 เท่า

รวบรวมและเรียบเรียงจาก SuperLearner และ FourHourWorkWeek

มีเทคนิคง่ายๆ ที่ทำให้ความเร็วในการอ่านของเราเพิ่มขึ้นอย่างก้าวกระโดด โดยใช้เวลาฝึกแป๊ปเดียว มีหลักการ 3 ข้อดังนี้

  1. ไม่ออกเสียงตาม (Remove Subvocalization)
    ปกติแล้วเมื่อเราอ่าน โดยธรรมชาติเราจะออกเสียงตาม (ในใจ) ซึ่งเป็นสิ่งที่ทำให้ความเร็วของการอ่านลดลง เพราะความเร็วของการใช้สายตาอ่าน (Visual) เร็วกว่าการอ่านแบบออกเสียง (Audio) หลายเท่า

  2. ลดการกวาดสายตา (Reduce Eye Movements)
    วิธีที่ดีกว่าการกวาดสายตาเพื่ออ่านแต่ละคำ คือการอ่านแบบกำหนดจุดที่จะอ่านในทุกบรรทัดแบบตายตัว โดยอาจจะแบ่งเป็นบรรทัดละ 3-5 จุดแล้วแต่ความยาวของบรรทัด แล้วให้ใช้จุดนั้นเป็นหลักในการอ่าน

  3. ไม่อ่านซ้ำ
    บอกกับตัวเองว่า เราจะไม่กลับมาอ่านซ้ำอีก จะทำให้เราตั้งใจอ่านและพยายามทำความเข้าใจกับมันได้มากขึ้น

รีวิวคอร์สออนไลน์ Learning How to Learn

มีโอกาสได้ไปเจอคอร์สออนไลน์ Learning How to Learn บน Coursera เกิดสงสัยว่าเค้าจะสอนอะไรบ้าง ก็เลยลองเรียนดู พบว่ามันน่าสนใจกว่าที่คิดไว้ มีหลายเรื่องที่เราไม่เคยรู้มาก่อน แล้วเอามาใช้จริงได้เลย
ผู้สอนนั้นเป็นผู้ที่เชี่ยวชาญในหลายแขนง และใช้เทคนิคต่างๆ ในการเรียนรู้หลักการได้อย่างรวดเร็ว ตั้งแต่เริ่มต้นจนถึงความรู้ขั้นสูงของสาขาวิชานั้นๆ
จริงๆ แล้วคอร์สนี้จะเหมาะมากถ้าคนเรียนยังอยู่ในชั้นมัธยมหรือว่ามหาลัย ที่ต้องอ่านหนังสือไปเตรียมสอบ เค้ามีเทคนิคการเตรียมสอบไว้โดยเฉพาะด้วย

สรุปเป็นข้อๆ จากสิ่งที่เรียนได้ประมาณนี้

  • สมองคนเรามีสองโหมดในการคิด คือแบบ Focus และแบบ Diffuse (กระจาย) ซึ่งจะมีประโยชน์ใช้สอยต่างกัน ในบางครั้งเราต้องหัดวิธีการ Switch Mode เพื่อให้เกิด Creativity
  • Chunking หรือการแบ่งส่วนข้อมูลความรู้ให้เล็กลง เพราะว่าส่วน Working Memory ของเรานั้นเก็บข้อมูลได้เพียงเล็กน้อย แล้วใช้การเชื่อมโยงเข้ากับข้อมูลในเชิงลึกมากขึ้น เช่น “ไก่จิกเด็กตายบนปากโอ่ง” เป็น Chunk ที่ดีในการช่วยจำตัวอักษรกลาง
  • Procrastination หรือการผัดวันประกันพรุ่ง แก้ไขได้ด้วยการมองที่ Process (กระบวนการ) แทน Product (ผลลัพธ์) หรือใช้ Pomodoro Technique http://pomodorotechnique.com เพื่อสร้าง Mini Deadline ให้เกิด Focus ได้อย่างรวดเร็ว
  • การใช้ Analogy, Metaphor (อุปมา, อุปลักษณ์) เพื่อช่วยในการจำ

นอกจากนี้ยังมีเกร็ดความรู้ต่างๆ ตลอดการเรียน เช่นเรื่องการนอนมีส่วนช่วยในการเรียนรู้อย่างไร, ภาวะ Overlearning, Einstellung Effect เป็นต้น

คอร์สนี้ใช้เวลาทั้งหมดประมาณ 4 อาทิตย์ในการเรียน เป็นวิดิโอความยาวประมาณ 4 ชั่วโมง ถ้าสนใจก็ไปลงทะเบียนได้ที่เว็บนี้ https://www.coursera.org/learn/learning-how-to-learn เข้าใจว่าเปิดทุกเดือนครับ