ว่าด้วย EPSG:24047

ข้อมูลแผนที่ที่ใช้ EPSG:24047 Indian 1975 / UTM zone 47N พบว่าถ้าใช้ Postgres/PostGIS ST_Transform ไปเป็น EPSG:4326 แล้วแสดงบนแผนที่ไม่ตรงกับการเอา EPSG:24047 ไปต่อให้ GeoServer render ตรงๆ

ดูที่ https://epsg.io/24047 ระบุว่าเป็นตามนี้ (และดูในตาราง spatial_ref_sys ใน PostgreSQL ก็เป็นตามนี้

PROJCS["Indian 1975 / UTM zone 47N",
GEOGCS["Indian 1975",
DATUM["Indian_1975",
SPHEROID["Everest 1830 (1937 Adjustment)",6377276.345,300.8017],
TOWGS84[293,836,318,0.5,1.6,-2.8,2.1]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4240"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",99],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AXIS["Easting",EAST],
AXIS["Northing",NORTH],
AUTHORITY["EPSG","24047"]]

แต่ใน Geoserver (Google เจอที่ https://view.eumetsat.int/geoserver/web/wicket/bookmarkable/org.geoserver.web.demo.SRSDescriptionPage?0&code=EPSG:24047)

PROJCS["Indian 1975 / UTM zone 47N",
GEOGCS["Indian 1975",
DATUM["Indian 1975",
SPHEROID["Everest 1830 (1937 Adjustment)", 6377276.345, 300.8017, AUTHORITY["EPSG","7015"]],
TOWGS84[204.64, 834.74, 293.8, 0.0, 0.0, 0.0, 0.0],
AUTHORITY["EPSG","6240"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic latitude", NORTH],
AXIS["Geodetic longitude", EAST],
AUTHORITY["EPSG","4240"]],
PROJECTION["Transverse_Mercator", AUTHORITY["EPSG","9807"]],
PARAMETER["central_meridian", 99.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["scale_factor", 0.9996],
PARAMETER["false_easting", 500000.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH],
AUTHORITY["EPSG","24047"]]

ไม่รู้อันไหนคือ ถูกคือผิด

AI Notes

  • Finetune Falcon 7b/40b instruct with your own data – คือ เอา Falcon มาลอง fine tune โดยเพิ่มข้อมูล prompt+response แบบที่เราต้องการเข้าไปเอง แล้วก็ train เพื่อให้โมเดลตอบแบบที่ train เพิ่มไปได้
%%time
device = "cuda:0"

encoding = tokenizer(prompt, return_tensors="pt").to(device)

# Ott 20231029
#with torch.inference_mode():
with torch.no_grad():
outputs = model.generate(
input_ids = encoding.input_ids,
attention_mask = encoding.attention_mask,
generation_config = generation_config
)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

ลง PostgreSQL เก่าๆ (9.6) บน เครื่อง Ubuntu 22.04

เพิ่ม apt sources เก่าๆ

sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80/ –recv-keys 3B4FE6ACC0B21F32

deb http://th.archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb http://th.archive.ubuntu.com/ubuntu focal main restricted universe multiverse

เพิ่ม postgresql apt sources

wget –quiet -O – https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –

/etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main
deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

หลังจากนั้นก็ควรจะ apt install ได้ อย่าลืมตั้ง default locale ก่อน

cat /etc/default/locale
LANG=en_US.UTF-8
LANG=th_TH.UTF-8

apt install postgresql-9.6-postgis-2.4 postgresql-9.6-slony1-2

GeoServer behinds nginx HTTPS reverse proxy

กรณีที่ใช้ nginx เป็น HTTPS reverse proxy บังหน้า geoserver ด้านหลัง มีต้องตั้งค่าเพิ่มเติมดังนี้

Proxy Base URL

สามารถตั้งได้หลายทาง

  • ใส่ใน WEB-INF/web.xml
    <context-param>
      <param-name>PROXY_BASE_URL</param-name>
      <param-value>https://fqdn-hostname/geoserver</param-value>
    </context-param>

  • ทางหน้า GUI (Global Settings)
  • ใส่ใน global.xml ใน data_dir
<proxyBaseUrl>https://fqdn-hostname/geoserver</proxyBaseUrl>

CSRF WHITELIST

บางครั้งถ้าลองกดทำ action บางอย่าง เช่น เปลี่ยนรหัสผ่าน แล้วเจอปัญหา HTTP Status 400 – Bad Request Type Status Report Message Origin does not correspond to request Description The server cannot or will not process the request due to something that is perceived to be a client error ให้ใส่ประมาณนี้ใน web.xml

<context-param>
     <param-name>GEOSERVER_CSRF_WHITELIST</param-name>
     <param-value>fqdn-hostname</param-value>
</context-param>

<filter>
    <filter-name>cross-origin</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowed.methods</param-name>
        <param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowed.headers</param-name>
        <param-value>*</param-value>
    </init-param>
</filter>

Apache mod_dir HTTPS / HTTP redirection

ปัญหาคือ ถ้าตั้ง apache อยู่หลัง reverse proxy โดย apache <–> reverse proxy คุย HTTP กัน แต่ reverse proxy เป็น HTTPS คุยกับภายนอก

เวลา browse URL ที่เป็น directory แบบไม่ใส่ slash ปิดท้าย เช่น https://host/dirname, apache จะ redirect ไปที่ HTTP แบบมี / ปิดท้าย กล่าวคือ อะไรทำนอง http://host/dirname/ หรือ http://host/dirname/index.php <– แล้วแต่ตั้งค่า directory index ไว้

ซึ่งทำให้มีปัญหาเพราะมันหลุดจาก HTTPS ไปหา HTTP

วิธีแก้

ใส่ใน apache config

ServerName https://localhost

อ้างอิง https://serverfault.com/questions/885474/apache-redirects-from-https-to-http-when-adding-trailing-slash-to-directory

สร้าง Static route ใน Mac OS X

แบบครั้งเดียว

sudo route add 10.0.0.0/24 1.0.0.1

แบบถาวร

  1. หาชื่อ interface ก่อน จากผลัพธ์ของคำสั่งนี้ สมมติว่าได้ผลลัพธ์ MM14
    networksetup -listnetworkserviceorder
  2. สร้าง static route ถาวร ด้วย (เปลี่ยนชื่อ MM14 และ IP อะไรต่างๆ เป็นของท่าน)
    networksetup -setadditionalroutes MM14 10.0.0.0 255.255.255.0 1.0.0.1
  3. ดูผลลัพธ์​ก็ netstat ธรรมดา (grep ด้วยชื่อ network ที่ add ไป)
    netstat -rn|grep 10
  4. ถ้าจะยกเลิก ไม่เอาแล้วก็
    networksetup -setadditionalroutes MM14

ให้ Tomcat รับ x-forwarded-proto

Ref: https://backstage.forgerock.com/knowledge/kb/article/a37878699

กรณีที่ใช้ nginx / reverse proxy บังหน้า Tomcat เพื่อรับ HTTPS แล้วระหว่าง nginx <–> tomcat คุยกันด้วย HTTP แต่เราก็ยังอยากให้ Tomcat รู้สึกว่าเป็น https เพื่อเวลาแทนตัวแปร URL อะไรต่างๆ มันจะได้มาเป็น https ไม่ใช่ http ก็ต้องทำ 2 อย่างดังนี้

  • ที่ nginx ต้องใส่
    location / {
       [...]
       
        proxy_set_header        X-Forwarded-Proto       https;

        #proxy_cache geonode-cache;

    }
  • ที่ Tomcat server.xml ต้องเพิ่ม
<Valve className="org.apache.catalina.valves.RemoteIpValve"
    remoteIpHeader="x-forwarded-for"
    remoteIpProxiesHeader="x-forwarded-by"
    protocolHeader="x-forwarded-proto"
    protocolHeaderHttpsValue="https"
/>

Drupal PHP force SSL

เวลาใช้ท่า nginx เป็น reverse proxy ด้านนอกสุด รับ SSL แล้วส่งต่อ request ให้ server ด้านหลังที่เป็น Apache/Nginx+PHP ด้วย HTTP แต่เราต้องการให้ PHP รับรู้ว่า request จริงๆ มาเป็น HTTPS โดยเดิมเราก็ส่ง Header

proxy_set_header        X-Forwarded-Proto       https;

มาแล้ว หลังๆ บางที Web server ด้านหลังก็ยังมองว่าเป็น HTTP อยู่ดี ต้องแปะอะไรทำนองนี้เพิ่มเข้าไป

  /**
   * If external request was HTTPS but internal request is HTTP, set $_SERVER['HTTPS'] so Drupal detects the right scheme.
   */
  if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' && $_SERVER["REQUEST_SCHEME"] == 'http') {
    $_SERVER['HTTPS'] = 'on';
  }

อ้างอิง: https://www.drupal.org/project/provision/issues/3040646

ในบางกรณีพบว่ามีปัญหาในการอ้างถึง files ใน sites/default/files ให้บังคับแบบนี้

$settings['file_public_base_url'] = 'https://<host-name>/sites/default/files';

git cheat sheet

Compare your working copy with the upstream

git diff @{upstream}

ไม่ต้องสนใจไฟล์นี้

git update-index --skip-worktree robots.txt;

ถ้าจะเอาคืนกลับมาเหมือนเดิมก็

git update-index --no-skip-worktree robots.txt;

จำรหัส

git config --global credential.helper store

phppgadmin PostgreSQL 12 issue

phppgadmin จะมีปัญหากับ PostgreSQL 12 เวลา browse table แล้วมันจะ error ประมาณนี้ เพราะคือ คอลัมน์ relhasoids มันไม่มีแล้ว

ERROR: column relhasoids does not exist

https://stackoverflow.com/questions/58758377/how-to-fix-error-column-relhasoids-does-not-exist-in-phppgadmin

แก้ code phppgadmin ประมาณนี้

/usr/share/phppgadmin/classes/database# diff -u Postgres-org.php Postgres.php 
--- Postgres-org.php    2021-05-10 12:24:02.883661674 +0700
+++ Postgres.php        2021-05-10 12:24:33.211848605 +0700
@@ -1043,13 +1043,14 @@
 
                $sql = "SELECT relhasoids FROM pg_catalog.pg_class WHERE relname='{$table}'
                        AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname='{$c_schema}')";
-
+/*
                $rs = $this->selectSet($sql);
                if ($rs->recordCount() != 1) return null;
                else {
                        $rs->fields['relhasoids'] = $this->phpBool($rs->fields['relhasoids']);
                        return $rs->fields['relhasoids'];
                }
+ */
        }
 
        /**

The Best of Pranburi

Important places in Pranburi for live-to-eat people.

Three big fresh markets:

  • ตลาดนัดทางรถไฟ ปราณบุรี (Railway fresh market near Lotus Pranburi), week-days, afternoon. Fresh seafood around 2pm. Map: http://longdo.com/p/A10178041
  • ตลาดนัดโกเล็ก หน้าอำเภอปราณบุรี (Near-Praburi District Office Fresh Market), massive market under a roof, week-ends, afternoon. Map: http://longdo.com/p/A10568950
ตลาดนัดโกเล็ก หน้าอำเภอ

Some of my favorite places:

  • โชคอารีย์ ซีฟู้ด Choke Aree Seafood restaurant. Fresh stuff. ปากน้ำปราณ, Pak Nam Pran, Map: http://longdo.com/p/A10325425
  • ขนมหวานบ้านพุทธรักษา Phuttaraksa Desserts. ข้าวเหนียวลูกตาล และ กล้วยบวชชี คือ อร่อย. Luk Taan w/ sticky rice and Buad Chee Banana are sublime. Map: http://longdo.com/p/A10154730
  • ร้านอาหารครัวลูกสาว Krua Luk Sao Restaurant. Local taste of Pranburi. แกงป่าปลาทราย และ ปลาสำลีทอดสามรส Kang Pa Pla and Fried Samlee fish. Map: http://longdo.com/p/A10572228
ปลาสำลีทอด
แกงป่าปลาทราย
  • เอื้อง อิ้ง ซีฟู้ด (Sisters Ueng, Ing Seafood) Good and fresh seafood, อาหารทะเล, Map: http://longdo.com/p/A10031761
  • ขนมหวาน วงเวียนปากน้ำปราณฯ Dessert stalls. เม็ดขนุน Med Kanun,
เม็ดขนุน

Screen สำหรับ Remote SSH Session

ใช้ screen มานานหลายปี จนหลังๆ เห็นคนนิยมเปลี่ยนไปใช้ tmux กันมากแล้ว แต่ก็ยังติด screen อยู่

เรื่องของเรื่องคือการ remote ssh ไปยัง linux servers ใดๆ เพื่อไปรันคำสั่งอะไรบางอย่าง บางทีเราอยากรันอะไรค้างไว้ หรือ บางที network ไม่ stable ทำอะไรอยู่ค้างๆ อยู่แล้วหลุด วิธีแก้ง่ายๆ ก็คือ รัน screen เอาไว้ก่อน ซึ่งจะเสมือนหน้าจอเสมือนของเราที่ logged on ค้างไว้อยู่บน server, การสั่งคำสั่งทำงานอะไร มันก็จะอยู่ภายใต้ screen ต่อให้ network หลุดไป กลับมาใหม่ ก็จะเห็นหน้าจอเดิม ทำงานต่อได้

default configuration ของ screen จะใช้ key CTRL-A ซึ่งจะชนกับ short-cut keyboard ที่เอาไว้สำหรับเลื่อนไปต้นบรรทัด และ default หน้าจอก็จะไม่ค่อยสวยงาม

วิธีแก้ให้สร้างไฟล์ ~/.screenrc ที่มีเนื้อหาตามด้านล่างนี้ เพื่อเปลี่ยน key ที่ใช้เป็น CTRL-T และให้มี Status bar สวยๆ ด้านล่าง

ตัวอย่างหน้าจอ screeen

ตัวอย่าง .screenrc (ลอกจากของคุณพูลลาภ วีระธนาบุตร นานมาแล้ว

startup_message off


#  scroll  (100)
defscrollback 200


#  status
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "


#  Ctrl+t  Ctrl+a
escape ^Ta

วิธีใช้งานเบื้องต้น

  • เข้าใช้ครั้งแรกสั่งว่า
screen
  • ปุ่มที่ใช้บ่อยๆ
    • CTRL-T + C = Create สร้างหน้าจอใหม่
    • CTRL-T + P = Previous ไปหน้าจอด้านซ้าย
    • CTRL-T + N = Next ไปหน้าจอด้านขวา
    • CTRL-T + 2 = ไปหน้าจอที่ 2 (ระบุตัวเลขหน้าจอเอาเลย)
    • CTRL-T + K = Kill ทิ้งหน้าจอปัจจุบัน
  • จะเลิกใช้ชั่วคราว กด CTRL-T + D = Detach ออกจาก screen
  • เข้าครั้งต่อไปพิมพ์
screen -rd

จะเลิกใช้ ก็ exit หรือ kill ทุกหน้าจอมาเรื่อยๆ จนหมด แล้วก็ exit อันสุดท้ายมันก็จะหลุดจาก screen โดยอัตโนมัติ

nginx performance tuning

/etc/security.limits.conf

www-data       soft    nofile  30000
www-data       hard    nofile  50000

ทดสอบผลลัพธ์โดย log out/log in แล้ว ulimit -Hn ; ulimit -Sn

/etc/nginx.conf

worker_processes auto;

# Increase open files
worker_rlimit_nofile 30000;

events {
        #worker_connections 2048;
        worker_connections 30000;
        # multi_accept on;
}

http {

...
        client_max_body_size 30m;


        proxy_connect_timeout 20;


        proxy_send_timeout          120;
        proxy_read_timeout          120;
        send_timeout                120;
...

        gzip on;
        gzip_disable "msie6";
        gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml application/json;
}

/etc/sysctl.conf

BOTH on the host and inside the container. And make sure there is sysctl -p /etc/sysctl.conf in the start up script of the container.

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

net.core.somaxconn = 2048
fs.file-max = 70000

/etc/php/7.2/fpm/pool.d/www.conf

pm.max_children = 500

เด็กไทยทำ app สู้ต่างชาติได้เหรอคะ

จากกรณีเด็กไทยทำ app สู้ต่างชาติได้เหรอคะ (อ้างอิง https://brandinside.asia/startup-to-thai-gov/ ส่วนรายละเอียดคำพูดในการประชุม หาดูเอาตาม fB ท่านที่ไปเข้าร่วมนะ)

ผมมองว่า

ที่ผ่านมารัฐบาลไทยประสบความสำเร็จอย่างยิ่งในการสนับสนุนให้เกิดการ *ใช้* เทคโนโลยี เวลามี keyword อะไรใหม่ๆ เช่น Big data, AI, Smart City, Smart whatever เราจะตอบสนองอย่างไวในการพยายามนำมาใช้งาน ใช้ได้จริงไม่ได้จริงอีกเรื่องนะ แต่อย่างน้อยมีความพยายาม ซึ่งผมมองว่าเป็นเรื่องดี

แต่เรากลับล้มเหลวอย่างยิ่งในการ *สร้าง* เทคโนโลยีด้าน IT ของเราเอง ไม่ใช่แค่เราไม่มี Unicorn แต่เราไม่ได้มีบทบาทร่วมในฐานะผู้สร้างเทคโนโลยีต่างๆ ของโลกเท่าไหร่ เริ่มตั้งแต่ระดับวิจัย,​ พัฒนา, ไปจนถึงเชิงพาณิชย์ มีบ้างประปรายไม่ใช่ไม่มีเลย แต่ไม่เยอะ เทียบกับสิงคโปร์, ไต้หวัน, คือ ห่างไกล

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

ซึ่งถามว่าทำไมมันไม่มีการสร้างเทคโนโลยี ผมว่าเป็นเพราะเราไม่ได้มี mission ที่อยากจะมีการสร้าง เอกชนที่มีความอยากจะสร้างก็สร้างไปตามมีตามเกิด สำเร็จมากน้อย แล้วแต่ตามความสามารถและโชคชะตา ส่วนภาครัฐไม่ได้มีกลไกหรือหน่วยงานใดที่จะมาผลักดันให้เกิดตรงนี้

ซึ่งโลกปัจจุบันมันไม่ได้เหมือนยี่สิบปีที่แล้ว มันมีเอกชนขนาดใหญ่จากต่างประเทศมากมายดำเนินธุรกิจอยู่ในตลาดโลก และด้วยขนาดที่ใหญ่ เค้าสามารถทุ่มทุนทำสิ่งที่น่าจะเรียกได้ว่าทุ่มตลาด ทำของดีให้ใช้ฟรี อัดฉีดด้วยทุนไม่อั้น พูดง่ายๆ ทำให้รายเล็กเกิดได้แต่ยาก ต้องเก่งจริงๆ และมีทุนสู้ รวมถึงมีกลไกการช่วยสนับสนุนจากภาครัฐและทุกๆ ฝ่าย อย่างแยบยลที่จะดันให้สู้ได้

ซึ่งภาครัฐเรามีความหน่อมแน้มอย่างยิ่งในการจะสนับสนุนเอกชนไทย ทำได้ก็แค่ให้ทุนหยุมๆ หยิมๆ พาไปออก event ฯลฯ แต่ไม่เพียงพอที่จะถีบให้เอกชนที่มีแววเติบโตมากๆ ได้

ซึ่งก็อาจจะเป็นเพราะหน่วยงานเหล่านั้นเค้าไม่ได้มีพันธกิจที่จะต้องมาสนับสนุนเอกชน ดีไม่ดีโดนครหาอีกทำไมไปเอื้อบางรายนั้น ทั้งๆ ที่ผมเห็นรัฐบาลหลายๆ ชาติ เค้าก็ดันเอกชนของเค้ากันตรงๆ คงจะมีกลไกที่ต่างจากประเทศเรา

ในขณะเดียวกันหน่วยงานรัฐกลับไม่หน่อมแน้มที่จะแสดงความดีใจอย่างออกนอกหน้าเวลาที่เชิญเอกชนดังๆ ต่างประเทศมาเมืองไทยได้ หรือเวลาไปดูงานเมืองนอก รวมถึงการที่เอกชนต่างชาติได้สิทธิ์ต่างๆ ไม่ว่าจะเรื่องภาษี ฯลฯ ทำให้มีแต้มต่อเอกชนไทย ก็ไม่เห็นจะมีหน่วยงานใดจะมาสนใจแก้ไข คอยปกป้องผลประโยชน์ของเอกชนไทย

เทียบกับวงการอื่นๆ ไม่ว่าจะเป็นธนาคาร, เกษตรกรรม ฯลฯ เหมือนประเทศเรามีกลไกพอสมควรในการปกป้องเอกชนในประเทศ ใช่หรือไม่

ซึ่งเอกชนเค้าก็รวมตัวกันมาเป็นสมาคมฯ​ ยื่นข้อเสนอก็ควรจะรับฟังเค้าหรือเปล่า ไม่ใช่แค่ถามคำถามที่แสดงความตื้นเขินแถมได้ยินว่าไม่ได้อยู่รับฟังคำตอบด้วยซ้ำๆ

โดยสรุปมองว่า โดยโครงสร้าง มันไม่มีหน่วยงานใดที่มีหน้าที่ที่จะมาคอยดูให้เกิดเอกชนไทยที่แข่งขันด้าน IT ได้ในระดับโลก ก็ทำกันไปตามมีตามเกิด มันก็เอวังด้วยประการฉะนี้

แต่มีข้อดีคือ ถ้ามี unicorn ไทย เกิดขึ้นมาได้ในสภาพแวดล้อมเช่นนี้ เชื่อว่าไปรอดในตลาดโลกแน่นอน เพราะโตมาได้ในสภาพแวดล้อมที่ไม่เอื้อ แสดงว่าเก่งจริงๆ

ว่าแต่มันจะมีหรือเปล่า?

เพิ่มลูกค้าโดยการขึ้นราคา

ปกติเรามักจะคิดว่าถ้าสินค้าราคาถูกลง ลูกค้าก็น่าจะเข้าร้านมากขึ้น แต่บางกรณีอาจจะตรงกันข้าม การลดราคาอาจจะไม่ช่วยอะไร แต่การขึ้นราคากลับทำให้ลูกค้าเข้าร้านมากขึ้น

เป็นไปได้อย่างไร?

ร้านซูชิย่านประชาชื่น นนทบุรี ร้านนึง ตั้งแต่เปิดเน้นกลุ่มเป้าหมายระดับพรีเมี่ยม กล่าวคือ ใช้ปลาคุณภาพสูง ราคาสินค้าสูง ทีมเชฟก็ฝีมือดีเคยอยู่ร้านชื่อดัง แตกต่างจากร้านซูชิอื่นๆ ในละแวกนี้ ที่จะราคาต่ำกว่า

ในช่วงแรกก็มีลูกค้าพอสมควร ด้วยความที่ในย่านนี้มีร้านซูชิระดับนี้ไม่มาก ลูกค้าที่เดิมถ้าอยากทานปลาดิบคุณภาพสูงแบบนี้ต้องเข้าเมือง พอมีร้านนี้ก็เป็นทางเลือกที่ดี ก็เป็นที่ตื่นเต้นกัน

อย่างไรก็ตามด้วยราคาที่ค่อนข้างสูง แต่ละอย่างในเมนูหลักหลายร้อยถึงหลายพัน เรียกว่าสั่งไม่มันส์ เพราะแต่ละอย่างค่อนข้างแพง จึงไม่ใช่อะไรที่คนจำนวนมากจะมากินบ่อยๆ

และด้วยความที่ทำเลอยู่นอกเมือง ลูกค้าจรแบบพนักงานออฟฟิศมาทานตอนพักเที่ยง หรือพาลูกค้ามารับรองก็ไม่มาก นานๆ ไป ก็เหมือนลูกค้าเริ่มจะเริ่มลดลง

พอลูกค้าลดลง ทางร้านก็มีการปล่อยเมนูโปรโมชั่นราคาระดับ 300-700 บาท ออกมา ซึ่งถูกลงกว่าเดิมมาก โดยตัดปลาระดับพรีเมี่ยมมากๆ ออกไป ทว่าก็คุณภาพโดยรวมยังอยู่ในระดับที่ดีมากอยู่ ราคาก็ไม่แพงแล้ว เรียกว่าถูกเลยดีกว่า เช่น ปลาแซลมอนในภาพด้านล่าง 110 บาท เท่านั้น

แต่ลูกค้าก็ไม่ได้เพิ่มขึ้นมากขึ้นเท่าใด เรียกว่ายังไม่ปัง

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

มันก็เลยจะเป็นอะไรที่แบบว่ากั๊กๆ อยู่ตรงกลางๆเหมือนสินค้าที่เจาะกลุ่มเป้าหมายไม่ชัดเจน กลายเป็นลูกค้าเวลาจะตัดสินใจมาทานก็เอาไปเปรียบเทียบๆ กับร้านอื่นๆ ที่จริงๆ คุณภาพปลาต่ำกว่านี้มาก แต่ราคาอยู่ในย่านเดียวกัน ซึ่งถึงปลาเค้าจะไม่ดี แต่เมนูมีอะไรหลากหลายกว่า สั่งได้เยอะกว่า กลายเป็นว่า การลดราคาลงมาทำให้เข้าไปติดในสงครามราคา และเสียจุดขายเรื่องปลาคุณภาพดีไป

และด้วยความที่ลูกค้าไม่มาก ทำให้ปลาที่สั่งมาระลอกหนึ่งก็ใช้เวลาหลายวันกว่าจะหมดสต๊อก ซึ่งบางทีถ้าไปในช่วงท้ายๆ สต๊อก ก็อาจจะเจอปลาที่เรียกว่าไม่ได้สดเว่อร์ ลูกค้าก็จะไม่ค่อยฟินเท่าใดนัก

แต่จนมาถึงช่วงเดือนที่ผ่านมา ปรากฎว่า ร้านมีลูกค้าเพิ่มขึ้นอย่างเห็นได้ชัด ปลาก็คุณภาพดีกว่าเดิม เชฟบอกว่ายอดสั่งปลาเข้าร้านมากกว่าเดิมถึงสองเท่า! ปลาที่สั่งมาหมดไว ทำให้สั่งได้บ่อยขึ้น ปลาก็สดใหม่ตลอด

เกิดอะไรขึ้น?

สอบถามได้ความว่า ร้านมีการจัดเมนูบุฟเฟต์กินไม่อั้น!

ซึ่งราคาก็ไม่ได้ถูกนะครับ 1,890 บาท, 1,390 บาท และ 990 บาท ต่อหัว

แต่ละราคา จะมีสิทธิ์เลือกสั่งอาหารที่มีการจำกัดคุณภาพต่างกัน ถ้าตัวแพงสุด 1,890 สั่งได้ไม่อั้น จะโอโทโร่ ชูโทโร่ เนื้อวากิว ตับห่าน ฯลฯ จัดได้เต็มที่ ไม่อั้น จำกัดเวลาที่ 2 ชั่วโมง

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

แต่การอัปราคาขึ้น ทำไมกลับทำให้มีลูกค้าเข้าร้านมากมาย และยอมจ่ายในราคาที่เดิมไม่เคยจ่าย?

ผมตอบได้ว่าเพราะลูกค้ารู้สึกว่าคุ้มค่าครับ!

สิ่งต่างๆ จะแพงจะถูก มันอยู่ที่ว่าทำให้ลูกค้ารู้สึกว่าคุ้มกับที่จ่ายไปหรือเปล่า ใช่อยู่ที่จำนวนเงินไม่

มันคือความฟินที่ได้กินปลาดีๆ พรีเมี่ยม และกินแบบไม่อั้น กินเยอะกว่าปกติ มันเกิดความรู้สึกว่าคุ้มค่า

ยิ่งได้เทียบราคากับการสั่งจากเมนูปกติ ว่าถ้าคุณสั่งราคาปกติแพงขนาดนี้ แต่นี่บุฟเฟ่ต์กินได้ไม่อั้น มันโคตรคุ้ม มันฟิน

เชฟเล่าว่า ลูกค้าบุฟเฟต์ บางโต๊ะก็สั่งได้เป็น 10 อย่างเลยทีเดียว

ผลสรุปที่ได้ ชัดเจนว่าลูกค้าชอบ ลูกค้าเข้าร้านมากขึ้น จ่ายแพงขึ้น และกลับออกไปด้วยความสุข ความฟิน ที่ได้กินของดีๆ เยอะๆ

ร้านค้าคุ้มค่าหรือไม่ ผมเชื่อว่ายังไงคงจะคำนวณมาแล้วไม่ให้ขาดทุน คนๆ นึงจะกินได้สักเท่าไหร่ เดี๋ยวก็ต้องอิ่ม เวลาก็ต้องหมด ความเสียหายมันจำกัด แต่อย่างน้อย ร้านได้ลูกค้าจำนวนมากขึ้น ปลาหมุนเวียนดีขึ้น

เรียกว่า margin กำไรของสินค้าลดลง แต่ขายได้มากขึ้น และคุณภาพสินค้าสูงขึ้น

เป็นกรณีศึกษาที่น่าสนใจติดตามตอนต่อไป ว่าจะประสบความสำเร็จกับกลยุทธนี้หรือไม่ครับ

แต่ที่แน่ๆ ที่สำเร็จไปแล้วคือ เอาชนะใจลูกค้า และได้ฝังความรู้สึกแบรนด์ร้านซูชิพรีเมี่ยมในใจลูกค้าอีกครั้ง

ปล. ช่วงนี้ เวลาลูกค้าเข้าร้านพร้อมๆ กัน สั่งบุฟเฟ่ต์กันเมามัน เชฟทำแทบจะไม่ทัน จึงแนะนำว่าถ้าจะมาให้มาวันธรรมดา หรือ ช่วงบ่ายๆ ลูกค้าจะไม่แน่น ไม่ต้องรอนาน

ปล2. ไม่ได้ค่า sponspor นะ แต่อยากบอกว่าปลาเค้าดีจริงๆ 🙂

พร้อมไป ไปถึงทุกที่ไม่มีพลาด

ปัจจุบันการอ้างอิงตำแหน่งสถานที่ในประเทศไทยโดยการใช้ข้อมูลที่อยู่ (บ้านเลขที่ หมู่ ถนน ตำบล ฯลฯ) ยังมีปัญหาด้านความแม่นยำ ไม่สามารถระบุตำแหน่งที่ถูกต้อง ทำให้การจะส่งสินค้าหรือเดินทางไปยังสถานที่นั้นๆ เป็นไปอย่างไม่มีประสิทธิภาพ บ่อยครั้งต้องโทรถามให้อธิบาย หรือไปผิดที่ก็ต้องวนหา เกิดความสิ้นเปลืองทั้งเวลาและค่าใช้จ่ายหลายพันล้านบาทต่อปี

ยกตัวอย่าง เวลาเราจะขึ้นรถแท๊กซี่ไปไหน ถ้าจุดหมายปลายทางอยู่บนถนนใหญ่หรือใกล้สถานที่สำคัญ ก็โชคดีไป แต่ถ้าอยู่ในซอยลึก เราก็ต้องคอยบอกทางเมื่อไหร่จะต้องเลี้ยวตรงไหน จะหลับก็ไม่ได้

อีกทั้งบางทีจุดหมายทีเราจะไป เราก็ไม่ทราบเหมือนกันว่าต้องไปยังไง หรือ อยู่ตรงไหนแน่

จะดีกว่าไหม ถ้าเราแค่บอกหมายเลขโทรศัพท์ หรือ ตัวเลขรหัส 8 หลัก ของสถานที่ปลายทาง แล้วแท๊กซี่สามารถพาเราไปถึงจุดหมายได้อย่างถูกต้อง?

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

เพื่อแก้ไขปัญหาดังกล่าว พร้อมไป (PromptPai) เสนอแนวทางในการระบุพิกัดตำแหน่งสถานที่โดยใช้รหัสตัวเลข 8 หลัก หรือ หมายเลขโทรศัพท์ และใช้เทคโนโลยีสารสนเทศมาช่วยทำให้สามารถระบุตำแหน่งได้อย่างแม่นยำ และด้วยลักษณะที่เป็นตัวเลข ทำให้สามารถสื่อสารรหัสพร้อมไปได้โดยง่าย และไม่มีข้อจำกัดทางภาษา

การทำงานของ พร้อมไป (PromptPai) คือ การแทนที่ตำแหน่งสถานที่ด้วยหมายเลขโทรศัพท์ หรือ รหัสตัวเลข 8 หลัก ยกตัวอย่างเช่น หน่วยงานรัฐชื่อ สำนักงานพัฒนารัฐบาลดิจิทัล (องค์การมหาชน) สพร. จะถูกแทนที่ด้วย

  1. รหัสพร้อมไป 8 หลัก 1025 9208
  2. หมายเลขโทรศัพท์ของหน่วยงาน 026126000

ถ้าต้องการจะเดินทางไป สพร. ก็สามารถบอกแค่หมายเลขโทรศัพท์หรือรหัส 8 หลัก อย่างใดอย่างหนึ่ง แท๊กซี่ที่รองรับระบบพร้อมไป ก็จะนำท่านไปได้อย่างถูกต้องทันที

ตัวอย่างข้อมูลที่ได้จากระบบพร้อมไป เมื่อระบุหมายเลขโทรศัพท์ 026126000

ดร.ภัทระ เกียรติเสวี ผู้จัดการทั่วไป บริษัท เมตามีเดีย เทคโนโลยี จำกัด ผู้พัฒนาระบบพร้อมไป กล่าวว่า “ปัจจุบันระบบพร้อมไปพัฒนาเสร็จสิ้นแล้ว พร้อมใช้งานโดยมีข้อมูลสถานที่แล้วกว่า 4 แสนแห่ง และล่าสุดกวาด 2 รางวัล ได้แก่ รางวัลรองชนะเลิศอันดับ 1 และรางวัลขวัญใจกรรมการ จากโครงการประกวดนวัตกรรมข้อมูลเปิดภาครัฐ หรือ Thailand Data Innovation Awards 2019 (DIA) จัดขึ้นโดยสำนักงานพัฒนารัฐบาลดิจิทัล (องค์การมหาชน) หรือ สพร.


ดร. ภัทระ กล่าวว่า “จุดเด่น ของ พร้อมไป คือ เป็นระบบเปิด ผู้ใช้สามารถใช้งานและสร้างรหัสพร้อมไปของตนเองได้ฟรี และ เป็นการพัฒนาโดยใช้ แนวคิดร่วมสร้าง (Co-Creation) ร่วมแก้ปัญหาของประเทศ โดยดึงความ มีส่วนร่วมจากพวกเราทุกคน ไม่ใช่รอหวังพึ่งเพียงภาครัฐ หรือบริษัทรายใดรายหนึ่ง”

“และสำคัญที่สุดคือ ข้อมูลตำแหน่งที่อยู่ที่เกิดขึ้นทั้งหมดจะเปิดเป็น Open data เป็นโครงสร้างพื้นฐานด้านภูมิสารสนเทศของประเทศ เพื่อให้เกิดการใช้งานต่อยอด ให้เกิดประโยชน์สูงสุดต่อประเทศสืบไป” ดร.ภัทระ สรุป

พร้อมไป สามารถใช้งานได้ผ่านเว็บไซต์, แอปพลิเคชันมือถือ, LINE และมี API สำหรับการเชื่อมโยงและต่อยอด ดูรายละเอียดเพิ่มเติมได้ที่ https://promptpai.com/

วิธีแก้ Ubuntu/Debian package

บางทีบางโปรแกรมมีบางอย่างที่เราอยากจะแก้ใน source code แต่ตอนใช้งานก็อยากจะ build กลับเป็น deb package เพื่อให้ง่ายต่อการติดตั้ง ก็มีวิธีง่ายๆ ดังนี้ เช่น สมมติจะ build nginx ใหม่ เพราะต้องการให้มีรองรับ healthcheck ซึ่ง patch อยู่ที่ https://github.com/yaoweibin/nginx_upstream_check_module วิธีทำก็ทำดังนี้

apt install devscripts build-essential

apt-get source nginx # เอา source code ลงมาที่ folder ก่อน จะได้ folder nginx-1.16.0 หรืออะไรทำนองนี้

apt-get build-dep nginx # เอา package อื่นๆ ที่จำเป็นในการ build ลงมา

cd nginx-1.16.0 และจะ patch จะแก้ source code อะไรก็แก้ เช่นในกรณีนี้

cd src
git clone https://github.com/yaoweibin/nginx_upstream_check_module.git
cd ..
patch -p1 < src/nginx_upstream_check_module/check_1.14.0+.patch 

ถ้าจะแก้อะไรเพิ่มเติมใน debian/rules ก็จัดให้เรียบร้อย เช่นกรณีนี้ต้องเติม –add-module=src/nginx_upstream_check_module ให้ configure option

สร้างเป็น patch โดยสั่ง
dpkg-source  –commit

เพิ่มใน changelog โดยสั่ง
dch -i
ตั้งชื่อรุ่น package อะไรให้เรียบร้อย

แล้วก็สั่ง build

debuild -us -uc

จากนั้นจะได้ deb file มาก็ติดตั้ง และ apt-mark hold ไว้ เพื่อไม่ให้มันโดนรุ่นใหม่มาทับ

 dpkg -i nginx_1.16.0-1healthcheck~xenial_amd64.deb 

 apt-mark hold nginx

 ดูผลลัพธ์การติดตั้งด้วย dpkg -l nginx และผลลัพธ์การ hold ด้วย apt-mark showhold

MySQL DB SQL_MODE

MySQL รุ่นใหม่ๆ เช่น 5.7 หรือ MariaDB 10.3 มีความ strict เรื่อง query มากขึ้น ซึ่งถ้าโค้ดเก่าเรายังไม่รองรับก็ใช้วิธีแก้แบบกึ่งบาปไปก่อนโดยใส่ใน my.cnf ประมาณนี้

#sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sql_mode                = NO_ENGINE_SUBSTITUTION

แก้แล้วต้อง restart ทีนึง ทดสอบโดยการ SELECT ขึ้นมาดู

mysql> select  @@SQL_MODE, @@GLOBAL.SQL_MODE;
+------------------------+------------------------+
| @@SQL_MODE | @@GLOBAL.SQL_MODE |
+------------------------+------------------------+
| NO_ENGINE_SUBSTITUTION | NO_ENGINE_SUBSTITUTION |
+------------------------+------------------------+
1 row in set (0.00 sec)

Faster gdal2tiles.py

เดิมๆ gdal2tiles มันรันใช้แค่ CPU core เดียว ทำให้ช้า

พบว่า gdal2tiles.py 2.3 มี option

--processes=<NB_PROCESSES>

Number of processes to use for tiling.

แต่ใน ​Ubuntu gdal-bin packages มันรุ่นเก่ามาก ติดตั้งอันนี้แทน

#sudo add-apt-repository ppa:ubuntugis/ppa
#sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable

sudo add-apt-repository ppa:nextgis/ppa

apt install gdal-bin python-gdal

แถมด้วย patch สำหรับซ่อมเรื่อง https และให้มัน select layer เลย กรณี Leaflet

  $ cat gdal2tiles-2.4.patch 
 --- /usr/bin/gdal2tiles.py.org  2019-06-29 09:25:01.809381770 +0700
 +++ /usr/bin/gdal2tiles.py      2019-07-03 23:36:11.389713375 +0700
 @@ -2320,8 +2320,12 @@
              <title>%(htmltitle)s</title>
  
              <!-- Leaflet -->
 -            <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.css" />
 -            <script src="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.js"></script>
 +            <!--link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.css" />
 +            <script src="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.js"></script-->
 +
 +            <!-- Leaflet -->
 +            <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/>
 +            <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin=""></script>
  
              <style>
                  body { margin:0; padding:0; }
 @@ -2375,8 +2379,9 @@
              zoom: %(beginzoom)s,
              minZoom: %(minzoom)s,
              maxZoom: %(maxzoom)s,
 -            layers: [osm]
 +            layers: [osm,lyr]
          });
 +            //layers: [osm]
  
          var basemaps = {"OpenStreetMap": osm, "CartoDB Positron": cartodb, "Stamen Toner": toner, "Without background": white}
          var overlaymaps = {"Layer": lyr}
 @@ -2638,8 +2643,10 @@
                function getURL(bounds) {
                    bounds = this.adjustBounds(bounds);
                    var res = this.getServerResolution();
 -                  var x = Math.round((bounds.left - this.tileOrigin.lon) / (res * this.tile_size.w));
 -                  var y = Math.round((bounds.bottom - this.tileOrigin.lat) / (res * this.tile_size.h));
 +                  //var x = Math.round((bounds.left - this.tileOrigin.lon) / (res * this.tile_size.w));
 +                  //var y = Math.round((bounds.bottom - this.tileOrigin.lat) / (res * this.tile_size.h));
 +                  var x = Math.round((bounds.left - this.tileOrigin.lon) / (res * this.tileSize.w));
 +                  var y = Math.round((bounds.bottom - this.tileOrigin.lat) / (res * this.tileSize.h));
                    var z = this.getServerZoom();
                    if (this.map.baseLayer.CLASS_NAME === 'OpenLayers.Layer.Bing') {
                        z+=1; 

เจออีกอัน gdal2tiles leaflet https://github.com/commenthol/gdal2tiles-leaflet มีรุ่นที่เป็น multiprocesses แต่ลองแล้ว พอให้รัน zoom 1-16 มันเหมือนตายๆ รันภาพได้ไม่ครบ อาการเหมือนมันจะเริ่ม generate Overview Tiles ขณะที่ยัง generate Base tiles ยังไม่เสร็จยังไงชอบกล

WordPress Setup

wget -q -O https://api.wordpress.org/secret-key/1.1/salt/ เพื่อให้ได้เนื้อหามา replace บรรทัดใน wp-config.php

wp-config.php:

define('AUTH_KEY',         'xxxx');
define('SECURE_AUTH_KEY',  'xxxx');
define('LOGGED_IN_KEY',    'xxxx');
define('NONCE_KEY',        'xxxx');
define('AUTH_SALT',        'xxxx');
define('SECURE_AUTH_SALT', 'xxxx');
define('LOGGED_IN_SALT',   'xxxx');
define('NONCE_SALT',       'xxxx');

และเพิ่มพวกนี้ (เปลี่ยนให้เป็นค่าที่ถูกต้อง)

define('WP_HOME','https://'.$_SERVER["SERVER_NAME"].'/articles');
define('WP_SITEURL','https://'.$_SERVER["SERVER_NAME"].'/articles');
define('FORCE_SSL_ADMIN', true);

if ( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
{
    $_SERVER['HTTPS']       = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}

Docker notes

สูตรปกติ /etc/docker/daemon.json

 {
         "data-root": "/data/docker",
         "storage-opt": ["dm.basesize=50G"],
         "mtu": 1400
 } 

ดูตั้งค่าเครือข่ายใช้ ip แทน ifconfig

ip a
ip link set dev eth0 mtu 1400

ถ้าอยากให้แก้ไขโน่นนี่ เช่น set mtu ต้องเปิดสิทธิ์ใน docker-compose.yml
    cap_add:
     – ALL

mtu ที่ set ใน /etc/docker/daemon.json จะไม่ส่งผลในกรณี docker-compose.yml ต้องใส่เอง

networks:                                
  default:                               
    driver: bridge                       
    driver_opts:                         
      com.docker.network.driver.mtu: 1400

Notes on SQL queries

ถ้า WHERE มีหลาย conditions สร้าง index แบบ multi-columnจะให้ผลที่ดีกว่า

select ….. WHERE (o.tolang = ‘th’ AND (o.sentence_en_lower LIKE ‘% chums%’ OR o.sentence_en_lower LIKE ‘%chums%’) AND o.sentence_tolang NOT LIKE ‘%cHFFFF%’) LIMIT 15;

สร้าง index แบบ sentence_en_lower แยกกับ tolang ได้ผลลัพธ์
Planning time: 51.183 ms, Execution time: 293.293 ms   

สร้าง index แบบ multi-column (sentence_en_lower รวมกับ tolang) ได้ผลลัพธ์

Planning time: 0.547 ms   Execution time: 62.052 ms

INDEX ขนาดใหญ่ๆ มากๆ บางที PostgreSQL บางเครื่องไม่ยอมใช้เฉย

อันนี้คือ งง สองเครื่อง set-up ตาราง, index เหมือนกันเด๊ะ แต่บาง query บางเครื่องไม่ยอมใช้ index ใช้เป็น seq scan เฉย ก็คือต้องทดสอบดีๆ ว่ามันทำงานได้อย่างที่เราคิดไว้ EXPLAIN ANALYZE query ดูให้หมด

ลง GitLab ใน Ubuntu / Docker

ตามโพย

sudo apt install ca-certificates curl openssh-server exim4-daemon-heavy

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

vi /etc/gitlab/gitlab.rb แก้ให้ถูกใจ

gitlab-ctl reconfigure

มันจะไปค้างตรง ruby_block[wait for redis service socket] action 
ให้รันคำสั่งนี้ก่อน

/opt/gitlab/embedded/bin/runsvdir-start &

ดูเพิ่มเติม https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4257

ชอบมีปัญหาเกี่ยวกับ locale ต้องสั่ง

export LANG=en_US.UTF-8

export LC_ALL=en_US.UTF-8

certbot-auto กับ Ubuntu precise

ยังมีเครื่องเก๋ากึ๊กที่ใช้ Ubuntu precise 12.04 และ certbot-auto รุ่นล่าสุดมันจะพัง ต้องแก้คือ

pip_version = StrictVersion(check_output([python, '-m', 'pip', '--version'])
by
pip_version = StrictVersion(check_output(['pip', '--version'])

and
command = [python, '-m', 'pip', 'install', '--no-index', '--no-deps', '-U']
by
command = ['pip', 'install', '--no-index', '--no-deps', '-U']

และเติม  --no-self-upgrade ตอนรันด้วย เดี๋ยวมันก็เปลี่ยนไปอีก

อ้างจาก https://community.letsencrypt.org/t/pip-error-with-certbot-auto/88200/4

Copy file path in Mac OS X Finder

ปัญหาอย่างหนึ่งในการใช้ Finder ใน Mac OS X ก็คือ ต้องการจะได้ PATH แบบ อะไรทำนอง /Users/pattara/messages.log ของไฟล์ที่กำหนดเปิดใน Finder พบว่าวิธีที่สะดวกสุดคือใช้ Automator ทำเป็น Quick Action เลือกไฟล์แล้วก็กดขวาเลือก “Copy Path” ก็จะได้ PATH ของไฟล์นั้นๆ ใน Clipboard วิธีการทำดูตามลิงค์ครับ

http://osxdaily.com/2013/06/19/copy-file-folder-path-mac-os-x/

คุณเป็นผู้นำหรือผู้ตาม?

ในองค์กรหนึ่งๆ มองเผินๆ อาจมองได้ว่าประกอบด้วยผู้นำและผู้ตามปะปนกันไป ผู้นำอาจจะมองว่าหมายถึง ผู้บริหารองค์กร หรือ หัวหน้างาน ส่วนผู้ตามก็คือลูกน้อง แต่แท้จริงแล้ว ในแต่ละปัจเจกบุคคล มีภาวะผู้นำและผู้ตามทั้งสองอย่างอยู่ในตัวเอง คนๆ หนึ่งเป็นทั้งผู้นำและผู้ตาม ก็ได้ เช่น เป็นหัวหน้าทีม ดูแลลูกน้องจำนวนหนึ่ง ขณะเดียวกันก็เป็นลูกน้องของผู้บริหารในระดับที่สูงกว่าอีกที

อาจจะกล่าวได้ว่า ถ้าภาวะผู้นำในตัวคนๆ หนึ่งมีมาก ก็มีแนวโน้มว่าจะได้เป็นผู้นำในระดับสูงยิ่งๆ ขึ้นไป
ถ้าภาวะผู้ตามมีมากกว่า ก็มีแนวโน้มว่าจะเล่นบทบาทเป็นสมาชิกทีมมากกว่า หรือ ทำงานในแบบฉายเดี่ยวมากกว่า

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

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

  • รับผิดชอบเฉพาะส่วนของตัวเองหรือของทีมเล็กๆ ทำให้มีเวลาและสมาธิในการทำหน้าที่ในส่วนที่ตนเองรับผิดชอบและเชี่ยวชาญจริงๆ ส่งผลให้ได้ผลงานที่ดีเด่น รวมถึงมีโอกาสได้ฝึกฝนหรือศึกษาต่อยอดในด้านนั้นๆ จนเป็นผู้เชี่ยวชาญ
  • ไม่ปวดหัวกับปัญหาที่ไม่ใช่เรื่องของตน เนื่องจากความรับผิดชอบจะชัดเจนอยู่ในหน้าที่ที่ได้รับมอบหมาย หรือเลือกที่จะทำ หากมีปัญหาอื่นใดที่นอกเหนือจากที่รับผิดชอบ สามารถส่งปัญหาต่อให้กับผู้นำได้

อย่างไรก็ตาม งานอีกหลายอย่างไม่สามารถทำได้โดยคนๆ เดียว หรือ คนกลุ่มเล็กๆ ทว่า จำเป็นต้องมีทีมงานหลายฝ่าย จำเป็นต้องมีผู้นำที่ประสานพลังของทุกฝ่ายให้เป็นหนึ่งเดียว อีกทั้ง การเป็นผู้นำก็มีความท้าทายในอีกรูปแบบที่ต่างกันไป มีจุดเด่น (หรือจุดด้อยก็ไม่แน่ใจ) เช่น

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

ในชีวิตการทำงาน ท่านสามารถเลือกได้ว่าจะเดินเส้นทางสายใด อย่างที่กล่าวไว้ตอนนั้น บุคคลหนึ่งๆ มีทั้งภาวะผู้นำและผู้ตามอยู่ในตัว ขึ้นอยู่กับท่านพอใจจะปล่อยให้ภาวะไหนมีผลตัวต่อท่านมากกว่า

หากท่านต้องการเป็นผู้ตามที่ดี ก็ต้อง

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

แต่หากท่านต้องการดำเนินชีวิตในแบบผู้นำ ต้องการเป็นหัวหน้าคน ได้สร้างผลงานที่มีผลกระทบสูงกว่า  ก็ต้องหมั่นสร้างเสริมพัฒนาบุคลิกลักษณะที่บ่งชี้ถึงความเป็นผู้นำ เช่น

  • รับผิดและชอบ ผู้นำที่ดีจักต้องรับทั้งผิดและชอบ ในผลงานของทั้งทีม ไม่เฉพาะงานของตนเอง อันที่จริงแล้ว ความชอบที่เกิดขึ้น ผู้นำต้องจักมอบให้แก่ลูกทีมที่สร้างผลงาน มิใช่โอ้อวดว่าเป็นแต่เพราะฝีมือตน ส่วนความผิดไม่ว่าจะของใครในทีม ผู้นำต้องออกตัวรับก่อน มิใช่โยนว่าเป็นผลงานของคนอื่นใด เนื่องจากถือว่าเป็นตัวแทนของบุคคลทั้งกลุ่ม และเมื่อผิดแล้วก็ต้องแก้ไข ไม่ใช่มัวแก้ตัวหรือชี้นิ้วหาคนผิด ผิดครั้งแรกส่วนใหญ่ไม่มีใครว่า อย่าให้ผิดซ้ำซากเป็นใช้ได้
  • สื่อสาร ผู้นำต้องสื่อสารตลอดเวลา สื่อสารให้ลูกทีม สื่อสารกับลูกค้า สื่อสารกับผู้นำในระดับสูงขึ้นไป สื่อสารกับสังคม การสื่อสารที่ดีไม่ใช่ว่าต้องพูดเป็นต่อยหอยทั้งวัน หรือ พูดสักแต่ว่าสื่อความออกไปครบถ้วน แต่หมายถึง ผู้รับจะต้องได้รับสารครบถ้วน ซึ่งแปลว่า ผู้นำจะต้องรู้วิธีที่จะสื่อสารให้ผู้รับสารแต่ละแบบเข้าใจ อาจจะต้องใช้ปริมาณสารและวิธีการที่แตกต่างกัน ผู้นำจักต้องหมั่นคุยหรือเขียนหรือจะใช้สื่ออะไรก็แล้วแต่ ให้ผู้ร่วมงานได้ทราบในสิ่งที่ควรจะทราบ ในเวลาที่เหมาะสม 
  • ฟังและติดตาม ผู้นำดูเหมือนว่าจะเป็นฝ่ายพูด ฝ่ายสั่งงาน แต่แท้จริงแล้วต้องรับฟังมากกว่าพูด มิฉะนั้นจะไม่รับทราบถึงปัญหาที่เกิดขึ้นในการทำงาน ต้องฟังเพื่อรับความเห็นจากผู้ร่วมงาน หากสักแต่ว่าเอาแต่สั่งๆ อย่างเดียว ก็ยากที่จะสำเร็จ เมื่อฟังแล้วพบว่ามีปัญหา ก็ต้องรีบแก้ไข และสำคัญที่สุด หากสมาชิกไม่สื่อสารกลับมา ไม่มีอะไรจะพูดให้ฟัง ผู้นำก็ต้องเป็นฝ่ายติดตาม เพราะเป็นไปได้ว่าบุคลิกผู้ตามอาจไม่กล้าออกความคิดเห็น ติดปัญหาแล้วก็งงอยู่อย่างนั้น ผู้นำก็ต้องรู้ และเป็นฝ่ายเข้าถึง กิจการงานต่างๆ มีน้อยครั้งที่ผู้นำเพียงสั่งงานและถึงเวลาที่กำหนดได้ผลงานตามที่สั่งครบถ้วน ผู้นำต้องติดตามดูความคืบหน้าตลอดเวลา
  • มองภาพใหญ่ออก และเรียนรู้เรื่องใหม่ๆ อย่างรวดเร็ว ผู้นำต้องมีความเข้าใจในภาพรวมของทั้งทีม หมายความว่า สิ่งที่ต้องเรียนรู้มีมาก และรวมถึงสิ่งที่ผู้นำทำเองไม่ได้ หรือ ไม่มีความถนัด ขณะที่เวลามีน้อย เทียบกับสมาชิกทีมแต่ละคนที่มีเวลาศึกษาในเรื่องของตน ดังนั้นผู้นำมีความจำเป็นอย่างยิ่งยวดที่จะต้องเรียนรู้เร็ว และ สำคัญที่สุดคือ มองภาพใหญ่ออก ซึ่งจะทำได้ก็ต่อเมื่อผู้นำมีความเข้าใจเพียงพอในแต่ละเรื่องต่างๆ ที่ตนเองรับผิดชอบ ไม่จำเป็นต้องทำเองเป็น แต่ต้องเข้าใจหลักการและเหตุผลในระดับที่ลึกเพียงพอ ซึ่งหลายคนมีความกดดันที่จะต้องให้มาเรียนรู้ในสิ่งที่ไม่ได้ชอบหรือไม่ได้สนใจ
  • สร้างแรงกระตุ้นให้คนอื่น ผู้นำต้องมีเป้าหมายและแรงกระตุ้นตนเองตลอดเวลาอันนั้นไม่ต้องพูดถึง แต่แค่นั้นยังไม่พอ ต้องสามารถสร้างแรงกระตุ้นให้สมาชิกในทีมทราบถึงเป้าหมายและมีแรงกระตุ้นในการทำงานให้บรรลุเป้าหมายร่วมกันได้ บางคร้ั้งสมาชิกอาจมีปัญหาที่ไม่เกี่ยวกับงาน ก็ต้องอย่างน้อยรู้จักรับฟังและให้คำแนะนำที่ดีในการจัดการกับปัญหา
  • เป็นตัวอย่างที่ดี เนื่องจากผู้นำจะเป็นเสมือนต้นแบบให้กับสมาชิกในทีมโดยอัตโนมัติ หากประพฤติตนไม่เป็นตัวอย่างที่ดี เช่น ไม่ขยัน เกี่ยงงาน หนักไม่เอาเบาไม่สู้ เข้างานสาย แต่งตัวไม่เรียบร้อย พูดจาหยาบคาย หงุดหงิดอารมณ์ขึ้น ก็ยากจะปกครองลูกทีม ทั้งๆ ที่จริงๆ ผลงานอาจจะยังดี แน่นอนว่าคนเราไม่สามารถสมบูรณ์แบบไปได้ทุกเรื่อง แต่ผู้นำต้องพยายามรักษาสิ่งที่ดีไว้ให้มากกว่าสิ่งที่ไม่ดี ยิ่งมีสิ่งไม่ดีอยู่มากเท่าไหร่ หมายความว่าสิ่งที่ดีของท่านต้องโดดเด่นเป็นทวีคูณจึงจะกลบสิ่งไม่ดีเหล่านั้นได้ ขณะที่ผู้ตามไม่มีความกดดันเหล่านี้ ทำหน้าที่ของตัวเองให้สำเร็จเป็นใช้ได้ ไม่จำเป็นต้องทำตัวเป็นแบบอย่างอะไรมากมาย

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

ขับรถในประเทศไทยอันตรายที่สุด




เรื่องนี้พูดกันมานาน ไม่เห็นจะผลักให้เป็นวาระแห่งชาติ จริงๆ สักที มันสำคัญนะครับ

เสนอไอเดีย

1. ผลักดันให้ใช้มอเตอร์ไซต์ไฟฟ้าเกือบทั้งหมดภายใน 3 ปี แบบที่เมืองจีน เสียงก็เงียบ ขับได้ไม่เร็วมาก (น่าจะไม่เกิน 55 กม. /ชม.) ในเมื่อขับได้ไม่เร็ว อุบัติเหตุก็เกิดยาก ไฟฟ้าลดมลภาวะทางเสียงด้วย รัฐบาลคงต้องช่วยเอกชนที่เกี่ยวข้องกับมอเตอร์ไซต์ในปัจจุบันว่าเราจะไปยังจุดนั้นได้อย่างไร

https://www.bloomberg.com/news/articles/2017-06-19/add-traffic-to-the-risks-of-being-in-emerging-markets-chart

2. บังคับใช้กฎจราจรอย่างจริงจัง ติดกล้องจับปรับ ทั่วประเทศ ขับเร็ว เปลี่ยนเลนเส้นทึบ ปาดคอสะพาน ไม่ใส่หมวกจอดขาวแดง คนนั่งท้ายรถกระบะ ฯลฯ ครั้งละ 400 ชำระง่ายๆ ที่ 7-11 อย่าให้ลึกบาก และปรับเพิ่มขึ้นเรื่อยๆ ทีละนิดอย่าปรับโหดเกิน (เค้าก็วิ่งเต้นกัน) หรือ ลำบากเกิน (เค้าไม่สะดวกไปจ่าย) ใช้เทคโนโลยีเข้าช่วยไม่เปลืองแรงเจ้าหน้าที่สักนิด และมีรายได้จากผู้กระทำผิด อีกต่างหาก

มาตรการง่ายๆ 2 ข้อนี้ 3 ปี หลุดจาก Top 10 แน่นอน

อ่านผลตรวจเลือดด้วยตนเอง

แปะเก็บไว้

อ่านผลตรวจเลือดด้วยตนเอง (ควรจัดพิมพ์เก็บเอาไว้อ่านเทียบกับผลตรวจสุขภาพประจำปีนะครับ)
โดย นพ.สันต์ ใจยอดศิลป์
วันนี้ผมจะรวบยอดสอนการแปลผลการตรวจเคมีในเลือดให้ฟัง ท่านที่ถามมาคล้ายกันแต่ว่าผมไม่ได้ตอบก็ขอให้เอาวิธีแปลผลที่คุยกันวันนี้ไปแปลผลการตรวจของท่านเอาเองก็แล้วกัน
1. Blood chemistry แปลตรงๆว่าเคมีของเลือด หมายถึงระดับของสารต่างๆที่อยู่ในเลือดซึ่งก่อปฏิกิริยาเคมีได้ ซึ่งการเพิ่มขึ้นหรือลดลงของสารเหล่านี้ บ่งบอกไปถึงว่าจะมีโรคอะไรเกิดขึ้นในร่างกายบ้าง
 2. FBS = ย่อมาจาก fasting blood sugar แปลว่าระดับน้ำตาลในเลือดหลังการอดอาหารมาอย่างน้อย 8 ชั่วโมง เป็นการตรวจสถานะของโรคเบาหวานโดยตรง คือคนปกติค่านี้จะต่ำกว่า 100 mg/dL ถ้าของใครสูงเกิน 125 ก็ถือว่าเป็นเบาหวานแล้วอย่างบริบูรณ์
3. HbA1C = ย่อมาจาก hemoglobin A1C แปลว่าระน้ำตาลสะสมเฉลี่ยสามเดือนในเม็ดเลือดแดง มีความหมายคล้ายๆกับค่า FBS คือโดยคำนิยาม ถ้าน้ำตาลสะสมเฉลี่ยของของใครสูงกว่า 6.5% ก็ถือว่าเป็นโรคเบาหวานไปแล้วอย่างบริบูรณ์ ค่า HbA1C นี้ดีกว่าค่า FBS ในสองประเด็น คือ
3.1 ทำให้เราตรวจคัดกรองเบาหวานได้ทุกเมื่อ โดยไม่ต้องอดอาหารมาล่วงหน้า
3.2 การที่มันสะท้อนค่าน้ำตาลในเลือดในช่วงเวลาสามเดือนย้อนหลัง จึงตัดปัญหาระดับน้ำตาลวูบวาบในช่วงหนึ่งวันก่อนการตรวจ คือคนไข้บางคนที่จะทำตัวดีเฉพาะสองสามวันก่อนไปหาหมอเพื่อให้น้ำตาลในเลือดดูดี พอคล้อยหลังหมอตรวจเสร็จก็ออกมาสั่งไอติมมากินเป็นกะละมังให้หายอยาก คนไข้แบบนี้การตรวจ HbA1C จะทำให้ทราบสถานะที่แท้จริงของเบาหวานดีกว่า
4. BUN =  ย่อมาจาก blood urea nitrogen แปลว่าไนโตรเจนในรูปของยูเรีย  ตัวยูเรียนี้เป็นเศษของเหลือจากการเผาผลาญโปรตีนที่ตับ ซึ่งต้องถูกกำจัดทิ้งโดยไต การวัดระดับค่าของ BUN เป็นตัวบ่งบอกว่าเลือดไหลไปกรองที่ไตมากพอหรือไม่ ในภาวะที่เลือดไหลไปกรองที่ไตน้อยลง เช่นในภาวะร่างกายขาดน้ำ หรือสูญเสียเลือดไปทางอื่นเช่นเลือดออกในทางเดินอาหาร หรือในภาวะช็อก ระดับของ BUN จะสูงขึ้นอย่างรวดเร็ว ค่าปกติของ BUN คือ 8-24 
5. Cr = เขียนเต็มว่า Creatinine แปลว่าเศษเหลือจากการสลายตัวของกล้ามเนื้อ คือกล้ามเนื้อของคนเรานี้มันสลายตัวและสร้างใหม่อยู่ตลอดเวลา คนมีกล้ามมากก็สลายตัวมากสร้างมาก Cr ซึ่งเป็นเศษซากที่สลายตัวออกมาจะถูกไตขับทิ้งไป แต่ในกรณีที่ไตเสียการทำงาน เช่นเป็นโรคไตเรื้อรัง ไตจะขับ Cr ออกทิ้งไม่ทันกับที่กล้ามเนื้อสลายออกมา ทำให้ระดับ Cr ในเลือดสูงผิดปกติ ค่าปกติของมันคือ 0.7-1.2 mg/dL 
6. eGFR = เรียกสั้นๆว่า จีเอฟอาร์. ย่อมาจาก estimated glomerular filtration rate แปลว่าอัตราการไหลของเลือดผ่านตัวกรองของไตในหนึ่งนาที ค่านี้ได้จากการคำนวณเอาจาก Cr กับอายุ และชาติพันธุ์ของเจ้าตัว ห้องแล็บที่ยังไม่ทันสมัยจะไม่รายงานค่านี้ ถ้าเจ้าตัวอยากทราบค่านี้ต้องเอาค่า Cr ที่ได้ไปอาศัย GFR calculator ตามเว็บในเน็ทคำนวณให้ ค่าจีเอฟอาร์.นี้มีประโยชน์มากในแง่ที่ใช้แบ่งระดับความรุนแรงของคนที่ Cr ผิดปกติอย่างคุณนี้ว่ามีความรุนแรงเป็นโรคไตเรื้อรังระยะไหนของ 5 ระยะ กล่าวคือ 
ระยะที่ 1 ตรวจพบพยาธิสภาพที่ไตแล้ว แต่ไตยังทำงานปกติ (จีเอฟอาร์ 90 มล./นาที ขึ้นไป) 
ระยะที่ 2 ตรวจพบพยาธิสภาพที่ไตแล้ว และไตเริ่มทำงานผิดปกติเล็กน้อย (จีเอฟอาร์ 60-89 มล./นาที)
ระยะที่ 3 ไตทำงานผิดปกติปานกลาง ไม่ว่าจะตรวจพบพยาธิสภาพที่ไตหรือไม่ก็ตาม (จีเอฟอาร์ 30-59 มล./นาที
)ระยะที่ 4 ไตทำงานผิดปกติมาก (จีเอฟอาร์ 15-29 มล./นาที)
ระยะที่ 5. ระยะสุดท้าย (จีเอฟอาร์ต่ำกว่า 15 หรือต้องล้างไต)    
 7. Uric acid ก็คือกรดยูริกที่เป็นต้นเหตุของโรคเก้าท์นั่นแหละ ค่าปกติของกรดยูริกในเลือดคือ 3.4-7.0 
8. Triglyceride คือไขมันไตรกลีเซอไรด์ ซึ่งเป็นไขมันก่อโรคชนิดหนึ่งในร่างกายเรา ระดับที่สูงจนต้องใช้ยาคือเกิน 200 mg/dl 
9. HDL-cholesterol เรียกสั้นๆว่าเอ็ช.ดี.แอล. เรียกอีกอย่างว่า “ไขมันดี” เพราะมันเป็นไขมันที่ดึงไขมันที่พอกหลอดเลือดออกไปจากหลอดเลือด ดังนั้นยิ่งมีเอ็ช.ดี.แอล.มากก็ยิ่งดี คนปกติควรมีเอ็ชดีแอล.เกิน 40 mg/dl ขึ้นไป 
10. LDL-cholesterol เรียกสั้นๆว่าแอลดีแอล. หรือเรียกอีกอย่างว่า “ไขมันเลว” เพราะมันเป็นตัวไขมันที่พอกอยู่ที่ผนังหลอดเลือดและเป็นไขมันก่อโรคโดยตรง การจะตัดสินว่าคนไข้คนไหนควรกินยาลดไขมันเมื่อไหร่ก็ตัดสินกันจากระดับแอลดีแอล.นี่แหละ โดยเทียบกับความเสี่ยงในการเป็นโรคที่แต่ละคนมีเป็นทุนอยู่แล้ว  กล่าวคือ
– ถ้ามีความเสี่ยงต่ำ จะให้เริ่มทานยาลดไขมันเมื่อ LDL มากกว่า 160
– ถ้ามีความเสี่ยงปานกลาง จะให้เริ่มทานยาลดไขมัน
เมื่อ LDL มากกว่า 130
– ถ้ามีความเสี่ยงสูง หรือเป็นโรคหัวใจ หรือเบาหวาน หรืออัมพาตแล้ว จะให้เริ่มทานยาลดไขมันเมื่อ LDL มากกว่า 100   
11. Total Cholesterol หมายถึงโคเลสเตอรอลรวมในร่างกาย เป็นค่ารวมของไขมันสามอย่าง กล่าวคือ    
โคเลสเตอรอลรวม = ไขมันดี (HDL) + ไขมันเลว (LDL) + หนึ่งในห้าของไขมันไตรกลีเซอไรด์      สมัยก่อนเราใช้ค่าโคเลสเตอรอลรวมตัวนี้ตัวเดียวในการประเมินไขมันในเลือด จึงได้กำหนดค่าปกติไว้ว่าถ้าสูงเกิน 240 mg/dl จึงจะถือว่าสูงและเริ่มใช้ยา 
แต่สมัยนี้เราไม่ค่อยจะดูค่าโคเลสเตอรอลรวมกันเท่าไหร่แล้ว เราดูเจาะลึกลงไปถึงไขมันแต่ละชนิด และตัดสินใจใช้หรือไม่ใช้ยาจากระดับไขมันเลว (LDL) โดยไม่สนใจโคเลสเตอรอลรวมแล้ว เพราะค่านี้มักชักนำให้เข้าใจผิด ยกตัวอย่างเช่นถ้าดูค่าโคเลสเตอรอลรวมได้ 214 ซึ่งก็แค่สูงเกินพอดีไปบ้างแต่ไม่สูงถึงกับต้องใช้ยา แต่ว่าจริงๆแล้วเป็นความเข้าใจผิด เพราะค่าโคเลสเตอรอลรวมดูต่ำอยู่ได้เพราะมีไขมันดี (HDL) ต่ำกว่าปกติ เลยพลอยทำให้ค่าโคเลสเตอรอลรวมต่ำไปด้วย ทั้งๆที่เป็นคนมีไขมันเลวอยู่ในระดับสูงถึงขั้นต้องใช้ยาแล้ว 
12. AST(SGOT) = ย่อมาจาก aspartate transaminase หรือชื่อเก่าว่า serum glutamic oxaloacetic transaminase เป็นเอ็นไซม์ที่ปกติอยู่ในเซลของตับ ซึ่งจะไม่ออกมาในเลือด หากมีเอ็นไซม์ตัวนี้ออกมาในเลือดมากก็แสดงว่าเซลตับกำลังได้รับความเสียหาย เช่นอาจจะมีตับอักเสบจากการติดเชื้อหรือจากสารพิษ หรือแม้กระทั้งจากแอลกอฮอล์ และไขมันแทรกเนื้อตับ ค่าปกติของ AST คือไม่เกิน 40 IU/L 
13. ALT (SGPT) = ย่อมาจาก alamine amintransferase หรือชื่อเก่าว่า serum glutamic pyruvic transaminase เป็นเอ็นไซม์ที่ปกติอยู่ในเซลของตับเช่นเดียวกับ AST และจะออกมาในเลือดเมื่อเซลตับได้รับความเสียหายเช่นกัน โดยเฉพาะอย่างยิ่งในกรณีที่มีเนื้องอกอุดตันทางเดินน้ำดี ค่าปกติของ ALT คือไม่เกิน 34 IU/L 
14. Alkaline Phosphatase = เป็นเอ็นไซม์ที่อยู่ในเซลของตับ ทางเดินน้ำดี และของกระดูกเป็นส่วนใหญ่ ความหมายของเอ็นไซม์ตัวนี้หากมันสูงขึ้นคืออาจจะมีปัญหาที่ทางเดินน้ำดี ตับ หรือกระดูก ค่าปกติในผู้ชายผู้ใหญ่ไม่เกิน 128 U/L
15. GTT = ย่อมาจาก gamma glytamyl transpeptidase เป็นเอ็นไซม์ในเซลตับและทางเดินน้ำดีเช่นเดียวกับ ALT มีความไวต่อความเสียหายของเซลตับมากกว่า แต่ขาดความจำเพาะเจาะจง หมายความว่าเมื่อ GTT สูงจะเกิดจากอะไรก็ได้ที่อาจจะไม่ใช่เรื่องของตับ เช่นอาจมีปัญหาที่ตับอ่อน ที่หัวใจ ที่ปอด หรือแม้กระทั่งเป็นเบาหวาน อ้วน หรือดื่มแอลกอฮอล์ ก็ทำให้ GTT สูงได้ สารตัวนี้จึงไม่มีประโยชน์ในการคัดกรองโรคเลย 
16. HBs Ag = ย่อมาจาก hepatitis B surface antigen แปลว่าตัวไวรัสตับอักเสบบี.ซึ่งตรวจจากโมเลกุลที่ผิวของมัน ถ้าตรวจได้ผลบวกก็แปลว่ามีเชื้อไวรัสตับอักเสบบี.อยู่ในตัว หากตรวจได้ผลลบ ก็แปลว่าไม่มีเชื้อไวรัสตับอักเสบบี
17. Anti HBs = ย่อมาจาก antibody to hepatitis B surface antigen แปลว่าภูมิต้านทานต่อไวรัสตับอักเสบบี. หากตรวจได้ผลบวกก็แปลว่าคุณมีภูมิคุ้มกันต่อไวรัสบี.แล้ว ไม่ต้องไปแสวงหาการฉีดวัคซีน

วิกฤตไม่เป็นโอกาส #2

ต่อเนื่องจาก post ที่แล้ว

ขอขยายความว่า สิ่งที่ผมเสนอ ชัดๆ คือ

ให้มีการสร้างสภาพแวดล้อมที่เหมาะสม อันจะก่อให้เกิดธุรกิจบริการออนไลน์ของไทยที่แข่งขันได้กับยักษ์ใหญ่ต่างชาติ

ระยะเวลาการคงสภาพแวดล้อมดังกล่าว ไม่นาน ประมาณ 3-5 ปี

ผลลัพธ์ที่คาดหวัง

  • มีธุรกิจบริการออนไลน์ของไทยมาเข้าร่วมช่วงต้นโครงการสัก 20 บริการ
  • เมื่อจบโครงการ มีเหลือรอดไปแข่งขันได้ในระดับโลกสัก 3 บริการ ก็น่าพอใจแล้ว

ผมไม่ได้เสนอให้ ภาครัฐเอาเงินภาษีประชาชนมาพัฒนาบริการเองนะครับ ไม่ว่าจะทำเอง หรือ ตั้งงบจ้างทำ แบบนั้นคงอยู่รอดอยาก หมดเงินก็หมดกัน

ผมไม่ได้เสนอให้ เลือกเอกชนรายใดรายหนึ่งมาลงขันเงินให้ทำ เพราะมันจะไม่เกิดการแข่งขัน ต้องให้รอดจากการแข่งขันด้วยตัวเอง ขอแค่สภาพแวดล้อมในการแข่งขันให้เค้าแข่งได้ก็พอ

ผมแค่เสนอให้ภาครัฐ หรือ สมาคมธุรกิจใหญ่ๆ ร่วมกันสนับสนุนให้เกิดสภาพแวดล้อมดังกล่าวนี้

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

  • จะโปรโมตสนับสนุนให้ลูกค้ารวมถึงบุคลากรของตนเอง ใช้ บริการของไทย แค่ มือถือทุกเจ้า สนับสนุนก็เหลือแหล่ครับ เช่น ตั้งราคาแพ็กเกจที่ใช้บริการเหล่านี้ ถูกกว่า แพ็คเกจ facebook, youtube, LINE
  • รวมเอาลิงค์ไอค่อนบริการเหล่านี้ ติดไปบนมือถือที่ตนเองจำหน่าย แค่นี้ ผู้ใช้ที่ไม่ได้อะไรมาก ก็กดสิ่งที่ติดมากับเครื่อง ก็โอเคแล้ว
  • เลือกลงโฆษณา หรือ สนับสนุนทางการเงินในรูปแบบใดๆ กับบริการเหล่านี้ก่อน ที่จะไปลงกับบริการต่างชาติ
  • ด้านกฎหมาย ให้มีการช่วยเหลือด้านภาษีแก่องค์กรที่ลงโฆษณากับบริการเหล่านี้ อาจจะเป็นรายจ่ายคิดได้ 1.5 เท่าอะไรทำนองนี้ เพื่อให้เค้าเลือกลงก่อนที่จะไปลงก่อนบริการต่างชาติ
  • วาระแห่งชาติ ให้คนไทยร่วมกันสร้างเนื้อหาในบริการเหล่านี้ ในส่วนที่เกี่ยวกับองค์กรของท่าน แทนที่จะเอาไปใส่ในบริการต่างชาติ

แค่นี้ก็เหลือแหล่แล้วครับ ไม่จำเป็นต้องทุ่มเงินลงไปให้ใครแต่อย่างใด แค่มีพันธะสัญญาต่อกันว่า

พวกมึงทำนะ แล้วพวกกูจะใช้

แค่นั้นเอง นะครับ

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

ต่อความเห็นที่ว่า ทำไมต้องไปเสนอให้คนโน้นคนนี้ทำ ทำไมไม่ทำเอง คือ ผมมองว่ามันเป็นงานใหญ่ ที่ไม่สามารถทำได้สำเร็จลำพัง SME รายสองรายน่ะครับ มันต้องมีเจ้าภาพที่มีปากมีเสียงจำนวนหนึ่ง ที่มาช่วยกันสร้างวาระ และสัญญาว่าจะใช้

สิ่งที่ทำเองได้ บริษัทฯ ผู้เขียนทำอยู่แล้วครับ บริการอย่าง Longdo Map แผนที่ออนไลน์สัญชาติไทย ทำมา 10 ปีแล้ว แนวคิดคล้ายๆ Google Maps คือ ผู้ใช้ทั่วไปใช้ฟรี แล้วไปหารายได้เอาจากลูกค้าองค์กร

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

ซึ่งที่ผ่านมาก็หนักหนาสาหัสมาก คู่แข่งระดับโคตรใหญ่ทั้งนั้น ระดับโลก ระดับนานาชาติ เรียกได้ว่าไม่เห็นทางรอดเลย ก็ต้องเรียนว่ายังทำอยู่ได้ครับ ไม่ได้ขาดทุนด้วย (ขอขอบคุณลูกค้าทุกท่าน แฮ่ๆ) โดยไม่ได้มีแต้มต่อ และ สภาพแวดล้อมที่เอื้อให้เรามีแต้มต่อในการแข่งขัน แต่อย่างใด

ดังนั้น ถ้าสำหรับบริการ IT ที่เสนอข้างต้น ถ้ามีแต้มต่อให้บริการไทยหน่อย คิดว่าไปรอดอยู่แล้วครับ ให้โอกาสคนไทยด้วยกันเถิด

วิกฤตไม่เป็นโอกาส

จิบกาแฟยามเช้าวันเสาร์ 29 ส.ค.58 พร้อมหนังสือพิมพ์ฐานเศรษฐกิจ เหลือบไปเห็นข่าวนี้

จับใจความได้ว่า สมาคมโทรคมนาคมแห่งประเทศไทยฯ เค้าว่า ผู้ใช้ชาวไทยมีการบริโภคเนื้อหาจากต่างประเทศถึง 60% ก็คงพวก facebook, youtube ต่างๆ นานาที่เราๆ ท่านๆ ใช้กันอยู่ทุกวัน อย่างเยอะด้วย
ดังนั้นก็อยากจะเสนอรัฐบาลให้ดึงดูดพวกบริการต่างประเทศเหล่านี้

ให้มาตั้งระบบที่เมืองไทย 

แทนที่จะเป็นที่สิงคโปร์หรือมาเลเซียในปัจจุบัน ซึ่งทำให้บริษัทโทรคมฯ ต้องเสียเงินต่อค่าอินเทอร์เน็ตไปหาประเทศเหล่านี้เยอะมาก ซึ่งก็ต่อเนื่องทำให้ประชาชนต้องเสียค่าใช้อินเทอร์เน็ตแพงอีกทอด ถ้าเนื้อหาต่างๆ อยู่ในประเทศได้ก็ค่าใช้จ่ายตรงนี้ก็จะลดลง

มาตรการที่จะดึงต่างๆ ก็พวกใช้ให้ประโยชน์ด้านภาษี หรือ เงื่อนไขอะไรต่างๆ ก็ให้มันสะดวกขึ้น รวมถึงความมั่นคง อย่าไปเข้มงวดกับเค้ามาก ฯลฯ​ ทำไงให้เค้าอยากมา
อ่านในแว๊บแรกผมก็รู้สึกว่า
ฟังดูดีงาม
มาก
เราๆ ท่านๆ ก็จะจ่ายค่าเน็ตน้อยลง, เค้ามาลงทุน ก็เกิดการจ้างงาน การใช้ง่าย
แต่คิดให้ลึกลงไปอีกนิด
บริการอย่าง facebook, youtube ประชาชนเราใช้ฟรี เสพข้อมูลกันกระหน่ำจนประเทศไทยติดอันดับ 3 ของโลก ถามว่าทำไมเขาทำให้ใช้ฟรีๆ ครับ เพราะเขามีรายได้ รวยระดับโลกด้วย
รายได้จากไหนครับ?
จากโฆษณาไง
ยิ่งผู้ใช้ใช้บริการไหนมากเท่าไหร่ ธุรกิจหรือองค์กรอยากจะลงโฆษณาสินค้าบริการของตนเอง จากเดิมๆ ที่ลงกันในสื่อไทยๆ เว็บไทยๆ ก็ไม่ได้แล้ว ต้องไปลงผ่านบริการเหล่านี้

ซึ่งบอกได้เลยว่าเป็นปริมาณ เงินมหาศาล และมีแนวโน้มจะมากขึ้นเรื่อยๆ ทำไงได้ ก็ผู้ใช้คนไทยอยู่กันบนนี้

และเม็ดเงินเหล่านี้วิ่งตรงไปยังผู้ให้บริการในต่างประเทศ รัฐบาลไทยไม่ได้ภาษีสักสตางค์เดียวด้วย!
ท่านผู้บริหารประเทศ ผู้บริหารธุรกิจโทรคมนาคมฯ​ ทั้งหลาย ถามว่าทราบตรงนี้หรือไม่ครับ
ยิ่งเปิดให้เค้าเข้ามาตั้งระบบ แว๊บแรกอาจจะดีงาม แต่ระยะยาวคืออะไร?
แปลว่า ธุรกิจ ​IT ไทย ปิดประตูตายไปเลยครับ ไม่ต้องคิดทำแข่ง ยกตลาดประเทศให้ facebook, google เค้าไปเลย
ทำไมไม่พลิกวิกฤตเป็นโอกาสล่ะครับ
การที่บริการเหล่านี้อยู่ที่ต่างประเทศ ต้องจ่ายเน็ตแพงถ้าจะใช้ จริงๆ ควรจะทำให้มันยากที่จะใช้ 
ก็ดีแล้วนี่
แล้วก็รวมตัวกันทำของไทยขึ้นมา อะไรอย่าง facebook, youtube แน่นอนถ้าทำให้ดีเท่าเขาหรือเจ๋งกว่าเขาในวันนี้ อาจจะต้องใช้พลังมาก
แต่เริ่มต้นไม่ต้องขนาดนั้นนี่ เอาแค่ 20% ที่ทำให้รองรับ 80% ของการใช้งานของผู้ใช้
ก็เพียงพอแล้ว
เพียงแค่บริษัทโทรคมนาคมในไทยฯ ยักษ์ใหญ่ทั้งหลาย ประกาศสนับสนุน social network ของไทย ถ้าใช้พวกนี้ ค่าโทรถูกกว่า ค่าเน็ตถูกกว่า
ภาครัฐก็สนับสนุนด้วย องค์กรภาครัฐทั้งหลาย จะประชาสัมพันธ์ข้อมูลของตัวเองลงในบริการของไทยเท่านั้น และเม็ดเงินโฆษณาก็จะลงตรงนี้ แทนที่จะไปบริการต่างประเทศ
ทำให้มันเป็นวาระแห่งชาติ
โรงเรียน สถานศึกษาต่างๆ ก็เน้นๆ บริการของไทย
นี่แหละถึงจะเป็น Digital Economy อย่างแท้จริง
แค่นี้ก็เพียงพอสำหรับการเริ่มต้น หลังจากนั้นพอผู้ใช้เริ่มถ่ายเทมาที่บริการของไทย สัก 10-20 ล้านคน จะแข่งขันกับบริการระดับโลกก็ไม่กลัวแล้ว เชิญทุกเจ้ามาตั้งระบบที่ไทยเลย 
ไม่ใช่เรื่องที่ทำไม่ได้ครับ
ประเทศอื่นๆ เค้าไม่ได้ถูก Google, Facebook กินตลาดแทบจะ 100% เหมือนเมืองไทยนะครับ บริการอย่าง LINE, Naver, Baidu, Sina, Renren, Pengyou, QQ, Youku, WeChat ในญี่ปุ่น เกาหลี จีน เค้าสู้กับของฝรั่งได้สบายๆ
ทำไมล่ะ มือตีนก็เท่ากับเรา และของพวกนี้มันทำได้โดยไม่ต้องมีโรงงานลงทุนเป็นหมื่นล้านอะไร แค่มันสมองกับอุปกรณ์คอมพิวเตอร์ 
อย่าอ้าง เมืองไทยตลาดเล็ก เกาหลีใต้ ประชากรน้อยกว่าเรา

อย่าอ้าง คนไทยภาษาอังกฤษไม่ดี ประเทศพวกนี้ ภาษาไม่ได้ดีเด่กว่าเรา

อยู่ที่ว่าคิดจะสู้หรือเปล่าเท่านั้น!
ซึ่งผมเชื่อว่าถ้าคนอย่าง Mark Zuckerberg หรือ Steve Jobs หรือ Larry Page มาเกิดในเมืองไทย
มันสู้แน่ๆ ว่ะ
เรื่องอื่นๆ เมืองไทยเราก็ทำได้ มีบริษัทระดับโลกหลายเรื่องแล้ว อาหาร เกษตรกรรม น้ำเมา ปิโตรเคมี สื่อสาร เหลือแต่เรื่อง IT นี่แหละ

ซึ่งเริ่มตอนนี้ก็ยังไม่สายครับ แต่ต้องรวมพลัง มีจุดมุ่งหมายอันเดียวกัน
ท่านผู้มีอำนาจและโอกาสทั้งหลาย จะรวมพลังกันสู้ หรือ จะยกตลาดในประเทศถวายฝรั่งก็เชิญเลือกเอาเถิด

สำนัก Project X แห่งชาติ

ผมเคยตั้งคำถามว่า อุตสาหกรรมรถยนต์ของไทยที่ใครเรียกว่าเป็น ดีทรอยท์แห่งเอเชีย แล้วทำไมไม่เห็นมีรถยนต์ยี่ห้อของไทยสักยี่ห้อ?

สอบถามคนในวงการก็ได้รับแต่คำตอบว่า โอ ขนาดนั้นมันยาก ไม่ทันแล้ว คนไทยไม่ไหว ทำไม่ได้หรอก ฯลฯ 
เราเป็นได้แค่ฐานรับจ้างการผลิตให้ต่างชาติ กำไรส่วนบนสุดนั้นบริษัทเจ้าของยี่ห้อเอาไป เหลือให้เราแค่ค่าแรงขั้นต่ำๆ ก็โอแล้วล่ะ
จริงหรือ?
เหลียวมองมาวงการไอที ถามว่า ตั้งแต่เช้ามาท่านได้ใช้ผลิตภัณฑ์ IT อะไรของคนไทยบ้างครับ ฮาร์ดแวร์หรือซอฟต์แวร์ก็ได้ คิดเป็นกี่ % ของทั้งหมดที่ใช้ในแต่ละวัน เกิน 10% มั้ย?
ขอพาดพิงถึงโครงการดิจิทัลอีโคโนมีอีกครั้ง ผมได้มีโอกาสไปร่วมระดมสมองอยู่ครั้งหนึ่ง คุยๆ ในกลุ่มจับใจความได้ว่า เราก็ตั้งเป้าให้ภายใน 3 ปี ทุกหน่วยงานมี IT ใช้กันกว้างขวางและมีประสิทธิภาพ
แค่นั้นเองหรือครับ? ถ้าแค่จะใช้เทคโนโลยี ไม่ต้องถึงกับตั้งกระทรวงใหม่มั้ง ทุกวันนี้ภาคเอกชน ภาคปัจเจกชน เค้าใช้เทคโนโลยีกันเก่งจะแย่ 
ทำไมกรอบความคิดก็ยังอยู่ที่ คนไทยเป็นได้แค่ผู้ใช้ หรือ อย่างดีก็เอามา customize เล็กๆ น้อยๆ ปลายน้ำ เท่านั้น
โครงการระบบรางที่เราจะทำกันเยอะแยะไปหมด ทั้งความเร็วสูง ความเร็วปานกลาง ผมก็ได้ยินแต่เรื่องจะให้ประเทศโน้นประเทศนี้มาทำ กู้ๆ เงินมาสร้างๆ 
ไม่เห็นได้ยินว่าเราจะถือโอกาสนี้พัฒนาเทคโนโลยีอะไรของเราเองเลย 
ผมเชื่อว่า ถ้าคิดว่าทำไม่ได้ ก็จะทำไม่ได้อย่างนี้แหละ ตลอดไปและตลอดชาติ 
เราจะไม่มีวันมีรถยนต์เป็นของตนเอง ไม่มีผลิตภัณฑ์ทางเทคโนโลยีอะไรเจ๋งๆ เป็นของตนเองจนกว่าจะมีคนรุ่นถัดไปที่กล้าคิด และกล้าทำ มาเปลี่ยนความคิดนี้
คนไทยเราไม่ใช่ไม่เก่งนะ ระดับมันสมองก็มีมาก แต่จำนวนมากทำงานบริษัทข้ามชาติกันดีกว่า เงินเดือนดี บริหารงานมีระบบ ก็ต้องกินต้องใช้อ่ะนะ

เก่งมากหน่อยก็ทำ start-up เป็นธุรกิจของตนเอง สักพักก็มีต่างชาติมาลงทุน, ซื้อ, ชวนไปอยู่ต่างประเทศ ฯลฯ ตามสูตร
สิ่งที่ประเทศชาติต้องการอย่างยิ่งตอนนี้ จึงไม่ใช่กระทรวงใหม่ที่มาผลักดันการใช้ IT
แต่คือ ความกล้าคิด ที่จะผลักดันให้ประเทศไทยพลิกกลับมาเป็นผู้ผลิตทางเทคโนโลยีบ้าง
ซึ่งก็ต้องยอมรับความจริงว่าไม่ใช่ว่าอยู่ดีๆ จะเนรมิตให้ประเทศเรากลายเป็นมหาอำนาจทางเทคโนโลยี มันไม่ใช่ง่ายๆ มันต้องมีกลยุทธ์ที่แยบยล มันต้องครบวงจรทั้ง
R – Research
D – Development
E – Engineering
C – Commercial
ไม่ใช่มีแค่ R&D นักวิจัยคิดว่าวิจัยไรดีว้า ทำเสร็จออกมา เอ้าใครอยากเอาไป commercialize บ้าง ทำไมไม่ค่อยมีล่ะ

มันต้องกลับข้างกัน C – Commercial ต้องเป็นตัวนำ เราจะทำอะไร เป้าหมายคืออะไร ทำอย่างไรถึงจะอยู่รอด แข่งขันได้

จากนั้นต้นน้ำ R&D ต้องสนับสนุน และทำให้มันเป็นจริงในระดับอุตสาหกรรมด้วย Engineering
สุดท้ายต้องแข่งขันได้ในระดับ Commercial ซึ่งอาจต้องจำเป็นใช้เทคนิคพวก regulation ต่างๆ มาให้เกิดการแข่งขันที่_ไม่เท่าเทียม_แต่ยุติธรรม เพื่อให้รายใหม่แข่งได้
ผมจึงมองว่า น่าจะมี หน่วยงานที่มีหน้าที่สร้าง Mission ที่ง่ายๆ สั้นๆ และผลักดันทุกวิถีทางที่จะทำให้ Mission นั้นสำเร็จ 
หน่วยงานต้องมีอำนาจข้ามกระทรวง เพราะงานแบบนี้ต้องใช้หลายวงการรวมถึงภาคธุรกิจด้วย 
ไม่ใช่แค่ภาครัฐเอาเงินมาทุ่ม จ้างงาน เอกชนมาทำ แล้วจบ แบบนั้นมันอยู่ไม่ยืด มันต้องให้อยู่ในธุรกิจของตัวเองต่อไปได้ด้วย
Mission เช่น
1. ตู้โดยสารรถไฟต้องเป็นยี่ห้อที่ผลิตในประเทศไทยเท่านั้น
หัวรถจักร ถ้ายากไป ก็ไม่เป็นไร แต่ตู้โดยสาร คนไทยน่าจะทำได้นี่
กระตุ้นให้เกิดผู้ประกอบการสัก 2-3 ราย ผลิตแบบคุณภาพดีๆ หวังส่งออกด้วย
2. รถยนต์ยี่ห้อของประเทศไทย
ไม่ต้องเป็นรถยนต์แห่งชาติของรัฐบาลครับ แบบนั้นอยู่ไม่รอดระยะยาว, แต่ผลักดันให้เกิดธุรกิจรถยนต์ของคนไทย โดยหลายๆ ส่วนไม่จำเป็นต้องทำเอง เช่น เครื่องยนต์ ยากนัก ซื้อมาก่อน ฯลฯ
แต่การ design, branding, การตลาด ต้องทำเอง 
วิธีผลักดันง่ายๆ ก็ออกกฎรถยนต์ภาครัฐทั้งหมดต้องมีรถที่เป็นยี่ห้อของไทยไม่ต่ำกว่า 50%? แค่นี้ก็สร้าง demand มหาศาลแล้วไหม
3. บริการทาง IT ของคนไทย ระดับ 10 Million users มากกว่า 10 บริการ
อ้างถึงบทความ ดิจิทัล อีโคโนมี ของใคร? อย่างที่บอก ปัจจุบันต่างชาติกินรวบ

นิยามของคำว่าของคนไทย คือ ธุรกิจส่วนวิจัยและพัฒนาต้องอยู่ในเมืองไทย, server ต้องอยู่ในเมืองไทย, เสียภาษีประเทศไทย

กระตุ้นด้วยมาตรการทางภาษี ถ้าธุรกิจใช้บริการเหล่านี้ได้ลดภาษี และ ภาครัฐให้เลือกใช้บริการของคนไทยก่อนเท่านั้น
มาตรการกระตุ้นเหล่านี้ (พูดให้ชัดคือ มาตรการกีดกันต่างชาติ เพื่อให้ของไทยสู้ได้) อาจฟังดูจีนๆ สักนิด ฟังดูไม่เสรี ไม่โลกาภิวัฒน์ แต่เป็นสิ่งที่จำเป็น และในฐานะผู้ใช้ต้องทนใช้ของที่ห่วย (กว่าระดับโลก) สักแป๊บ เชื่อว่าไม่นานครับ และต้องทำให้แยบยล
พอปั้นให้ธุรกิจเหล่านี้ใหญ่โตระดับหนึ่งแล้ว ก็กลับมาปล่อยเสรีเต็มที่ได้ครับ ยกตัวอย่างธุรกิจของไทยใหญ่ๆ ปตท., ThaiBev, Central พวกนี้เค้าแข่งระดับโลกได้แล้ว
และงานของ Mission นั้นๆ ก็ถือว่าหมดไป ครบทุก Mission สำนักงานนี้ก็ปิดตัวไปได้
ไม่ง่าย แต่เชื่อว่าทำได้และท้าทายมาก และจะดึงคนเก่งๆ ของเราให้กลับมาทำงานเพื่อชาติ และให้โอกาสพวกเขาในการดำเนินธุรกิจใน Mission นั้นๆ ระดับโลกต่อไปด้วย!

เราสามารถโพสต์ blogger ทาง e-mail ได้

โดยไปตั้งค่าไว้ก่อนว่าถ้าส่งถึง callmeott.xxxxxx@blogger.com จะเข้าเป็น Post ฉบับร่างให้เลย

ข้อดีคือ เขียนใน gmail ซึ่งสามารถแปะรูปจาก clipboard ได้ง่ายๆ (cut&paste)
(เขียน blog มันเหนื่อยตอน upload รูป)

Digital Economy ของใคร?

โทรศัพท์มือถือ Smartphone สงครามเหลือแค่ระหว่างสองตระกูลหลัก แอนดรอยด์และไอโฟน จากอเมริกาทั้งคู่ ไอโฟนเครื่องก็ทำโดย Apple อเมริกา ส่วนแอนดรอยด์เครื่องส่วนใหญ่น่าจะจากเมืองจีน ไม่ก็เกาหลี Samsung, LG ไม่ก็ไต้หวัน Asus

นั่งทำงานเบื่อๆ หรือ ยังไม่เบื่อ เราก็เช็ค facebook ของอเมริกา ติดต่อสื่อสารก็แน่นอน ต้อง LINE จากบริษัทเกาหลีในญี่ปุ่น ประชาชนอย่างเราก็ซื้อสติกเกอร์กันสนุกมือ
ล่าสุดมี LINE Pay ด้วยจ่ายเงินซื้อของโน่นนี่ สะดวกสบาย

องค์กรภาครัฐภาคเอกชน จะให้เท่ห์ก็ต้องทำ LINE สติกเกอร์ขององค์กรหน่อย ไว้แจกขำๆ

แสนเบื่อเรียกรถแท็กซี่ทีไรก็ไม่ไป ก็ไปใช้ GrabTaxi สิ (มาเลเซีย) มีตังค์หน่อยก็ Uber (อเมริกา) มันช่างแสนสะดวก

ไปเที่ยวพักผ่อนทำยังไงดี จองโรงแรมก็ต้อง Agoda (อยู่ในเครือ Priceline ของอเมริกา?) หรือ ใหม่ล่ามาแรงก็จองผ่าน Airbnb ประหยัดกว่า และใครมีห้องพักคอนโดว่างๆ ก็ไปฝาก Airbnb ไว้ หารายได้เสริม

จับจ่ายใช้สอยเดี๋ยวนี้ก็ต้อง E-Commerce อยู่บ้านคลิกๆ ของก็มา Lazada (เยอรมัน?) แสนสะดวกสุดๆ หรือว่าจะ Tarad (ญี่ปุ่น?) ดี

ธุรกิจจะลงโฆษณาออนไลน์ ยุคนี้จะมีอะไรสะดวกไปกว่าลงกับ facebook หรือ Google แค่กดๆ คลิกๆ ก็เสร็จ มีเว็บมีคนดูเยอะ ก็เอาพื้นที่ไปให้เค้า เดี๋ยวก็ได้เงินใช้
search engine บ้านเรา Google กินรวบ ส่วนแบ่งตลาดน่าจะ 99.999999%

คนรุ่นใหม่ดู Youtube มากกว่าทีวี จะลงโฆษณาก็ไปลงกับ Youtube สิ มาออก 3/5/7/9 ทำไม

ธุรกิจต้องมีระบบคอมพิวเตอร์ ยุคนี้จะไปซื้อเครื่องคอมพิวเตอร์เองก็หมดสมัย ใช้ cloud กันดีกว่า นี่เลย Amazon AWS, Google, Microsoft Azure ฯลฯ

ทั้งหมดเป็นเพียงตัวอย่างของโลกยุคใหม่ซึ่งเปลี่ยนจากหน้ามือเป็นหลังเท้า ผมไม่ปฏิเสธว่าทั้งหมดนี่คือนวัตกรรม
เป็นสิ่งที่ทำให้ชีวิตเราดีขึ้น มันคือหนทางแห่งอนาคตที่เราปฏิเสธไม่ได้

แต่นวัตกรรมเหล่านี้ ให้บริการโดยบริษัทต่างชาติ เม็ดเงินจากผู้ซื้อไหลไปหาตัวกลางที่อยู่ต่างประเทศแทนที่จะวนเวียนอยู่ในประเทศ ทุกครั้งที่คุณนั่ง Uber ที่จองโรงแรมไปเที่ยวในเมืองไทยก็ตาม ค่าต๋งส่วนหนึ่งหายไปสร้างความมั่งคั่งให้ต่างประเทศครับ

และมิหน้ำซ้ำ รายได้ของบริการต่างประเทศเหล่านี้ ประเทศไทยก็เก็บภาษีอะไรไม่ได้ด้วย เสียหายเป็นเด้งที่สอง

เราควรจะต้องตระหนักถึงปัญหานี้ และมีวิธีการอย่างแยบยล ในการแก้ไข ทำอย่างไรให้ธุรกิจไทยแข่งขันได้ หรือ ถ้าไม่ได้อย่างน้อยยังไงต้องเก็บภาษีได้

อาจจะต้องเรียนรู้จากจีน มั้ง

แสนสิริ Home Care Less or More?

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

บ้านที่ผมอยู่ปัจจุบันนี้ สำหรับผมก็จัดเป็นโครงการหนึ่งของแสนสิริฯ ที่น่าจะเรียกได้ว่าประสบความสำเร็จมากๆ ต้องขอขอบคุณทางแสนสิริฯ ซึ่งกล่าวได้ว่า ถ้ามี่ที่ดินให้ไปสร้างบ้านเอง ให้ได้บรรยากาศ สวยงามขนาดนี้ ชีวิตนี้ก็ไม่รู้จะทำได้หรือเปล่า สโมสรหมู่บ้านผมสวยมากๆ เลยนะครับ

แต่สิ่งที่แสนสิริฯ​น่าจะปรับปรุงคือบริการ Home Care

หลังจากที่เราตกลงใจซื้อบ้านแล้ว ตรวจรับ และ โอนกรรมสิทธิ์แล้ว ปัญหาต่างๆ ภายในบ้าน จะถูกดูแลโดยบริการที่เรียกว่า Home Care ซึ่งจะรับประกันภายหลังการขายเป็นเวลา 1 ปี

ทว่าคุณภาพของบริการของ Home Care นั้น ต่ำกว่าบริการอื่นๆ ของแสนสิริฯ อย่างเห็นได้ชัด
ผมเข้าอยู่บ้านนี้มาเกือบสองปีแล้ว ปัญหาต่างๆ ของ Home Care ก็ยังแก้ไม่เสร็จ จนไม่แน่ใจว่ามันเป็นที่ฝีมือ หรือ ทางเทคนิคของงานก่อสร้างจริงๆ

เจ้าหน้าที่ก็เปลี่ยนบ่อย คนแรกมาจดรายการไว้หมด แก้ไปได้อย่างสองอย่าง ย้ายที่ คนใหม่มา มีปัญหาตรงไหนบ้างนะคะ ขอจดใหม่ เอ้า จดใหม่ แก้ไปสองสามงาน ย้ายที่ คนใหม่มา มีตรงไหนบ้างนะครับ อืมม

หลังๆ โทรตามเยอะๆ ก็ไม่รับสาย ไม่โทรกลับ นานๆ ทีโทรกลับ นานมากๆ ก็บอก โอมันนานแล้ว เลยเวลารับประกันแล้วหรือเปล่าครับ

หลังๆ มีเทคนิค คือ โทรไปโวยกับ call center เลย ให้เขาช่วยตาม เหมือนจะได้ผลนะ

นัดหมายมาซ่อม คุยกันไว้สองงาน มาถึง ทำแค่งานเดียว อีกงาน งง อ้ะ เวลาเหลือ ทำก็ทำ แต่ไม่มีวัสดุ ต้องออกไปซื้อก่อน รถติด กลับมาไม่ทัน ไว้ทำอีกวัน คือกระผมต้องหยุดงานมาเฝ้าพวกคุณนะครับ เขาคงคิดว่าเราไม่มีไรทำ อยู่บ้านตลอด

หลังบ้านแตกร้าวเป็นรอยจำนวนมาก แก้เป็นรอบที่ 8 ได้แล้วมั้ง ก็ยังไม่หาย ไม่รู้เป็นที่อะไร วัสดุ หรือ ฝีมือ แต่ก็ยังดีที่ยังสัญญาว่าจะแก้ให้ต่อไป

กระเบื้องในห้องน้ำห้องนอนแตก เขาก็แก้ให้แต่ทำไงรู้ไหมครับ เลาะกระเบื้องออกไปเหลือผนังปูนโป๊ๆ แล้วก็บอกว่าเดี๋ยวไปสั่งกระเบื้องก่อน  รอไปเดือนนึง ค่อยเอามาปิดให้ เฮ้ยทำไมไม่สั่งให้เรียบร้อยแล้วค่อยมาเลาะมาปิดวันเดียวกันล่ะ งง ไหม

ส้วมมีกลิ่น มีอยู่ห้องเดียวที่มีกลิ่น แก้แล้วก็ไม่หาย เนี่ยเดี๋ยวเขียนนี่เสร็จต้องโทรตามอีก แก้เป็นรอบที่สามแล้วมั้ง

หลังคารั่ว แก้แล้วยังรั่ว แต่กว่าจะทราบว่ารั่วก็เลยมาอีกหน้าฝนนึง เขาว่ามันนานไปแล้ว เลยประกัน อ่าว แต่เถียงกันยืดยาว ก็ตกลงว่าจะส่งบริษัทหลังคาฯ​มาดูให้

บางอย่างก็ไม่แก้ให้ อาจจะเป็นข้อจำกัดจริงๆ

เสาหน้าบ้านแตกร้าว Home Care บอกมันเป็นเสาหลอก แตกแน่ๆ แก้ไปก็แตก แต่ก็ยังดีอุตส่าห์แก้ให้ 1 ครั้ง แล้วไม่ถึงเดือนผ่านไปก็แตกใหม่จริงๆ ก็ปล่อยมันแตกไป อืม

พื้นโรงรถเริ่มแตก Home Care บอกไม่แก้ ไม่รวมในขอบเขต

คือ ถามว่า Home Care แย่มากมั้ย มันก็ไม่ได้เลวร้ายมากอะนะ ก็แก้ให้หลายอย่างมากแล้ว และจุดที่เป็นปัญหาก็ไม่ถึงกับทิ้งงาน อย่างน้อยก็ยังดีที่รับฟัง และแก้ไขให้ มาตลอด แต่มีความรู้สึกเหมือนมันไม่มืออาชีพยังไงชอบกล คือ เทียบกับ ส่วนอื่นๆ ของแสนสิริฯ​ ดูการตลาด การขาย การออกแบบ ฯลฯ นี่ผมว่าแผนกนี้ค่อนข้างด้อยๆ นะ

ทำไมแสนสิริไม่ใช้ผู้รับเหมาแบบมืออาชีพ (ดู http://callmeott.blogspot.com/2013/05/blog-post.html) ซึ่งผมว่าน่าจะดีกว่านี้นะ นัดหมายเป๊ะๆ มาเป็นทีม วัสดุ อุปกรณ์พร้อม แลดูมืออาชีพมากๆ

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

ผู้รับเหมา สองแบบ

ช่วงสองสามปีที่ผ่านมา มีประสบการณ์ซ่อม/ซื้อ/ตรวจรับ/เก็บงานซ่อมแซมบ้านมาพอสมควร เจอผู้รับเหมาอยู่ 2 แบบ 

คือ แบบถูกแต่ปวดหัว เป็นเจ้าของกิจการส่วนตัว คิดราคาไม่แพง ฝีมือก็มีดีบ้าง ไม่ดีบ้าง มาสายบ้าง เบี้ยวบ้าง ช่างก็มาแบบบ้านๆ บางคนเก่ง บางคนมึนๆ แล้วแต่ดวงจะได้ช่างคนไหน โดยมากแต่ละคนจะเก่งเป็นบางงาน เราต้องรู้ว่า เขาถนัดงานปูน งานไม้ งานไฟ ต้องอย่าฝืนให้ทำสิ่งที่เขาไม่ถนัด แต่ปัญหาคือ นัดยาก นัดไม่ค่อยเป็นนัด ติดโน่น ติดนี่ บางทีทำแล้วก็ลืมของโน่นนี่ ต้องออกไปซื้อ กลับมาอีกทีเย็น เลิกงาน ทำได้วันละนิด ถ้าฝีมือดียิ่งนัดยาก ถ้าให้มาแค่เก็บงานเล็กๆ น้อยๆ ยิ่งนัดยากสุดๆ

กับ อีกแบบคือแบบแพงแต่กระเป๋าตังค์จะรั่ว คือ เป็นบริษัท การบริการแทบจะเป็นอุดมคติ มีหัวหน้ามาดู มาตามเวลานัดเป๊ะๆ เก็บรายละเอียดหมด ส่งใบเสนอราคา เขียนชัดเจนว่าจะทำอะไรบ้าง ใช้วัสดุอะไร งานเล็กก็ยอมมาทำ, ก่อนงาน 1 วันโทรคอนเฟิร์ม มาถึงหน้างานตรงเวลา ข้าวของครบ ช่างทุกคนแต่งตัวยูนิฟอร์ม รู้นาทีของตน ทำเร็วโคตร ชำระเงินรูดบัตรเครดิตก็ได้ ออกบิลก็ยังได้ รับประกันผลงาน 1 ปี มีเสียในสิ่งที่ทำไป ซ่อมให้ฟรี

แต่แพงโคตรๆ เลยล่ะ น่าจะ 2-3 เท่าของแบบแรกได้ เรียกใช้เฉพาะอะไรที่มันฉุกเฉิน น้ำรั่ว อะไรพวกนี้ที่รอไม่ได้ และเรียกแบบแรกก็ไม่ยอมมา

มันจะมีแบบตรงกลางมั้ยนะ ที่เอาบริการดีๆ แต่ราคาเบาๆ หน่อย เข้าใจว่าการบริการที่ดีมันก็ต้องมีค่าใช้จ่ายในการจัดการ แต่คุณก็ใช้ซอฟต์แวร์ใช้การบริหารจัดการอะไรทำให้มันมีประสิทธิภาพ ต้นทุนจะได้ไม่สูงมาก ได้ไหม

dtac คิดตังค์ผิด สองครั้งแล้วนะ

ก่อนนี้ผมเป็นคนประเภทไม่ค่อยได้เช็ครายละเอียดพวกบิลค่าใช้จ่ายอะไรเท่าไหร่ อาศัยความคิดว่า บริษัทมหาชนระดับนี้ มันจะปล่อยให้ผิดมาได้ย้งไง ต้องมีระบบตรวจสอบหลายขั้นหลายตอน แต่ในช่วงปีที่ผ่านมาปรากฎว่าโดนคิดตังค์ผิดไปสองรอบครับ เลยต้องขออนุญาตบันทึกไว้เป็นอุทาหรณ์

ตัวผมเองใช้ dtac มาตั้งแต่เริ่มทำงาน ปี 1996 (สมัยเรียนไม่มีโทรศัพท์มือถือใช้นะครับ เด็กสมัยนี้อาจจะไม่เข้าใจ นัดเพื่อนก็ต้องนัดเวลา โทรตามก็โทรตู้สาธารณะ หลังๆ มีเพจเจอร์ค่อยยังชั่ว) ก็ใช้เป็นเบอร์หลักมาตลอดจนถึงปัจจุบัน ช่วงต้นปีที่แล้ว (2012) ติดตามภรรยาไปเยอรมัน ประมาณ 9 วัน ซึ่งก่อนไปก็ได้ไปติดต่อขอเปิด roaming และเปิดอินเตอร์เน็ตซึ่ง dtac เขามี package วันละ 25 MB คิดเงินประมาณ สามร้อยบาทหรือไงเนี่ย ซึ่งก็ได้ให้เจ้าหน้าที่เปิด package แบบที่ว่า ตลอดระยะเวลาที่ไป คิดง่ายๆ คือ ใช้งานได้วันละ 25 MB จะเสียเงินประมาณ 3,000 บาท (คร่าวๆ นะครับ) ก็โอเค

ตอนแรกคิดว่า 25 MB มันจะทำไรได้วะ แต่เอาเข้าจริงๆ ก็พอได้อยู่นะครับ เพราะว่าเวลาที่อยู่ที่พัก หรือ บ้านเพื่อน ฯลฯ เราก็มี WIFI อยู่แล้ว จะ up รูป ดู youtube อะไรก็ทำตอนนั้น แต่ตอนเดินทางก็เปิดแค่ฉุกเฉินจริงๆ เปิดดูแผนที่แว็บๆ, เช็คเมล, อ่าน facebook ก็ยังพอได้นะ ซึ่งทาง dtac เขาก็อุตส่าห์มี app บน iphone ให้เราดูว่าแต่ละวันใช้ไปกี่ MB ซึ่งก็ดีมาก แถมเวลาใช้ใกล้ๆ จะถึง limit จะมี sms มาเตือนด้วย ซึ่งเราก็จะดู app นี้ตลอด และมั่นใจใช้ไม่เกินแน่ๆ

จนกลับมาเมืองไทย สิ้นเดือนครับ บิลมา หมื่นกว่า ซึ่งจริงๆ มันควรจะแค่ประมาณ 3,000 บวกค่าโทรค่าอะไรก็ไม่น่าจะเกิน 5,000 ดูรายละเอียดก็เป็นค่า Roaming Net เนี่ยล่ะ บอกว่าวันนี้ใช้เท่านั้นเท่านี้ ไม่เกิน 25 MB แต่มีอยู่วันนึงใช้ 490 MB ซึงเป็นวันที่บินกลับด้วย เครื่องออกบ่ายๆ ตอนเช้าก็ไม่ได้ทำไรเลย เก็บกระเป๋า ขับไปสนามบิน แทบไม่ได้เล่น Net เลยด้วยซ้ำ น่าจะน้อยกว่าวันอื่นๆ ด้วย โทรไป call center เขาก็ว่าตามบิล ผมก็แย้งว่ามันจะเป็นไปได้ไง แถมดูใน app ของ dtac เองก็เห็นอยู่ว่าวันนั้นแทบไม่ได้ใช้อะไรเลย น้องเขาก็ว่า ค่ะ ค่ะ เดี๋ยวเช็คให้ สักพักใหญ่ๆ ก็โทรกลับมาว่า สงสัยระบบคิดผิด ตัดออกให้ละกัน จบ

อืม ถ้าไม่ได้โทรไปโวยจะเป็นไงเนี่ย จ่ายฟรี ห้าพัน

โอเคไม่เป็นไรผิดพลาดกันได้

อีกครั้งหนึ่งเมื่อเดือนที่ผ่านมานั่นเอง (ปี 2556) ซึ่งค่าโทรศัพท์ผมแต่ละเดือนดูง่ายๆ คือ จะประมาณพันนิดๆ (มีค่า net unlimited และก็ package อะไรสักอย่าง ซึ่งก็โทรเต็มที่ ก็ปริ่มๆ ไม่ค่อยเกิน ยกเว้นโทรไปต่างประเทศ) อยู่ดีๆ ค่าโทรกระโดดไปสองพัน ผมก็ หือ เราทำไรหว่า โทรไปเมืองนอก ก็นิดเดียว มาจากไหนอีกพัน โทรไปถาม call center บอกว่าเป็นค่าอินเตอร์เน็ตค่ะ ผมก็บอก อ้าว ก็ผมใช้ unlimited package แล้วจะคิดค่า Net อะไรอีก ใช้เกิน limit 2G (เกินทุกเดือน) คุณก็ตัดความเร็วผมนิ มีคิดตังค์เพิ่มด้วยเหรอ) น้องเขาก็บอก อ่าว เหรอ อะ ค่ะ ค่ะ เช็คก่อนค่ะ

สักครู่ใหญ่ๆ โทรมา อ๋อ คิดตังค์ผิดค่ะ มันช่วงรอยต่อ package หมด ไม่ได้ต่ออันใหม่ให้ ช่วงนั้นเลยคิดเป็นค่า Net ราคาปกติ เดี๋ยวทำใบลดหนี้ให้ค่ะ จบกันง่ายๆ

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

เอาว่าถ้าคิดผิดมาอีกที เดี๋ยวจะโวยละกัน สองครั้งแรกให้อภัย

อย่างไรก็ตามในกรณีทั้งสอง ทาง call center ของ dtac (1678) ก็ได้ให้ความช่วยเหลือเป็นอย่างดี รับฟัง และ แก้ไข ปัญหาจนลุล่วง ด้วยความสุภาพอ่อนน้อมครับ ในจุดนี้ต้องขอชม มา ณ ที่นี้

การเมืองใช่งานอดิเรก

นั่งอ่านดราม่าที่ กรรมกรไซเบอร์ และ การผลักดันนโยบายตามระบอบประชาธิปไตย โดย mk เจ้าเก่า

  • เป็นอะไรที่น่าสนใจ แนะนำให้อ่าน
  • ไม่รู้ว่าสองอันนี้มันเกี่ยวกันไหม ถ้าเกี่ยว ไอ้การที่จะแค่แลกเปลี่ยนความคิดเห็นในเรื่องนโยบายสาธารณสุขกัน แล้วถึงขั้นไล่ให้ไปตั้งพรรคการเมือง มันก็คงจะเกินไป แต่นั่นเป็นเรื่องของการถกเถียง สนทนา ก็ว่ากันไป
  • แต่ก็มีมุมมองที่น่าพิจารณา ในแง่ของแนวคิดที่ว่าอยากได้อะไรก็ตั้งกลุ่มตั้งพรรคของตัวเองไป lobby เอา
  • ซึ่งผมตั้งข้อสังเกตว่า ถึงแม้มันจะมีส่วนจริง แต่ดูเหมือนมันจะเป็นการดูถูกอาชีพนักการเมืองกันไปหน่อยไหม

หรือว่าไม่?

ผมเสนอความเห็นว่า (และผมจะเสนอเฉยๆ จะไม่ไปตั้งพรรคการเมือง)

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

หรือเป็นเพราะแนวคิดที่ว่าทำอะไรแค่กลุ่มของตนเอง มันคือปัญหาของประเทศเราในปัจจุบัน?

  • ผมเคยอ่านหนังสือเขียนโดยนาวิกโยธินอเมริกันที่รอดมาได้จากอัฟกันขณะที่เพื่อนในหมู่ตายเรียบ มีประโยคนึงเขาพูดว่า ในฐานะนาวิกโยธินสหรัฐเขาจะปฏิบัติตามคำสั่งของประธานาธิปดี หรือ Chief of State ของเขา ไม่ว่าคนนั้นจะเป็นใคร มาจากพรรคไหน แม้จะต้องแลกด้วยชีวิตก็ตาม เพราะเขาเชื่อว่าประธานาธิปดีของเขาทำเพื่อประเทศของเขาจริงๆ
  • แล้วเราเชื่อโดยบริสุทธิ์ใจกันไหม ว่านายกรัฐมนตรีของประเทศไทยแต่ละท่าน ทั้งปัจจุบัน และที่ผ่านๆ มา ทำเพื่อประเทศของเราจริงๆ ไม่ใช่เพื่อแค่กลุ่มของตน?

แบบทดสอบความรู้ความเข้าใจในการเมืองไทย

เพื่อไม่ให้มีปัญหาแบบที่มีการไปว่าผู้ที่มาร่วมชุมนุมว่าถูกหลอกให้มาหรือเปล่า มีความรู้ความเข้าใจในสิ่งที่มาเรียกร้องหรือไม่? หรือ หรือ การที่ชนชั้นเคยกลางจะกล่าวหาชนชั้นกลางว่าคือปัญหาของประเทศเพราะไม่ “รู้” แล้วตกลงในฐานะคนไทยเต็มขั้น เราควรจะต้องรู้อะไรบ้างถึงจะถือว่ามีความรู้ในการบ้านการเมืองของประเทศเพียงพอ ผมว่าถ้ามีใครหรือหน่วยงานไหนทำเป็นแบบทดสอบไว้ก็ดีนะ เหมือน TOEFL, IELTS หรืออะไร

ซึ่งเมื่อได้ศึกษาหาความรู้จนทำแบบทดสอบผ่านแล้ว (ประมาณว่าสอบกี่รอบก็ได้ ตกแล้วก็ไปอ่านหนังสือ กลับมาสอบใหม่) ก็ต้องถือว่าเขาคนนั้นมีวุฒิภาวะในด้านการเมืองเพียงพอ จะไปว่าเขาอีกไม่ได้ว่า โง่ ถูกจูงจมูก ไม่รู้ ฯลฯ

ผมเคยได้ยินว่า การที่คนจากประเทศอื่นๆ จะมาขอสมัครเป็นพลเมืองของอีกประเทศ(เช่น อเมริกา) ก็มีข้อสอบทดสอบความรู้ความเข้าใจในวัฒนธรรม และ ประวัติศาสตร์ ฯลฯ ของประเทศนั้นๆ ซึ่งก็ยากเอาการอยู่ ถ้าไม่ศึกษา ไม่ตามข่าว ก็ยากที่จะสอบผ่าน

แต่แบบทดสอบนี้คงต้องเน้นเรื่องที่เป็นข้อเท็จจริงทางด้านกฎหมายและการเมือง ที่จะเป็นที่ยอมรับกันได้จากทุกฝ่ายๆ ซึ่งที่กล่าวมานี่ไอ้ผมก็ไม่ได้มีความรู้เพียงพอที่จะทำหรอกนะครับ 🙂 แต่ถ้ามีใครทำขึ้นมา จะยินดีศึกษาหาความรู้แล้วไปสอบให้ได้ จะได้บอกได้อย่างเต็มปากเต็มคำว่า

กูรู้แล้วโว้ย!

และไม่โดนด่าว่า “ไม่รู้” (แล้วยังเสือกออกความคิดเห็น…) อีก

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

แดกดันไม่ช่วยอะไร

สืบเนื่องจาก บทความ Middle Class Again ซึ่งคุณ mk (@markpeak) ได้เปิดประเด็นโจมตี “คนชั้นกลาง” (มีเครื่องหมายคำพูดคร่อม) ว่าคือคนกลุ่มนี้คือปัญหาของประเทศ ซึ่งผมอ่านแล้วก็พบว่าเป็นมุมมองที่น่าสนใจยังไม่เคยเจอ ก็เข้าไปสอบถาม ซึ่งคุณ mk ให้นิยามของคำว่า “ชนชั้นกลาง” ว่าคือชนชั้นกลางที่ขาดความเข้าใจโครงสร้างทางเศรษฐกิจ สังคม การเมือง ไทย โดยใช้คำว่า “ชนชั้นกลาง” นั้นไม่ “รู้”

ซึ่งผมได้แย้งไปว่ามันไม่ชัดเจนว่า คำว่า “รู้” ของคุณ mk คืออะไร ดังนั้นถ้าจะสรุปว่าชนชั้นกลาง “ไม่รู้” ก็ไม่มีใครทราบได้ว่าตกลงรู้และไม่รู้เรื่องอะไร ซึ่งคุณ mk ก็ได้ให้คำตอบว่า

“ผมจงใจใช้คำว่า “รู้” แบบไม่นิยาม คนที่เข้าใจจะเข้าใจครับ ถ้าคุณ ott ไม่เข้าใจ
อันนี้ก็แปลว่า “ไม่รู้” นั่นล่ะครับ อันนี้ไม่รู้จะช่วยยังไงครับ
ดูจากคอมเมนต์อื่นๆ ที่มาตอบบล็อกอันนี้ ก็มีคนที่ “รู้” อยู่เยอะทีเดียวเลยนะครับ
ผมเป็นบล็อกเกอร์ตัวเล็กๆ ไม่ต้องสนใจว่าจะ “ไม่รู้” เรื่องอะไรที่ผมพูดก็ได้ครับ
ไม่สำคัญเท่าไร อิอิ”

ซึ่งก็โอเคครับ ก็ไม่สนใจละกัน สรุปตกลงก็ยังไม่รู้ว่าอะไรที่ mk รู้แล้วชนชั้นกลางคนอื่นๆ ไม่รู้ แล้วทำให้เป็นปัญหาของประเทศ แต่ส่วนตัวคิดว่า ไอ้การจะว่าคนไหนรู้หรือไม่รู้เรื่องอะไร และกล่าวหาถึงขั้นว่าเป็นปัญหาของประเทศ ถ้ามีตัวชี้วัดที่มันชัดเจนหน่อยมันก็น่าจะดี ไม่งั้นก็เหมือนนั่งด่าคนฟรีๆ เฮ้ย มึงอะไม่รู้ มึงคือปัญหาของประเทศ แต่ไม่รู้เรื่องไรกูไม่บอกนะ แต่กูรู้ว่ามึงไม่รู้ละกัน

คุณ mk เคยพูดถึงการต้องมี “หลักฐานทางวิทยาศาสตร์” แต่พอถึงตาคุณเองกล่าวหาชาวบ้าน ก็ไม่เห็นว่าคุณจะมีเหมือนกัน แต่ผมไม่ได้จะเรียกร้องหลักฐานทางวิทยาศาสตร์เหมือนกับที่คุณเรียกร้องกับชาวบ้านหรอกนะ สำหรับผม การถ่ายทอดความคิดของตัวเองออกมาให้มันชัดเจนก็โอเคแล้ว กล้าด่าก็ต้องกล้าอธิบาย

แต่ประเด็นที่จะเขียนไม่ได้อยู่ที่เนื้อหาสาระของการสนทนา ทว่าอยู่ที่ format ของมัน ซึ่งทำให้ผมขี้เกียจตอบ โดยเหตุผลของผลคือ การตอบของคุณ mk จะมีลูกแถม มีช่องเหน็บแนมได้เหน็บ พูดง่ายๆ สำหรับผม ก็คือ กวนตีน ซึ่งก็ได้แจ้งคุณ mk ไปว่าถ้าจะกวนตีนไม่ตอบละกัน แต่เหมือนคุณ mk ยืนยันว่าไม่ได้กวนตีน ย้อนกลับมาถามผมว่า แค่ความเห็นไม่ตรงกันก็มาบอกว่ากวนตีน มันแปลกๆ นะ ก็เป็นที่มาของ blog อันนี้ เพื่อจะอธิบายว่าคุณ mk กวนตีนยังไง และผมไม่ได้มีปัญหากับการที่ความเห็นไม่ตรงแต่อย่างใด จริงๆ แล้วกลับกัน คือ ไม่ตรงกันถึงอยากสนทนา

ซึ่งจริงๆ แล้วถ้าคุณ mk กำลังขึ้นเวทีปราศัยต่อผู้ชุมนุม หรือ หาเสียง จะพูดอะไรกวนตีนบ้างเพื่อสร้างความฮึกเหิม ก็เป็นเรื่องที่เข้าใจได้ รวมถึงจริงๆ แล้วในเว็บดังกล่าวก็เป็นเว็บส่วนตัวของคุณ mk เอง ถ้าจะกวนตีนจริงๆ แล้วก็ไม่ผิดอะไร คือ สามารถตอกกลับได้ว่า ก็นี่เว็บกูนี่หว่า แต่ผมถือว่าการสนทนาแลกเเปลี่ยนความเห็นมันควรเน้นที่เนือหา ไม่ใช่มีช่องก็แดกดัน ผมก็เลยมาตอบใน blog ผมละกัน

ผมเสนอความคิดไป 1 ย่อหน้า คำตอบที่ได้คือ อย่ามัวแต่ “คิดว่า” คือ ผมไม่เห็นว่าการใช้คำว่า “ผมคิดว่า” มันจะผิดตรงไหน เพราะเป็นการเสนอความคิด จริงๆ แล้วสิ่งที่คุณโจมตีชนชั้นกลางก็เป็นการเสนอความคิดเหมือนกัน แต่กลับได้รับคำตอบว่า แนะนำให้ไปลงฟิลด์ อย่ามัวแต่คิดว่า คิดว่า แถมด้วยแดกดันเล็กๆ

“ถ้าคุณ ott ไม่สะดวกกายหรือสะดวกใจที่จะลงฟิลด์
อันนี้ผมก็ไม่รู้จะแนะนำยังไงเหมือนกันครับ”

ซึ่งผมไม่ทราบได้ว่าทำไมคุณต้องไปดูถูกคนอื่นว่าไม่สะดวกกายหรือสะดวกใจที่จะทำอะไรด้วยล่ะครับ คุณลงฟิลด์เป็นคนเดียวหรือไร แต่ก็โอเคอันนี้เบาะๆ คุยต่อได้ ซึ่งก็ได้อธิบายกลับไปว่า ผมไปชุมนุม ฟังแกนนำมาแล้วทั้งเหลืองทั้งแดงนะ ก็ได้รับคำตอบแดกดันรอบสองว่า

ยินดีด้วยครับ ที่ก้าวพ้นหอคอยงาช้างของคนชั้นกลางแล้ว
ขอให้ได้คำตอบกับบ้านเมืองนะครับ

หอคอยงาช้างเหี้ยไรละครับ?

คุณมาหาว่าผมนั่งเทียนไม่ลงฟิลด์ พอผมบอกว่าลงแล้ว ก็แดกดันกลับว่ายินดีด้วย ก้าวพ้นหอคอย แบบนี้ไม่เรียกกวนตีนเหรอครับ หรือปกติพูดจากับพ่อแม่พี่น้องก็แบบนี้?

ตบท้ายด้วย

ถอยไปถึงรัฐประหาร และม็อบเหลืองออกมาดีไหมครับ? หรือจะไปถึงปี 19 เลย?

ก็แล้วแต่ดิครับ ก็คุณบอกให้ถอยไป 10 เม.ย. ผมบอกคิดแบบคุณก็ถอยได้อีก ซึ่งคำตอบที่ตอบมาก็ไม่รู้ประเด็นคืออะไร เสนอให้ทำอะไร และเหน็บท้ายด้วย

ฝากถามคำถามนี้ไปยังคุณ hui ด้วยนะครับ บริษัทเดียวกันน่าจะถามง่ายกว่าครับ

อ่าว เกี่ยวไรกับเนื่อหาวะเนี่ย แล้วทำไมมันเป็นยังไง มีอะไรถามเองไม่ได้หรือไงครับ คุณเขียนข่าวให้ LTN เป็นเวลากี่ปี? อีตอนนั้นจะหางานก็เห็นคุยกันอยู่? พอตอนนี้จะทำแดกดันฝากถาม ถ้าตั้งใจจะถามจริงๆ ช่องทางต่างๆ มากมาย คงถึงเร็วกว่าฝากเยอะ เข้าใจว่าคงไม่ได้อยากได้คำตอบจริงๆ คงจะแค่แดกดันเฉยๆ

สรุปก็คือ คุณใช้วาทศิลป์ แทรกสอดคำแดกดัน เข้าไปในเนื้อหาการสนทนากับคนที่ความเห็นไม่ตรงกับคุณ โดยรู้ตัวหรือไม่รู้ตัวก็แล้วแต่ ซึ่งผมถือว่ารบกวนการสนทนา ซึ่งคุณไม่เข้าใจผมก็อธิบายให้ฟังแล้วข้างต้นนะครับ

มันอาจจะเป็นสไตล์การสนทนาของคุณ mk (เมื่อกี๊้เข้าไปนั่งอ่านๆ blognone ก็จริงๆ ก็เห็นคุณแดกดันชาวบ้านคนอื่นเหมือนกัน) ซึ่งทำโดยจงใจหรือเปล่าก็มิทราบได้ เพียงแต่ผมไม่ชินเท่านั้น

ส่วนตัวผมคิดว่าการแดกดันไม่น่าจะเป็นประโยชน์ต่อตัวคุณเอง (บอกว่า “คิดว่า” เด๋วแม่งย้อนด่ากูอีกปะเนี่ย) แต่ผมอาจจะผิดก็ได้ คุณ mk อาจจะก้าวไปสู่ความสำเร็จ ด้วยวาทะแดกดันแบบนี้ ก็ขอให้โชคดี

พจนานุกรม ฉบับราชบัณฑิตยสถาน พ.ศ. ๒๕๔๒

เพิ่งเห็นว่าเว็บพจนานุกรม ฉบับราชบัณฑิตยสถาน พ.ศ. ๒๕๔๒ ที่ มีหน้ารายการคำศัพท์ด้วยแฮะ เช่น ถ้าเข้าหน้านี้ http://rirs3.royin.go.th/word1/word-1-a0.asp แล้วกดตรง ก-กระกวด ก็จะไปหน้า http://rirs3.royin.go.th/word1/word-1-a1.asp ซึ่งมีรายการคำศัพท์และความหมายทั้งหมดตั้งแต่ ก ถึง กระกวด





search dict ที่ http://www.thaitux.info/dict/ ก็เจอเนื้อหาของ royin ด้วย



รวมถึง http://guru.sanook.com/

พูดอังกฤษเต็มปากเต็มคำ

ช่วงนี้ไปเขียน blog อีกอัน พูดอังกฤษเต็มปากเต็มคำ ที่ Longdo Dict Blog ครับ แนะนำเรื่องตัวสัทอักษร (phonetics symbols) สำหรับภาษาอังกฤษ และเรื่องการอ่านออกเสียงภาษาอังกฤษ โดยพยายามจะสอดแทรกคำที่คนไทยมักอ่านผิด และมีตัวอย่างเสียงของเจ้าของภาษาด้วยครับ (อังกฤษและอเมริกัน)

ซึ่งจริงๆ แล้วไอ้ผมก็ภาษาอังกฤษไม่ได้ดีเด่อะไรหรอกครับ แหะ แหะ แต่ก็อยากจะถ่ายทอดสิ่งที่ได้เรียนรู้มาตอนเรียนภาษาอังกฤษสมัยที่เรียนที่ญี่ปุ่นน่ะครับๆ ไหนๆ ก็เสียตังค์เรียนไปแล้ว ก็ขอถ่ายทอดต่อหน่อยจะได้คุ้มๆ และก็ได้ความกรุณาจาก อ.ที่เคยสอนผม และรุ่นน้องอีกคนมาออกเสียงตัวอย่างให้ฟังด้วย

และก็อยากจะเชิญชวนผู้ที่ชอบเรื่องภาษา ภาษาใดๆ ครับไม่ว่าจะเป็น อังกฤษ จีน ญี่ปุ่น ฝรั่งเศส เยอรมัน ภาษาต่างประเทศใดๆ หรือแม้กระทั่งภาษาไทย ภาษาถิ่น และรักการเขียน + อยากจะถ่ายทอดความรู้ให้แก่ผู้อื่น ขอเชิญชวนมาเขียน blog กันที่ Longdo Dict Blog ครับ โดยสามารถสมัครสมาชิกได้เอง (username อันเดียวกับของบริการ Longdo อื่นๆ)และเขียนได้ทันที (ช่วงแรกๆ จะต้องผ่านการ approve ก่อนถึงจะขึ้นหน้าแรกนะครับ)

ดูสภาพจราจร+ตำแหน่งผู้ชุมนุมได้ที่ traffic.thai.net



traffic.thai.net เป็นโครงการหนึ่งที่ MM ได้รับพัฒนาให้ NECTEC นะครับ โดยใช้เทคโนโลยี Longdo Map ของเรา โดยในช่วงตั้งแต่ 1 เม.ย. ทาง NECTEC ได้จัดให้มีเจ้าหน้าที่ประจำที่จะมากรอกข้อมูลเหตุการณ์ต่างๆ และตรวจสอบความถูกต้องของสภาพข้อมูลด้วย (เดิมจะรับข้อมูลจากแหล่งข้อมูลแล้วแสดงผลเลย เช่น จาก กทม., การทางพิเศษ, และระบบ Traffy ระบบด้านจราจรอีกระบบของ NECTEC ที่ใช้ Google Maps) จึงทำให้ข้อมูลน่าจะมีความถูกต้องและมีประโยชน์ต่อประชาชนมากขึ้นโดยเฉพาะในช่วงนี้สามารถตรวจดูตำแหน่งม๊อบได้ด้วย!

แผนที่ปั๊ม NGV (CNG)

ใช้ feature Map Snippet และ tag search ของ Longdo Map บวกกับพลังของน้องๆ นักศึกษาฝึกงานจาก ม.วลัยลักษณ์ ที่ช่วยหาและใส่ข้อมูลปั๊ม NGV จากแหล่งข้อมูลต่างๆ ในอินเทอร์เน็ต ได้ออกมาประมาณนี้ครับ

http://map.longdo.com/snippet/iframe.php?locale=th&zoom=8&tag=NGV&mode=traffic
หรือถ้าจะดูแบบเต็มๆ จอ แผนที่ปั๊ม NGV (CNG) ในประเทศไทย

World’s Largest Shopping Malls Compared

เดินๆ Siam Paragon หรือ Central World ก็รู้สึกว่ามันใหญ่แล้ว, ไปเจอหน้าเว็บ World’s Largest Shopping Malls Compared แล้ว เทียบกับห้างในจีนนี่เด็กๆ ไปเลยแฮะ

เหมือนยุโรปรวมถึงญี่ปุ่นจะไม่ค่อยเน้นห้างใหญ่ๆ เท่าไหร่ ไม่อยู่ใน list เลย

Longdo Vote Map

รายงานสถิติการออกเสียงประชามติร่างรัฐธรรมนูญ เมื่อวันที่ 19 สิงหาคม 2550 ฉบับ Longdo Map!
เอาไว้ดูข้อมูลสถิติในรูปแบบแผนที่ + ไว้โชว์เวลาลูกค้านึกไม่ออกว่า Longdo Map เอาไปประยุกต์ใช้ทำอะไรได้บ้าง

http://votemap.longdo.com

Thai Line Breaking using Uniscribe

เห็นจากข่าว Mozilla Pango-Break (Really) ก็ต้องขอแสดงความยินดีด้วยครับ ที่บักอันยาวนานนี้จะได้รับการแก้ไขสักที แต่ก็ยังเหลือบน Windows และ MAC ซึ่งพี่เทพว่าไว้ ว่า implement ฟังก์ชัน NS_GetComplexLineBreaks() แค่ฟังก์ชันเดียวเท่านั้น (ฟังดูเหมือนง่าย…) ซึ่งนั่งดูหน้าตาี้พารามิเตอร์ก็ช่างคล้ายกับ API ScriptBreak ของ Uniscribe แฮะ.

ว่าแล้วก็เข้าไปนั่งอ่าน API พบว่ามึนตึ๊บ ตัวอย่างอะไรก็ไม่มีเลย ช่างเป็นเอกสารสำหรับ expert อย่างแท้จริง. จริงๆ แล้ว พี่ฮุ้ย เคยเขียนโปรแกรมทดสอบตัดคำไทยด้วย Uniscribe เทียบกับตัวตัดคำใน Microsoft Office นานมาแล้ว แต่สอบถามดูปรากฎว่า โค้ดหายไปแล้ว ไปกับฮาร์ดดิสค์ที่พัง.

ไม่เคยเขียน C++ บน Windows กะเขา แต่อยากลองดูสนุกๆ ก็เลยนั่งอ่าน API และมั่วๆ ออกมา ได้ผลดังนี้

// HelloWorld.cpp : Defines the entry point for the console application.
//

#include “stdafx.h”
#include
#include

#include “Usp10.h”
using namespace std;

void GetUniscribeLineBreaks(const WCHAR* aText, int aLength, bool* aBreakBefore) {

  if (aLength <= 0 || aText == 0 || aBreakBefore == 0)
    return;

  int cMaxItems = 100; // FIXME why 100?
  SCRIPT_ITEM* pItems = new SCRIPT_ITEM[cMaxItems*sizeof(SCRIPT_ITEM) + 1];

  int outitems = 0;
  HRESULT result;

  // FIXME why pItems[0]?
  result = ScriptItemize(aText, aLength, cMaxItems, NULL, NULL, pItems, &outitems);

  if (result < 0 || outitems < 1) return;
  SCRIPT_ITEM pItem = pItems[0];

  SCRIPT_ANALYSIS psa = pItem.a;

  SCRIPT_LOGATTR* psla = new SCRIPT_LOGATTR[aLength];

  result = ScriptBreak(aText, aLength, &psa, psla);

  if (result < 0) return;

  for (int i=0; i<aLength; i++) {

    //printf(“%d”, psla[i].fSoftBreak);
    aBreakBefore[i] = ( psla[i].fSoftBreak == 0 ? false : true );

  }
}

int _tmain(int argc, _TCHAR* argv[])
{
  const wstring thaistring = L“สวัสดีครับนี่เป็นการทดสอบภาษาไทย”;

  const WCHAR* pwcChars = thaistring.c_str();
  int cChars = (int) thaistring.length();

  bool* result = new bool[cChars];

  printf(“%s\t%d\n, pwcChars, cChars)

  GetUniscribeLineBreaks(pwcChars, cChars, result);

  for (int i=0; i < cChars; i++)

    printf(“%d”, (bool) result[i]);

  char anything;

  cin >> anything;
  return 0;
}

ผลลัพธ์การรัน เหมือนจะถูกต้องดี

10000010001001000100100001000100

ซึ่งมีหลายจุดที่ยังงงคือ จะกำหนดค่า cMaxItems เอาจากไหน และทำไมต้องใช้ SCRIPT_ITEM pItems ที่ return โดย ScriptItemize() มา มันจะมีกี่ element และเราจะใช้อันไหน. ผู้รู้ช่วยแนะนำด้วยนะครับ.

เพิ่มเติม
ขออนุญาตแปะโค้ดที่คุณวีร์ได้ปรับแก้ไว้ที่ wikia.com หน่อยนะครับ (เดี๋ยวใครมาลอกตัวอย่างผิดๆ ของผม 🙂 )

void 
NS_GetComplexLineBreaks(const PRUnichar* aText, PRUint32 aLength,
                        PRPackedBool* aBreakBefore)
{
  NS_ASSERTION(aText, "aText shouldn't be null"); 
  int cMaxItems = 20; 
  SCRIPT_ITEM* pItems; 
  int outitems = 0;
  HRESULT result;
  bool will_delete_item = false; 

  // loop นี้ไปเรียก ScriptItemize เพื่อตัด text ออกเป็นก้อนใหญ่ๆก่อน
  // ต้องวน loop เพราะไม่รู้ว่า cMaxItems แค่ไหนที่จะพอดี ก็เลยวนขยายไปเรื่อย
  // จนกว่าจะพอ
  do 
  {
   cMaxItems *= 2;
   if(will_delete_item)
   {
     delete[] pItems;
   }
   pItems = new SCRIPT_ITEM[cMaxItems*sizeof(SCRIPT_ITEM) + 1];
   will_delete_item = true;
    result = ScriptItemize(aText, aLength, cMaxItems, NULL, NULL, pItems,  &outitems);     
  } 
  while(result == E_OUTOFMEMORY); 

  // ในแต่ละก้อนใหญ่ใน pItems ก็เอาแต่ละก่อนมาตัดเป็นก้อนเล็กอีกที
  for(int iItem = 0; iItem < outiTems; ++i)
  {
    // end_offset คือ ตำแหน่งใน aText ที่เป็นตำแหน่งสุดท้ายของ pItems[iItem]
    // ซึ่งคำนวณจากการดูตำแหน่งเริ่มต้นของ item ถัดไป 
    // ยกเว้น item สุดท้าย end_offset = aLength
    int end_offset = (iItem + 1 == outItems ? aLength : pItems[iItem + 1].iCharPos);
    SCRIPT_ITEM pItem = pItems[iItem];
    SCRIPT_ANALYSIS psa = pItem.a;
    int start_offset = pItem.iCharPos;
    // ผมคิดว่า ScriptBreak น่าจะเติม psla โดยเริ่มจาก 0 
    // ดังนั้นก็จองเท่าจำนวน unicode character ใน item ก็พอ
    // (เดาเอาทั้งหมด)
    SCRIPT_LOGATTR* psla = new SCRIPT_LOGATTR[end_offset - start_offset];  
    result = ScriptBreak(aText, aLength, &psa, psla);
    if (result < 0) 
    {
      return;
    } 
    for (int i=start_offset, int j=0; i < end_offset; ++i, ++j) 
    {     
       aBreakBefore[i] = ( psla[j].fSoftBreak == 0 ? false : true );
    }
  }
}

Kubuntu 6.06

ถอยเครื่องคอมมาใหม่ ก็คิดอยู่พักหนึ่งว่าจะลง Linux อะไรดี, เอา Kanotix รุ่น 2006-01-RC4 มาบูต + ลงดูก็รันได้ดี ติดอยู่ว่ามัน set X ไม่ดีเท่าไหร่, resolution ไม่ถูก และก็ driver เหมือนใช้ vesa หรือไงอืดๆ และมันยัง RC ด้วย

เลยหยิบแผ่น Kubuntu 6.06 64 bit มาลง พบว่าเออมันเก่งแฮะ set X ได้เนียนเป๊ะ (intel 945) เลยจดบันทึกการลงดังนี้

  • ตอนลงก็เลือกให้ลงภาษาไทย (ฝีมือพี่เทพไปช่วย Ubuntu เขาทำ 🙂 )
  • หลังจากลงเสร็จ พบว่ายังตัดคำไทยไม่ได้ ต้อง apt-get install libthai-dev (คือ KDE มันจะต้องการ libthai.la ในการ load libthai library ซึ่งมันจะอยู่ใน package libthai-dev
  • เพิ่มใน /etc/apt/sources.list
    # LTN
    deb http://linux.thai.net/apt ./
    
  • ลงฟอนต์ไทย apt-get install ttf-thai-tlwg แล้วก็เลือก font Loma เป็น default สำหรับ browser (ดูดีสุดสำหรับผม)
  • เซ็งอย่างคือ Kubuntu มันซ่อนตัว KControl (KDE Control Center) ไว้แล้วโชว์ตัว System Setting ที่มีการจัดแบ่งเป็นหมวดหมู่ แต่ผมไม่ค่อยชิน ชอบแบบเดิมที่มันมีทุกอย่างในโปรแกรมเดียวเลย ก็สร้าง icon ใน panel โดยใส่ /usr/bin/kcontrol เข้าไป
  • เสร็จแล้วก็ set keyboard layout (Control Center/Regional and Accessibility/Keyboard Layout) เพิ่มไทยเข้าไป แล้วก็เปลี่ยน short-cut key ปุ่มเปลี่ยนภาษา (ใน Control Center/Regional and Accessibility/Keyboard Shortcuts — Switch to Next Keyboard Layout เป็น F12 (ถนัดอ้ะ)
  • แค่นี้ก็พอใช้งานได้ล่ะ เหลือกำลังพยายามทำให้ SKIM/SCIM work แต่ยังไม่สำเร็จแฮะ

Open Source QUIZ ประจำวัน

สืบเนื่องจากมีประเด็นเรื่องความรู้ความเข้าใจใน Open Source (OSS), เรามาลองทดสอบความรู้เรื่องนี้กันหน่อยไหมครับ มี 5 ข้อเอง

  1. ซอฟต์แวร์ Open Source นับเป็นทรัพย์สินทางปัญญาหรือไม่?
    • ก. ไม่เป็น. With Open source, there is no intellectual property. Anyone can use it and all your ideas become public domain.
    • ข. เป็น. ซอฟต์แวร์ Open Source นั้น ถือเป็นทรัพย์สินทางปัญญา และมีเจ้าของซึ่งก็คือคนเขียนนั่นเอง นอกเหนือว่าเจ้าตัวจะยกสิทธิให้คนอื่น ที่เราสามารถใช้ซอฟต์แวร์ Open Source กันได้ฟรีๆ ก็ เพราะว่าเจ้าของได้ อนุญาต ให้เราใช้ได้ (และแก้ไขได้ และเผยแพร่ต่อได้ หรืออะไรก็แล้วแต่อื่นๆ) โดยการระบุไว้ในเอกสารที่เรียกว่าสัญญาอนุญาต หรือ LICENSE ที่มากับตัวซอฟต์แวร์ ครับ ไม่ใช่ว่าคนเขียนเ OSS เสร็จแล้วปั๊บกลายเป็นของสาธารณะหรือ public domain ใครจะเอาไปปู้ยี่ปูยำยังไงก็ได้
  2. ซอฟต์แวร์ OSS ทำแล้วถ้าหาเงินไม่ได้ สุดท้ายก็การพัฒนาก็ต้องหยุด และซอฟต์แวร์ก็ต้องล้าสมัย พูดงี้ถูกไหม?
    • ก. ถูกต้องแล้ว. If nobody can make money from it, there will be no development and open source software quickly becomes outdated.
    • ข. จะว่าถูกก็ถูก แต่ไปเหมารวมอย่างนี้ไม่ดี. ถ้าเป็นซอฟต์แวร์ปกปิด source (proprietary software) ทั่วไป ล่ะก็ใช่ ถ้าทำแล้วขายไม่ได้ การพัฒนาก็ต้องหยุด และซอฟต์แวร์ก็จะล้าสมัย. แต่ OSS นั้นมีประเด็นต้องชี้แจงอยู่สามประเด็นครับ
      • ประเด็นแรก จริงๆ แล้ว OSS ก็ขายได้ เพียงแต่ถ้าคิดแค่ตื้นๆ จะมองว่า OSS ขายยาก, จะขายได้ยังไงก็ source code มันเปิดแผ่หลาอยู่นี่. คำตอบก็คือมันมี business model อื่นๆ ที่จะหาทางขายได้ เช่น ขาย service ขาย support ขาย value-added products ที่สร้างจาก OSS อีกทีสำหรับลูกค้ากลุ่มนั้นๆ. อันนี้คงต้องลองศึกษาดูว่า บริษัทใหญ่ๆ อย่าง RedHat, MySQL หรือ SuSE/Novell นั้นอยู่ได้อย่างไร
      • ประเด็นที่สอง OSS ตายยากกว่า ซอฟต์แวร์ OSS นั้น คนอื่นๆ ที่ไม่ใช่เจ้าของ สามารถเปิดดู source code, นำไปปรับปรุงแก้ไข และเผยแพร่ต่อได้ในอนาคต ดังนั้น ถ้าเทียบกับ proprietary software, ซอฟต์แวร์ OSS มีโอกาสอยู่รอดดีกว่าซะอีก เพราะในกรณีที่ทำเงินไม่ได้ ส่งผลให้นักพัฒนาคนเดิมเลิกทำ, คนอื่นก็สามารถเข้ามาพัฒนาต่อยอดได้ , ถ้าเป็น proprietary software บริษัทเจ๊งไปแล้ว, source code หายไปกับบริษัท ถามว่าการพัฒนาก็จะหยุดและซอฟต์แวร์ก็ตายไปเลยแบบกู่ไม่กลับ ใช่หรือไม่
      • ประเด็นที่สาม OSS นั้นไม่ได้โตด้วยเงินเท่านั้น นักพัฒนา OSS นั้น แน่นอนว่าส่วนหนึ่งเป็นprogrammer อาชีพ หรือเป็น programmer ที่ทำงานในบริษัทเอกชนเลยมีเงินเดือน แต่ก็มีอีกจำนวนมากที่เป็นนักพัฒนาอิสระ เขียนโปรแกรมในเวลาว่าง เป็นนักเรียน, อาจารย์ เป็นนักวิจัยก็มี, ดังนั้นมันไม่ใช่แค่เงินเท่านั้น ที่เป็นตัวหล่อเลี้ยงวงการ OSS ต่อให้ไม่มีเงิน บาง project ก็ยังอยู่รอดได้ เพราะคนเหล่านี้
  3. OSS ซอฟต์แวร์ก็มีดีแต่ Linux ที่เหลืออย่างอื่นส่วนใหญ่ห่วยๆ เจ๊งๆ ใช่ไหม
    • ก. ถูกต้อง. Apart from Linux, most open source software is often abandoned and not developed, and leads to a lot of low-quality software with lots of bugs.
    • ข. ไม่ถูกต้อง. นอกเหนือจาก Linux แล้วยังมี OSS อีกจำนวนมาก (ไม่ใช่แค่สองสามตัว ขอย้ำ) ที่มีการพัฒนาเติบโต, มีการใช้งานในวงการธุรกิจอย่างแพร่หลาย, และมีคุณภาพสูง ยกตัวอย่างคร่าวๆ ก็มี Firefox (WWW browser), Apache (WWW server), MySQL (Database), PostgreSQL (Database), PHP (WWW programming), Mambo (CMS), Drupal (CMS), GNOME (desktop environment), KDE (desktop environment), X.org (GUI window system) , GRASS (GIS), Squid (HTTP proxy)
  4. OSS มีความสำคัญต่อประเทศไทยไหม
    • ก. ไม่มีหรอก. As a programmer, if I can write good code, why should I give it away? Thailand can do good source code without open source.”
    • ข. สำคัญสิ. คำถามง่ายๆ ประเทศไทยโดยลำพังมีปัญญาเขียนซอฟต์แวร์ที่มันใหญ่ๆ หน่อยออกไปแข่งในตลาดโลกไหม. อุตสาหกรรมซอฟต์แวร์บ้านเราแข็งเกร่งขนาดไหน. แล้วถ้าสู้ไม่ได้จะก้มหน้าก้มตาใช้ผลิตภัณฑ์ราคาแพงจากต่างชาติไปตลอดไปเลยเหรือ. แล้วจะไปรังเกียจวิธีต่อยอดโดยเริ่มพัฒนาจากสิ่งที่มีอยู่แล้วอย่าง OSS ที่เปิดให้คนร่วมแก้ไขร่วมพัฒนาไปทำไมล่ะครับ. ที่ตอบดังนี้ ไม่ได้หมายความว่า ทุกอย่างจะต้องเป็น OSS ให้เลิกใช้ proprietary software ไม่ใช่ครับ. ทั้งสองอย่างเป็นสิ่งจำเป็นต่อโลก และทำให้โลกของเราดีขึ้น. ประเด็นอยู่ที่เพียงแค่ว่า มีเหตุผลอันใดที่จะไปปฏิเสธ OSS เล่า? Open Letter “แม้จะไม่สนับสนุน ก็ไม่ควรเกิดการรบกวนการทำงาน”?
  5. ซอฟต์แวร์ OSS ที่พัฒนากันอยู่โครงการ 1-2 คน ทำแล้วไม่น่าไปรอด พูดงี้ถูกไหม?
    • ก. ถูกต้อง ซอฟต์แวร์ OSS ที่พัฒนากันอยู่โครงการ 1-2 คน มีปัญหาตามคำตอบข้อ ก. ข้างต้นทั้งหมด
    • ข. เหมารวมแบบนี้ไม่ถูก. จริงๆ แล้วซอฟต์แวร์ OSS ที่พัฒนากันอยู่โครงการ 1-2 คน นั้น มีโอกาสรอดมากกว่าซอฟต์แวร์ proprietary ที่พัฒนากันอยู่ 1-2 คนซะอีก เพราะว่าสำหรับ OSS เราสามารถต่อยอดงานที่คนทำมาแล้วได้ ดังนั้น แค่ 1-2 คน ก็สามารถสร้างสรรค์อะไรได้ อย่าไปดูถูก เพราะว่าเขายืนอยู่บนไหล่ของคนอีกหลายคน ไม่ต้องทำสิ่งที่คนเหล่านั้นทำมาแล้ว สามารถเดินหน้าต่อได้เลย. ซอฟต์แวร์ proprietary ที่ทำกัน 1-2 คนต่างหาก ที่น่าห่วงมากกว่า.

อยากให้ประเทศไทยก้าวไกลไปข้างหน้าครับ ผมคิดว่า OSS เป็นสิ่งหนึ่งซึ่งถ้าเรามาทำความเข้าใจ และนำมาใช้รวมถึงพัฒนาต่อยอดอย่างถูกทาง ก็จะช่วยในการพัฒนาประเทศของเราได้ ควบคู่ไปกับเทคโนโลยีปิดหรือเปิดอื่นๆ ครับ

อ่านคำอธิบายฉบับละเอียดได้ที่ Open Letter โดยคุณเทพพิทักษ์ครับ

เข้าใจยาก: ทำไมเขาไม่เปิดส่วนต่อขยายของรถไฟฟ้า

ตอม่อและเส้นทางต่อไปตากสินและสำโรงก็เสร็จแล้ว เหลือแต่วางรางและสร้างสถานี?

ทำไมไม่ทำต่อ?

เหมือนว่ารัฐบาล พยายามจะซื้อคืน BTS จากเอกชน แต่ตกลงราคากันไม่ได้

แล้วทำไมต้องซื้อคืนมาเป็นของรัฐ?

จะได้ใช้ตั๋วใบเดียวขึ้นได้หมด รถไฟใต้ดิน, รถไฟฟ้า, รถเมล์, etc. แต่ที่จริงจะทำตั๋วร่วมกัน ไม่ถึงกับต้องซื้อคืน มันก็น่าจะมีวิธีตกลงกันได้? มือถือโทรข้ามเครือข่ายคิดเงินร่วมกัน รัฐต้องซื้อคืนบริษัทมือถือด้วยไหม? ทำไมทียังงี้จะซื้อคืน ทีการไฟฟ้าจะขาย?

ลองดูรายละเอียดจาก 2Bangkok.com – Skytrain Extensions

Overview: The present government has long prevented the Skytrain from expanding its lines because the Skytrain company is owned by rival Democrat Party allies. Thai political parties have always been backed/associated with business groups and these groups win or lose depending on the fortunes of political parties.

The present government has also gained popularity from pushing mass transit schemes and wants to integrate the privately held Skytrain into a government network.”

The Nation, July 20, 2005: Transport Minister Suriya Jungrungreangkit has ordered a study of the construction of new mass-transit routes as an alternative to extensions to the existing Bangkok Transit System (BTS) network. The move is seen as putting more pressure on privately-owned BTS, which has refused to continue share-sale negotiations with the government… ”

Thairath, July 15, 2005: BTS creditors have news from Shin Corps that Shin Corps is going to buy BTS debts from the creditors such as KfW and other domestic creditors at a 50% discounted price (from the current US$850 million for KfW and 13 billion baht for domestic creditors such as IFCT which has been taken over by TMB [the checkbook of Shin Corps], and SCB). This is being done to take over BTSC. After the debt buyout, Shin Corps would ask BTSC to cut registered capital to pay off debts and raise the ticket price to the 45 baht ceiling.”

มันเกิดอะไรขึ้น? BTS ไปทำอะไรผิดกฎ ผิดสัญญาหรือเปล่า? ทางสร้างเสร็จแล้ว ทำไมไม่ขยายเส้นทางให้รถมันวิ่งไป ชาวบ้านตาดำๆ จะได้ไม่ต้องรถติด มัวทำอะไรกันอยู่

ใครทราบช่วยไขข้อข้องใจที ว่าปัญหามันคืออะไร

World’s Best City 2005

From the Travel and Leisure magazine. According to the CNN’s article: “The scores are indexed averages of responses by readers to a questionnaire that asks them to rate destinations, properties and companies relevant to their recent travel.”

Rank Last Year Name Score
1 1 Sydney 88.30
2 4 Bangkok 87.08
3 2 Rome 86.26
4 3 Florence 86.20
5 n/a Chiang Mai, Thailand 84.93
6 6 New York 84.82
7 8 Istanbul 84.78
8 5 Cape Town 84.51
9 7 Oaxaca, Mexico 84.41
10 n/a San Francisco N/A

Cool!

Hypocrisy the worst of human traits

จาก post ของฝ้ายใน LTN wwwboard เลยตามไปอ่านที่ RWT forum, ตัดมาบางส่วนที่ Linus เขียนดังนี้ (น่าสนใจดี):

Linus Torvalds (torvalds@osdl.org) 4/13/05

[…]

Unlike some people, I don’t judge people for whether they
are commercial or “free software” people, which means that
to me it wasn’t a case of knowing which side was “evil”
(and thus wrong by default – isn’t that how it works 😉
to start with.

In my book, what matters is what you do – whether you want
to sell things is your personal choice, but even more
importantly it is not a moral negative or positive. I’m a
big believer in open source as creating good stuff, but
I don’t think it’s a moral issue. It’s engineering.

So I think open source tends to become technically better
over time (but it does take time), but I don’t think it’s
a moral imperative. I do open source because it’s fun, and
because I think it makes sense in the long run.

For some reason that is hard for a lot of free software
people to accept. Too many people see things as a war
of “free software” against “proprietary evil”. This is,
btw, the real difference between the “open source” crowd
and the “free software” crowd, as far as I’m concerned.

หลังจากนั้นก็อัดยาวเป็นชุด ตามไปอ่านเองละกัน

เข้าใจยาก: ทำถนนบนทะเล

เห็นโครงการนี้มาอยู่พักหนึ่งแล้ว วันนี้ได้อ่านเว็บของ
โครงการที่ปรึกษาสำรวจและออกแบบรายละเอียดเส้นทางลัดสู่ภาคใต้
(สมุทรสาคร-แหลมผักเบี้ย-ชะอำ)
แล้ว ยังรู้สึกเข้าใจยาก



ผมเข้าใจว่าความคิดที่จะทำถนนบนทะเลนี้คือ เป็นเส้นทางลัด ย่นระยะไปได้กว่า 40 กม. แต่ว่ายังไงก็น่าจะมีต้นทุนที่สูงกว่าบนบกมาก
แถมยังมีปัจจัยน่าห่วงอื่นๆ อีก เช่น สิ่งแวดล้อม, ความปลอดภัย อะไรต่อมิอะไรซึ่งบางอย่างมันก็คาดไม่ถึง จนกว่ามันจะเกิดขึ้น (ดูอย่างอุบัติเหตุรถไฟใต้ดินไหลลงมาชนรถไฟที่จอดอยู่ที่สถานี มันยังเกิดขึ้นได้).
การสร้างสะพานแบบนี้ น่าจะเป็นทางเลือกสุดท้าย แบบที่ไม่มีวิธีอื่นแล้ว อย่างพวกเชื่อมจากแผ่นดินไปเกาะ หรือว่าย่นระยะทางได้เป็นร้อยๆ กิโล.
สำหรับกรณีนี้นี่ดูแล้วยังไงๆ มันก็ไม่น่าคุ้ม?

ด้วยเงินจำนวนเดียวกัน (เขาประมาณไว้ 56,815 ล้านบาท) เอาไปสร้างถนนบนดิน แบบคุณภาพสูงเลย ไปกลับข้างละ 3-4 เลน ระยะทางยาวกว่าในทะเลหน่อย แต่ถ้าถนนดี มันก็วิ่งไม่กี่นาที? ความเสี่ยงลดลงไปตั้งเยอะ. จุดแวะพักก็ทำได้ถี่ ให้ประชาชนมาเปิดร้านขายของกันได้อีก. ทำอย่างที่ว่าแล้วเงินก็ยังน่าจะเหลืออีก เอาไปสร้างทางรถไฟขนานกับถนนไปด้วยเลย มันน่าจะคุ้มกว่ากันหรือเปล่า.

ข่าวเพิ่มเติม จาก manager ล้มแผนก่อสร้างถนนเลียบอ่าวไทย “สมุทรสาคร-แหลมผักเบี้ย” มูลค่า 5 หมื่นล้านบาท หลังกระทบสิ่งแวดล้อม-ไม่คุ้มค่า หันไปปรับปรุงเส้นทางเดิมแทน “ทักษิณ” เผย “ในหลวง” ทรงห่วงให้คิดรอบคอบ

screenshot 2005/1/27

ทำ screenshot กะเขาบ้าง


  • KDE 3.3.1 + Baguira theme
  • Qt/Konqueror+Thai Wordbreak
  • Kword (เหมือนว่าตัดคำจะใช้ Qt เพราะแก้ที่ Qt แล้วเหมือนทำให้ Kword ตัดได้ด้วย, ดูในโค้ดเห็นมีเกี่ยวกับ ThBreakIterator อยู่ แต่เหมือนไม่ได้ถูกใช้ — ไม่ชัวร์)
  • KDictThai
  • GKrellM
  • Kopete
  • Never again…

    CNN.com – Schroeder: Remember Nazi crimes – Jan 25, 2005

    รู้สึกชอบที่เยอรมันยอมรับในเรื่องที่เกิดขึ้น, ให้สัญญา, และดำเนินการต่างๆ เพื่อที่จะไม่ให้มันถูกลืมไป

    “The evil of Nazi ideology did not occur without preconditions,” Schroeder said. “The brutalization of thought and the loss of moral inhibitions had a history; above all, Nazi ideology was desired by people and man-made.”

    “There can be no compensation for the scale of the horror, the torture and the suffering that took place in the concentration camps,” Schroeder said at the event, organized by the International Auschwitz Committee.

    The memory of the Nazi genocide “is part of our national identity,” Schroeder said. “Remembering the era of National Socialism and its crimes is a moral obligation — we owe that not only to the victims, the survivors and the relatives, but to ourselves.”

    “It is true that the temptation to forget and suppress it is great, but we will not succumb to it,” Schroeder promised.

    Germany’s national Holocaust memorial, standing next to Berlin’s Brandenburg Gate, is due to open in May, and the chancellor said it would serve as “a signal against forgetting.”

    Franziskaner Beer in Japan

    400

    Last week after playing Badminton at NII, we went to have dinner at the Franziskaner Bar and Grill restaurant, near the Shin-Ochanomizu subway station, about 10 minutes walk from NII.

    Here they sell imported German Franziskaner Hefe Weissbier (my favorite!) along with other beers. The price for the Hefe Weissbier above is about 950 Yen. Still the same good taste and smell :-p but however it’s not so cheap (for a student like me), isn’t it. 🙂

    Remark: Beer price mistake, it should be 950 Yen

    ค่าโง่โอนเงิน 1,260 เยน

    ค่าโง่โอนเงิน 1,260 เยน จดไว้กันลืม วันก่อนไปโอนเงินสำหรับค่าลงทะเบียนงานประชุม 5,000 Yen และก็ค่าประกันไฟไหม้ของบ้าน 20,000 เยน
    เนื่องจากเป็นการลงทะเบียนข้ามธนาคาร ก็ต้องเสียค่าธรรมเนียม รายการละ 210 Yen เราก็ไปโอนที่เครื่องตามปกติ เครื่องที่ NHK มีภาษาอังกฤษด้วย
    ไม่ต้องปวดหัวกับภาษาญี่ปุ่น แต่ดันไปซวยเรื่องอื่นแทน

    ค่าโง่โอนเงิน


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

    วันรุ่งขึ้นก็มาเลยแต่เช้า โทรศัพท์จากธนาคาร บอกว่าเมื่อวานคุณไปโอนเงินใช่มั้ย ชื่อบัญชีปลายทางมันไม่ถูกต้อง ไม่สามารถโอนเงินได้ อ้าวเวรละตู เราก็บอกอ้าวแล้วให้ทำไง เขาบอกให้ไปที่เคาเตอร์ธนาคาร เลยขอให้โอนเรื่องไปที่ธนาคารแถวๆ บ้าน (คือขี้เกียจไป NHK อีก) แล้วก็ไป ก็ต้องไปกรอกแบบฟอร์มขอแก้ไขชื่อบัญชีปลายทาง และจ่ายค่าบริการ 630×2 = 1,260 เยน เสร็จแล้วก็คุยกับเขา เขาถามว่ามันไม่ขึ้นมาเหรออัตโนมัติ ชื่อบัญชีปลายทาง เราบอกมันไม่ขึ้น เขาว่าถ้ามันไม่ขึ้น ให้ไปที่เคาเตอร์ ถ้าไม่ทราบชื่อบัญชีปลายทางแบบถูกต้อง

    ไปปีนภูเขาไฟฟูจิมา

    หลังจากเคยไปด้อมๆ มองจากระยะไกลที่ Kawaguchi-ko มาหนึ่งครั้ง เมื่อกลางปีนี้

    Fuji-san from Kawaguchi-ko

    เมื่อวานนี้ก็ได้ไปปีนมาครับ ไปกับเพื่อนๆ 6 คน เป็นการปีนข้ามคืน คือนั่งรถบัสจากชินจูกุไป Kawaguchiko-gogome (2,600 Yen one-way) ไปถึงสี่ทุ่มก็ปีนไปเรื่อยๆ ถึงยอดตอนเช้า เขาไปดูพระอาทิตย์ขึ้นกัน เหนื่อยสุดๆ แต่ก็สวยงามดี ขนาดอุตส่าห์ฟิตซ้อมเล่นกีฬาสัปดาห์ละหลายครั้งนะเนี่ย ค่อยๆ คลานขึ้นไป นึกว่าจะไม่ถึงซะแล้ว 🙂 บันทึกเวลาเป็นดังนี้ (เพื่อนชื่อ Hamasaki จดไว้)

    08/24 19:50 leave Shinjuku

    08/24 22:00 arrive Kawaguchi-ko gogome

    08/24 22:22 start climbing

    08/25 01:42 arrive at 8th station

    08/25 02:48 arrive at Haku-un Sou (8th station)

    08/25 05:00 sun rise!

    08/25 05:53 reach the top of Mt. Fuji

    08/24 07:00 start to walk down

    08/25 10:45 back to Kawaguchi-ko gogome

    Before the sun rises

    On the top

    LWN: The Grumpy Editor’s guide to graphical mail clients

    เห็นข่าวที่ LWN อันนี้
    LWN: The Grumpy Editor’s guide to graphical mail clients เลยนั่งอ่านดู เนื่องจาก E-mail client นับว่าเป็นซอฟต์แวร์ที่สำคัญ ต้องใช้ทุกวัน เลยดูซะหน่อยว่าเขา review แต่ละตัวยังไงบ้าง ก็น่าสนใจดี

    ตอนนี้ใช้ kmail อยู่ ก็รู้สึกว่าไม่เลว ทั่วๆ ไปก็ดี ข้อดีก็คือ feature ที่ควรจะมีก็มีเกือบหมด filter, เรียง thread, ใช้งาน stable ดี ตอนนี้ ~/Mail ขนาด 1.7 GB ก็ไม่อืด, ผสมผสานกับ KDE ดี, อ่านเมล+พิมพ์ เมลภาษาไทย, ญี่ปุ่น, utf8 อะไรได้, ภาษาไทยก็ตัดคำได้ตอนเขียน mail, ในเวอร์ชั่นหน้าก็เห็นว่าจะ compose HTML message ได้

    แต่มีปัญหาปวดใจอยู่สองสามอย่าง กล่าวคือ ทำให้มันเรียง thread แบบว่า thread ไหนที่มี post เข้ามาใหม่ ให้เอามาไว้ล่างๆ ทำบ่ได้ อ่านดู comment ก็เจอคนบ่นคล้ายๆ กัน และได้เห็นวิธีแก้หลายๆ อย่าง เช่น ใช้ Saved Search หรือทำ short-cut toggle key ระหว่าง thread กับ non-thread mode (อันนี้เจ๋ง) เลยแก้ปัญหาไปได้

    ปัญหาอีกอย่างก็คือการ render ภาษาไทยผิด ในบาง message ที่มีสระวรรณยุกต์ไทยมาเป็น pattern บางแบบ ซึ่งคิดว่ามันคงเป็นปัญหาของ Qt หรือ kdelibs มากกว่าของ KMail เอง ก็ยังหาที่แก้ไม่เจออยู่ดี และมันไม่มีความสามารถแบบ “ลบเมลที่ POP server หลังจากที่เมลนั้นถูก pop มาที่เครื่องเราแล้ว xxx วัน” ซึ่งจะทำให้สะดวกสบายอย่างยิ่ง เวลาที่ pop mail จาก account เดียวไปหลายๆ เครื่อง และ สุดท้ายมันน่าจะมี search ที่ง่ายๆ และเร็วๆ หน่อย แบบช่องเดียว ขุดมาให้หมดจะเป็น subject หรือ body หรือ sender มีก็เอาขึ้นมา ไม่ต้อง specify มาก

    แต่รวมแล้วๆ ยังพอทน ไม่เลวร้ายมาก พอดีเหลือบไปเห็น comment อันนี้ด้วย :-p ก็ใช้ต่อไปละกัน ใครมีตัวอื่นแนะนำบ้างไหม

    First of all, I wonder why the author did test development versions of
    most other clients but not of KMail. Anyway.

    The current stable version (1.6.x) already has

    – custom message actions (shortcuts can be assigned and they can be put on
    the toolbar). For details see the comment of mmutz.

    The upcoming version brings

    – a quick search bar in the main window

    – an anti-spam wizard to help the user setting up KMail for use with an
    external spam filtering tool; including internal spam filtering is
    nonsense because that we mean re-inventing the wheel (and there are
    already loads of suitable wheels (SpamAssassin, bogofilter, …) out
    there)

    – basic HTML markup in the composer (font family, size, color, shape, text
    alignment, lists), not supported are tables, embedded images or other more
    advanced HTML features