botbotbot 's blog

Jekyll build with Travis and deploy to Github Page

Github Pages Tips:
Github Pages always complie jekyll with --safe option that will
disable plugins but some plugin can work with Github Pages.
List of Jekyll Plguins that working on Github > Pages

To avoid this --safe option to be powerful jekyll, you need to build your jelyll somewhere else and commit your static page to main or gh-page branch. We can automate build jekyll with Travis-CI that store your jekyll file in jekyll branch when push to github that will trig to Travis to build and deploy static page back to your main branch to publish your contents. you should read previous blog about jekyll and travis

Read More

How to get that job for developer

ทำไงให้ได้งาน:

หลักการง่ายๆ คือทำให้ตัวเองเป็นที่รู้จัก หากคุณเก่งอยู่บ้านคนเดียวโดยที่คนอื่นไม่รู้ก็ยากที่จะมีใครมาจ้างคุณไปทำงาน

วิธีการทำให้ตัวเองเป็นที่รู้จัก Online:

  1. มี CV Online และคอยอัพเดทอยู่เสมอๆ เช่น
    • http://linkedin.com ปัจจุบัน HR/Agency หลายคนหาคนไปทำงานจาก linkedin กันมากขึ้น
    • https://www.wantedly.com ฝากโปรไฟล์ไว้บนเว็บเด่นๆ หรือ เฉพาะทาง มีโอกาสให้ บ. มาเชิญไปทำงานได้ง่ายขึ้น
  2. มี Github Account - Recommend
    • เพื่อแสดงผลงาน code ต่างๆ รวมถึงสกิลในการใช้ Git version control หลาย บ. ให้ส่ง Github Account แทน CV
  3. มีผลงานที่ชัดเจนเป็นของตัวเองไม่ใช่ในนามบริษัท
    • เช่น สาย mobile ก็ควรมีแอพบน store , สาย web / design ก็ควรมี website เป็นของตัวเอง
    • อาจจะเป็น pet project หรือโค๊ดที่เราเรียนรู้สิ่งใหม่ๆ ต่างๆ ไม่จำเป็นต้องเป็นระดับ prodcut เสมอไป
  4. เขียน Blog ของตัวเอง - Recommend
    • เนื่องจากไม่ใช่ทุกคนที่จะ code หรือสามารถมีชิ้นงานเป็นของตัวเองได้
    • แต่ทุกงานมักจะมีปัญหา และ ทำจำเป็นต้องค้นหาวิธีแก้ปัญหาเองบ่อยครั้ง ให้พยายามนำสิ่งเหล่านี้มาเขียน เช่น เจอปัญหา xxx บน wordpress ต้องแก้ยังไง ลองอะไรมาบ้าง work ไหม แต่ละวิธีมีข้อจำกัดเป็นยังไง ตัวอย่าง เส้นผมบังภูเขา : การแก้ปัญหาการอัพเดต WordPress จากตัวระบบเองผ่าน FTP
    • เพื่อแสดงให้เห็นว่าเรามีความรู้ ความเข้าใจในเรื่องนั้นระดับหนึ่ง ซึ่งมักเป็นสิ่งที่ไม่สามารถรู้จักกันผ่านการสัมภาษณ์เพียงแค่ไม่อีกชั่วโมงได้
    • นอกจากที่ยังมีประโยชน์เวลาเราเจอปัญหาที่ซํ้าๆยังสามารถกลับมาทบทวนได้อีก ประหยัดเวลาไปนั่งค้นเรื่องเดิมๆ ได้เยอะ
  5. เข้าไปตอบคำถามตามบอร์ดต่างๆ
    • เช่น http://stackoverflow.com เคยได้ยินมาว่าบางที่ถาม StackOverflow Account กันเลยทีเดียว
    • ถ้าไม่ถนัดภาษาอังกฤษอาจจะเป็นกลุ่มของไทยเล็กๆ เฉพาะทางบนเฟส เช่น Pyhton Thailand, iOS Dev Thailand เป็นต้น
Read More

Convert File Encoding in OSX

Sometime, you download file from Internet specially file that in local language which not encode with UTF-8 that unreadable on OSX. Your should guess what encode that file using and convert it in to UTF-8.

# convert tis-620 to utf-8 encoding
$iconv -f tis-620 -t utf-8 source.xml > destination.xml

Example. Thai language on Windows system normally encode with TIS-620 when open it in OSX that will display with some symbol char that unreadable. You should convert that file from tis-620 to utf-8 which make it readable on osx.

Read More

Read more feature on jekyll

Github Pages Tips:
Github Pages always complie jekyll with --safe option that will
disable plugins but some plugin can work with Github Pages.
List of Jekyll Plguins that working on Github > Pages

Easy ways: using excerpt option of > jekyll
Customized excerpt separator in > Jekyll

Just using truncate they not checking html tag that make your site look terrible and Github Pages not support custom ruby script that place in _plugins. The better way is using split with custom tags.

Replace `` in index.html in jekyll directory with

    
    {% if post.content contains "<!-- more -->" %}
      {{ post.content | split:"<!-- more -->" | first % }}
      <div style="text-align:right;">
        <a href="{{ post.url }}" style="color:#000;"> Read More </a>
      </div>
    {% else %}
      {{ post.content }}
    {% endif %}
    
Read More

Text Processing in Shell

Most of example come from problem in Linux Shell - Hackerrank Text Processing Commands

Sed

Trip:
sed in OSX may not working as example. You should try gsed.
gsed can install via brew and call gsed instead of sed

$ cat in
1234 5678 9101 1234  
2999 5178 9101 2234  
$ sed -re 's/([0-9]{4}\s){3}/**** **** **** /' in
**** **** **** 1234  
**** **** **** 2234  
Read More