Category Archives: Blog

DebConf15 – Day 2-3

Day 2

It was raining and it was freezing cold, even inside the building. I spent most of the time making my computer to run docker and move code that I wanted to fix to my local machine. There were also ad-hoc events that interrupted my plan, though. Anyway, I installed docker 1.8, and started to port code that will be used for web hosting.

I met Niibe-san and his family in the evening.

Day 3
I brought 2 bottles of liquer (Mekhong + Regency) for Cheese and Wine Party in the evening. As expected, everyone was enjoy strong smell of various kinds of cheese, and many bottles of wine and other alcohol drinks. Space was too small for our party ! I cannot stay late since bus to my hotel would not run all night. So, I went back to the hotel at 22:30. Andrew told me later that those two bottles I brought disappeared quickly than any other non-wine liquer. Hhaha.

DebConf15 – Travel – Day 1

DebConf15 was held on 15th – 22nd August 2015 in Heidelberg, Germany. It was relatively easy for me travel since I could take direct flights from Bangkok to Frankfurt, then Heidelberg is about 1 hour away by bus or train. Also, I currently hold an official passport, which can enter to Germany without applying a visa.

I left Bangkok on 13th, and arrived Frankfurt on 14th, the Heidelberg was 1 hour away by bus. After checked at the hotel, I walked to the venue for registration. I met Andrew, Paul, Hector there. Some already there since DebCamp week.

On the Day 1, it is about 560 participants registered in DebConf15. This is quite number. Sure enough, many old friends I’ve been acquainted like Anibal, Hideki (with his wife), Andrew Lee, Paul Liu, Aigarius, Jonas. Still, miss others like Christian Perrier.

There was also a job fair for those sponsors/companies that wanted to seek for Debian experts. One of them was 2 Sigma. I didn’t really know about this company, but after few chatted, boys, IT department of this company is crazy! They discovered Thunderstrike bug, Intel bugs, and create Magic Lantern firmware for Canon EOS.

Nothing much for the Day 1 though. I attended 3 sessions in the morning, opening ceremony, Golang, and obnam, and started to do my works in the afternoon till dinner then headed back to the hotel.

Getting “A” from Qualy’s SSL

Qualys SSL Labs provides a SSL Server Test for awhile. You can rate your web site at https://www.ssllabs.com/ssltest

To get rating “A”, there are few straightforward tricks:

  1. Disable all versions of SSL protocol. Enable only TLS. e.g.,
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2
  2. Choose only strong ciphers, e.g., you’ll sacrifice some very old clients.
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
  3. Use HSTS, e.g.,
    add_header Strict-Transport-Security max-age=31536000;

Optionally,

ssl_dhparam /etc/ssl/private/dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;

Create an aligned partition

An aligned partition gives you the best read/write performance, but you will have to sacrifice some space to align your partition.

To create,

# parted -a optimal /dev/sda mkpart primary 0% 100%

And you can check if it is aligned,

# parted /dev/sda align-check optimal 1

NGINX HTTP Basic Authentication with LDAP

First,  install libpam-ldap

# apt-get install libpam-ldap

Config ldap:// properly. This will add ldap backend to PAM.

Now, create a file /etc/pam.d/nginx

@include common-auth
@include common-account

This will add nginx service in PAM.

Then, config your nginx to enable HTTP basic authentication using auth_pam and PAM service name “nginx”

location /someplace {
  auth_pam "Restricted Area";
  auth_pam_service_name nginx;
}

Restart nginx. Done.

Yellow Padlock on Chrome/iOS

วันนี้ได้รับแจ้งจากผู้ใช้เรื่อง https ของ มข. ตรงช่อง URL ขึ้นเป็นสีเหลือง (yellow padlock) อย่างที่ปรากฏในภาพบน แทนที่จะเป็นสีเขียว (green padlock) เหมือนทุกครั้ง

เท่าที่ตรวจสอบ พบว่าเกิดกับ Google Chrome / iOS บางรุ่น และเป็น bug ในส่วนการตรวจสอบ certificate chain ของ Google Chrome / iOS เอง

Google Chrome / iOS รุ่นถัดไปน่าจะแก้ไข bug นี้

ระหว่างนี้ ถ้าต้องการยืนยันเพื่อความมั่นใจ ให้แตะที่ icon สีเหลืองตรงช่อง URL และดูรายละเอียดที่ปรากฏตามภาพข้างล่าง

Processed with Moldiv

  • icon ที่หนึ่ง เป็นตัวยืนยัน identity ของ website ว่าถูกต้องหรือไม่
  • icon ที่สอง เป็นตัวยืนยันการเข้ารหัสลับที่มีความปลอดภัยสูง
  •  icon ที่สาม เป็นตัวบอกว่าเคยเข้าเว็บนี้มาก่อนไหม

ถ้า icon ที่หนึ่งและสอง เป็นสีเขียว (อย่างเช่น ที่ปรากฏในภาพ) ก็ถือว่ามีความปลอดภัยแล้วล่ะ

Reference:
https://code.google.com/p/chromium/issues/detail?id=467084
https://productforums.google.com/forum/#!topic/chrome/lQ6x51gPR3Y

Linux kernel 4.0

รีลีสไปแล้ว

และเรื่องใหญ่สุดของ 4.0 คือ infrastructure สำหรับอัพเกรดเคอร์เนลโดยไม่ต้อง reboot อีกต่อไป :)

ที่จริงไม่ใช่ของใหม่เสียทีเดียวมันคือฟีเจอร์เดียวกันกับ Ksplice (Oracle), Kpatch (RedHat) นั่นเอง

มหาสงกรานต์ ๒๕๕๘

คำนวณหาวันสงกรานต์กัน

ใช้สูตรเดิม

คำนวณ ปี จ.ศ. = 2558 – 1181 = 1377

หาวันเถลิงศก
= 1377 * 0.25875
+ floor(1377 / 100 + 0.38)
– floor(1377 / 4 + 0.5)
– floor(1377 / 400 + 0.595)
– 5.53375
= 356.29875 + 14 – 344 – 4 – 5.53375
= 16.765 (วันที่ 16 + 0.765 วัน)

วันมหาสงกรานต์ = วันเถลิงศก – 2.165 วัน
16.765 – 2.165 = 14.6 (วันที่ 14 + 0.6 วัน)

แปลง 0.6 เป็นเวลา
0.6 * 24 = 14.4
0.4 * 60 = 24

ได้ว่า มหาสงกรานต์จะตรงกับวันที่ 14 เมษายน 2558 เวลา 14:24 น. จ้ะ

The next version of Linux Kernel

เมื่อกลางเดือนกุมภา Linus Torvalds บอกว่า เลข minor version ของ Linux Kernel นี่มันชักจะสูงเกินไปแล้ว (เหมือนตอน 2.6.3x) เลยทำโพล (ผ่าน G+) ว่า Linux Kernel version ถัดไปจะเป็น 3.20 หรือเปลี่ยน major เป็น 4.0 ไปเลย

มีคนกดเลือกไปสามหมื่นกว่าคน (/me ด้วย) สรุปผลโพลได้ว่า

44% เลือก 3.20
56% เลือก 4.0

ดังนั้น รุ่นถัดจาก 3.19 ก็เลยจะเป็น Linux Kernel 4.0 จ้ะ

และเมื่อปลายเดือนกุมภา Linus ก็ปล่อย 4.0-rc1 ก็ออกมาแล้ว