Blog

ใช้ gravatar ใน WordPress

July 6th, 2016

ง่ายมาก ใช้คำสั่ง
get_avatar($email, $size, $default, $alt)
ถ้าอยากเพิ่ม class ให้มัน เช่น เพื่อให้มัน work กับ bootstrap ให้ทำ add_filter ตาม code ด้านล่าง เพราะคำสั่ง get_avatar ไม่มีให้เพิ่ม option เกี่ยวกับ class
add_filter('get_avatar','change_avatar_css');
function change_avatar_css($class) {
$class = str_replace("class='avatar", "itemprop='image' class='img-responsive img-circle ", $class) ;
return $class;
}

สมัคร gravatar ที่ gravatar.

สร้าง Search ของตัวเองด้วยฟิลเตอร์ posts_results

ได้โจทย์มาว่าเราจะต้องหาทางทำให้เราสามารถสร้าง Search ของเราเองได้ใน WordPress ความยากจะอยู่ที่ว่าทำอย่างไรเราถึงจะเอาผลลัพธ์ที่เราได้จากการ Search ไปแทรกก่อนที่ WordPress จะเอาผลลัพธ์นั้นไปแสดงผล

ตอนแรกนึกถึงฟิลเตอร์ pre_get_posts แต่มันไม่ได้ตอบโจทย์ที่เราตั้งไว้ เพราะว่า ฟิลเตอร์นี้เอาไว้ใช้ปรับแก้ตัว Query ของเรา ก่อนที่ WordPress จะเอา Query ไปประมวลผลจริงๆ ซึ่งผลลัพธ์จากการ Search สุดท้ายที่เราได้ มันก็จะมาจาก WordPress อยู่ดี

การเขียน Git Commit Message

การเขียน Git Commit Message

สรุปมาจากบทความ How to Write a Git Commit Message ของ Chris Beams นะครับ ตามไปอ่านฉบับเต็มๆ กันได้

การเขียน commit message นั้นสำคัญมาก เพราะว่ามันเป็นอีกช่องทางการสื่อสารหนึ่งระหว่างโปรแกรมเมอร์ด้วยกัน และยังเป็นช่องทางที่ดีที่สุดในการบอก context ของการแก้โค้ดนั้นๆ อีกด้วย การเขียน commit message นั้น ควรจะเป็นข้อตกลงของทีม เป็นสิ่งที่ทุกคนควรจะร่วมแรงร่วมใจกันทำนะครับ

Peter Hutterer หนึ่งใน senior software engineer บริษัท Red Hat ได้กล่าวไว้อย่างน่าสนใจว่า

Re-establishing the context of a piece of code is wasteful.

Nattanicha (Natty) Phatharamalai

Nattanicha (Natty) Phatharamalai

What interests you about technology and software development?
Software development is an art, and I like to create art! Technologies can change the world, and every single field needs technology. Mixing the art of development with technology can have a big impact.

Short-circuit Evaluation in Python

Short-circuit Evaluation in Python

เคยเห็นโค้ด Python แบบนี้ไหมฮะ

“abc” or 1 # มันจะ return “abc”
“abc” or 0 # มันก็จะ return “abc”

อันนี้มันมี 2 เรื่อง เรื่องแรกคือ implicit type conversion กับ short-circuit evaluation
Implicit type conversion ใน Python 0, ‘’, None เทียบเท่า False ส่วนตัวอื่นเทียบเทียบเท่า True
ต่อไปมาดูเรื่องของ short-circuit evaluation กัน

Retrospective 101

Retrospective 101

เราทำ sprint กันมา ก็ sprint ที่ 60 กว่าละ (สำหรับ Product ปัจจุบัน) สิ่งหนึ่งที่เราทำกันตลอดภายในทีม คือ ปลุกความ self-managing ในตัวคุณ และนี่ก็จะเป็นอีกครั้ง ที่เราจะลองให้แต่ละคนในทีม เปลี่ยนตัวเองเป็น Facilitator นอกจากจะได้ฝึก self-managing แล้ว ยังเพิ่มอรรถรสในการทำงานด้วย ฮ่าๆ

ก่อนอื่น ต้องมาเข้าใจกันก่อนว่า Retrospective คือ พิธีกรรมที่สำคัญที่สุดของการทำ Scrum เพราะมันคือจุดที่ทำให้เราได้พัฒนาตัวเองไปพร้อมๆ กัน ทำงานแล้วเราก็ทำให้ดีขึ้นทุกๆ วัน ผลของการทำ Retrospective (ที่ดี) จะทำให้เราสามารถนำไปใช้ใน sprint ถัดไปได้ และทีมที่ดี ก็ต้อง follow up ผลของ Retrosective ร่วมกันด้วย โดยปกติ scrum master จะเป็นคน facilitate ให้ เพราะดูแล้วจะเป็นคนกลางที่สุด ไม่ได้แตะงานที่ทำ ก็จะไม่สามารถเผลอ (หรืออยากที่จะเผลอ) comment หรือออกความเห็นได้ เป็นการฝึกทักษะการเป็นคนกลางที่ดีมาก (และยากมากไปพร้อมๆ กัน)

Project: Pronto World

The Problem
As Pronto scaled, it became more apparent that they needed a central client management “hub” both for customers, but also Pronto team members.

For example:

To sign up for a new services, clients would fill out various Formstack forms.

Executive Function Skills: Key to Academic Success

June 1st, 2016
Executive Function Skills: Key to Academic Success

สวัสดีครับ เดือนที่ผ่านมาผมได้รับภารกิจจาก performance review กับพี่แยมพี่เก๋ให้ไปอ่านเกี่ยวกับ Executive Function skills มันก็ดูเป็นเรื่องน่าสนใจที่สามารถนำมาประยุกต์ใช้ในการทำงานได้ บทความแรกนี้จะอธิบายว่า Executive Function skills คืออะไรและมีอะไรบ้าง ตัวต้นฉบับมาจาก Beyond BookSmart เป็นบริษัทที่โค้ชเกี่ยวกับการศึกษา (academic coaching)

Executive Function skills เป็นทักษะเกี่ยวกับการบริหารจัดการตนเองที่จะช่วยให้ไปถึงเป้าหมาย คนที่ศึกษาจะต้องสามารถบริหารจัดการในเรื่องต่างๆ เช่น อารมณ์ของตัวเอง, สมาธิ, การจัดการวางแผนเวลากับงาน ดูผลที่ได้และเอามาปรับปรุงเทคนิคตามสถานการณ์ Executive Function skills มีความต้องการมากขึ้นในโรงเรียนทุกปีเพื่อความสำเร็จในการศึกษา เด็กที่เป็นสมาธิสั้น (ADHD) ก็จะมีความท้าทายในการเรียนรู้ในเรื่องนี้

Project: Blog Engine

The Problem
Pronto Marketing’s original syndication service started with a WordPress plugin called AutoBlogged. AutoBlogged was a plugin that allowed websites to republish blog posts from another source.

AutoBlogged worked at first, but as Pronto continued to scale, and client needs changed, it was clear that they needed a more robust solution.

Project: Phoenix

The Problem
In 2008, Pronto Marketing started offering managed websites for small business. Originally Pronto used a custom WordPress theme with a fairly rigid design structure. The theme was successful in scaling with Pronto, but as the customer base grew, more problems began to arise:

It was difficult for local competitors to differentiate from one another
Designs were becoming increasingly out of date
Pronto’s designers lacked inspiration
The theme’s older architecture made it harder to integrate with newer technologies

The Solution
Instead of refactoring their existing theme, Pronto decided to build a new one from scratch.