0

อารมณ์ไม่ร่วมกับ “มะจัง”

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

1

My Gmate Mod

ผมใช้ gmate (ชุด plugin ของ gedit) มาสักพักก็มีเรื่องขัดใจนิดหน่อย แต่ส่วนมากคือชอบนะ ฯ กรณีที่ผมอธิบายได้ตอนนี้มี 2 แบบคือ

  1. เวลาใส่เครื่องหมายน้อยกว่า มันเติมมากกว่าให้ตลอด สมมุติผมอยากพิมพ์ if x < y ฯ มันก็จะขึ้น if x y ตลอด
  2. อีกอย่างเวลาจะส่ง list ไปใน argument แทน เช่น ทีแรกเขียน my_func(1,2,3) จะแก้เป็น my_func([1,2,3]) มันก็จะไม่ค่อยขึ้นมาให้ ฯ แต่จะเป็นแบบนี้แทน my_func([]1,2,3)

ดูๆ แล้วก็แก้ gemini.py ก็เลยลองเอามาแบ่งๆ กันใช้ดูเผื่อคนอื่นชอบ จะได้พยายาม submit ไปต้นน้ำ ฯ ถ้าผมชอบคนเดียวก็ใช้คนเดียว ฯ

diff --git a/plugins/gemini.py b/plugins/gemini.py
index 0c916e7..2ee79b5 100644
--- a/plugins/gemini.py
+++ b/plugins/gemini.py
@@ -52,8 +52,8 @@ class GeminiPlugin( gedit.Plugin):
 class Gemini:
     start_keyvals = [34, 39, 96, 40, 91, 123,60]
     end_keyvals   = [34, 39, 96, 41, 93, 125,62]
-    twin_start    = ['"',"'",'`','(','[','{','<']
-    twin_end      = ['"',"'",'`',')',']','}','>']
+    twin_start    = ['"',"'",'`','(','[','{']
+    twin_end      = ['"',"'",'`',')',']','}']
 
     def __init__(self):
         return
@@ -89,7 +89,8 @@ class Gemini:
                 buf.delete(start_iter, end_iter)
                 buf.insert_at_cursor(start_str + selected_text + end_str)
                 return True
-            elif end_str != forward_char and end_str != None:
+            elif end_str != forward_char and end_str != None and \
+                    forward_char in (" ", "\t", ""):
                 # insert the twin that matches your typed twin
                 buf.insert(cursor_iter, end_str)
                 if cursor_iter.backward_char():
@@ -142,4 +143,4 @@ class Gemini:
                     buf.insert_at_cursor(' ' * view.get_tab_width())
                 else:
                     buf.insert_at_cursor('\t')
-                return True
\ No newline at end of file
+                return True
72

ใช้ Swath จาก PHP

Update: โปรแกรมตัดคำแบบใช้ PHP เลยก็มีนะครับ: https://github.com/veer66/PhlongTaIam

ทางบ้านถามเข้ามาหลายท่าน ผมจึงเขียนออกมาได้แบบนี้ครับ

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>Swath Web</title>
	<meta name="generator" content="TextMate http://macromates.com/">
	<meta name="author" content="Vee Satayamas">
	
</head>
<body>
<form method="post">
<textarea name="input_text" cols="80" rows="10"></textarea>
<input type="submit" value="submit">
</form>
<?php

    function swath($input_text) 
    {
        $input_filename= tempnam("/tmp", "swath_");
        $output_filename= tempnam("/tmp", "swath_");
        $input_text_tis620 = iconv("UTF-8", "TIS-620", $input_text);
        file_put_contents($input_filename, $input_text_tis620);
        system("/usr/bin/swath < $input_filename > $output_filename");
        $raw = file_get_contents($output_filename);
        $raw_utf8 = iconv("TIS-620", "UTF-8", $raw);
        unlink($input_filename);
        unlink($output_filename);
        return preg_split('/\|/', $raw_utf8);
    }

    if($_REQUEST['input_text']) {
        $output = swath($_REQUEST['input_text']);
        print implode(" ", $output);
    }
?>
</body>
</html>

แต่ว่าแบบนี้เราต้องลง swath ไว้ใน /usr/bin นะครับ ฯ​ ลงไว้ที่อื่นก็ไม่น่าเป็นไรนะครับ เปลี่ยนใน code เอาเลยก็ได้ ฯ อีกอย่างคือต้องการใช้ iconv ด้วย ฯ แต่ถ้าไม่ใช้ iconv ก็น่าจะได้อีกเหมือนกัน ฯ​ เปลี่ยนหน้าเว็บเป็น TIS-620 ให้หมดก็น่าจะใช้ได้เลย ฯ