Archive for the ‘Wired’ Category
Hazel—Droplets—and You no comments
นั่งเล่น Hazel ตัว 14-day Trial อยู่ซักพักหนึ่ง เริ่มประทับใจในความสามารถของมัน เลยลองนั่งทำ droplet สำหรับอัพโหลดไฟล์ลง WebDAV สำหรับ instant file hosting ส่วนตัว ดู ดูเหมือนว่าจะทำได้ง่ายกว่าที่คิดไว้เยอะ วิธีการทำคือ สร้างไดเรคทอรี่เปล่าๆ ขึ้นมาหนึ่งอัน และเพิ่ม Rule ลงไป (ตั้งชื่อไว้ว่า “Upload file(s) to WebDAV server”)
- Date Added: is in the last 10 minutes
- Run shell script: embedded script
- Send Growl notification: with pattern “File(s) has been successfully uploaded.”
โค้ดสำหรับใช้อัพโหลดเป็นแค่ shell script ง่ายๆ เรียกหา curl แค่นั้น หน้าตาแบบนี้
#!/bin/bash for file in "$@"; do curl -u user:pass -T "$file" http://temp.hitoridake.com/ mv "$file" ~/.Trash/ done
ก่อนหน้านี้เกือบเสียเวลานั่งเขียนโค้ดเล็กๆ สำหรับอัพโหลดลง WebDAV เอาเองเสียแล้ว เพิ่งได้รู้ทีหลังว่าจริงๆ มันแค่ สั่ง curl -T file URL เอาก็ได้ พอเสร็จแล้วก็ลากไดเรคทอรี่เปล่าๆ ที่สร้างไปยัง Dock เวลาต้องการจะอัพโหลดไฟล์ไหนก็แค่โยนไฟล์ลงไดเรคทอรี่นั้นใน Dock ก็เป็นอันเสร็จเรียบร้อย
Transmission, Clutch, Gear no comments
Transmission ตั้งแต่เวอร์ชั่น 1.3 เป็นต้นมา เพิ่มฟีเจอร์สั่งงานผ่านหน้าเว็บ ถึงแม้มันจะหน้าตาเหมือนกันกับ Clutch เด๊ะๆ แต่เอาเข้าจริงแล้ว มันคือการเขียนใหม่หมด และเรียกใช้งาน JSON-RPC Interface ใหม่ที่ถูกเพิ่มมาในเวอร์ชั่นเดียวกัน โดยไม่ต้องผ่าน PHP เหมือนที่เคย
การติดตั้งบนลินุกซ์น่าจะเป็นไปได้ง่ายๆ เพียงแค่ลงแพคเกจ transmission-daemon (หรือ transmission-cli ใน Debian-based distro) แต่สำหรับในกรณีของ FreeBSD นั้น ตัวเว็บมันถูกแยกออกไปเป็นแพคเกจ transmission-web อีกต่อ ดังนั้นจึงต้องลงด้วยกันสองแพคเกจ
/usr/ports/net-p2p/transmission-daemon/usr/ports/www/transmission-web
หลังจากลงเสร็จเรียบร้อย เนื่องจากว่า transmission-daemon นั้นไม่แถม init-script มาให้ จึงจำเป็นต้องเขียนเอง โชคดีที่บน FreeBSD นั้น การเขียน init-script ให้เป็นไปตามต้องการนั้นง่ายมาก ที่ผมเขียนไว้มีหน้าตาแบบนี้ (โยนลง /usr/local/etc/rc.d/transmission)
Fix for once no comments
ปัญหาตลกๆ ที่เกิดกับ MPlayer บน Mac OS X มานานแสนนานก็คือเมื่อปรับการแสดงผลเป็น CoreVideo แบบฝังติดกับตัว player มันจะมีปัญหาว่าไม่สามารถเปิดวีดีโอใดๆ ได้เลย (อย่างน้อยที่สุดบนเครื่องผม) จริงๆ เรื่องนี้เคยเขียนทางแก้ไปแล้วเมื่อประมาณบล็อกเก่าเมื่อปีถึงสองปีก่อน วันนี้มารื้อฟื้นกันอีกหน่อย
ปัญหานี้ดูสาเหตุได้จากการบังคับเปิด mplayer ด้วย -vo macosx:shared_buffer ในกรณีที่เจอ มันเกิดจากค่า shmall ที่ใช้สำหรับจำกัดขนาดของ shared-memory ที่จะถูก allocate เซ็ทไว้ต่ำไป ที่ 1024 bytes ทางแก้ไขก็ง่ายมาก สั่ง sysctl -w kern.sysv.shmall=4096 เป็นอันเสร็จสิ้น
ถ้าหากอยากให้ค่านี้อยู่ถาวรใน Leopard ก็ทำการเพิ่ม /etc/sysctl.conf ไปว่า
kern.sysv.shmall=4096
เท่านี้ก็หมดปัญหาเรื่องเปิดวีดีโอไม่ได้ไปเปราะหนึ่ง ของแถมอีกอันหนึ่งที่เพิ่งเจอสดๆ ร้อนๆ เลยก็คือ MPlayer OSX Extended ที่เป็น fork ของ MPlayer OSX อีกที เพิ่มฟีเจอร์และปรับปรุงอินเตอร์เฟส แถมด้วย build ของ MPlayer ที่ใหม่และครบพอสมควร
ว่างๆ อยากจะเรียน Objective-C กับ Cocoa มั่ง อยากจะเอา X-Chat Aqua มาทำต่อเอง
Secure Your Account! 2 comments
จากเรื่อง On the phone โดนถามมาหลายทีว่ามันผิดแปลกอะไรตรงไหน คำตอบก็คือเรื่องความปลอดภัยของข้อมูลสมาชิกในเว็บไซต์ร้านค้าแห่งนั้น ที่ผมคงจะไม่ซื้ออะไรอีกแล้ว
ย้อนความกันก่อนว่าร้านค้าแห่งนี้ มีระบบหนึ่งที่ให้คุณโอนเงินจากธนาคาร (หรือหักจากบัตรเครดิต) ไปเก็บไว้ใน account เพื่อใช้ซื้อของต่อๆ ไป จะได้ไม่ต้องมาลำบากในการโอนเงินบ่อยๆ ซึ่งนั่นก็ดูเป็นเรื่องที่อำนวยความสะดวกสำหรับผู้ที่ไม่มีบัตรเครดิตได้ดี
ปัญหามันอยู่ที่ว่า ร้านค้าแห่งนี้ไม่มีการป้องกันความปลอดภัยของบัญชีสมาชิกผู้ใช้ที่ยินดีจะฝากเงินจำนวนนั้นไปทิ้งไว้ใน account ที่ดีพอนอกจากการใช้ SSL (สำหรับเข้ารหัสข้อมูลที่ส่งระหว่างบราวเซอร์กับเว็บเซิฟเวอร์) ดังนั้นก็หมายถึง นั่นก็คือรหัสผ่านที่ถูกตั้งไว้ในเว็บฯ ไม่มีการเข้ารหัสใดๆ และยังให้พนักงานของร้านเปิดดูได้ตามสะดวกอีกต่างหาก
แล้วปัญหามันคืออะไร ปัญหามันอยู่ที่ว่า ในกรณีที่คุณมีรหัสผ่านเพียงชุดเดียว–ซึ่งเป็นเรื่องที่ไม่ควร–และสมัครสมาชิกกับเว็บไซต์แห่งนี้ พนักงานในร้านค้าสามารถเปิดดูอีเมลล์สำคัญๆ ของคุณได้ ผ่านทางรหัสผ่านและอีเมลล์ที่คุณสมัครสมาชิกไว้
Drupal, Inline and Contemplate no comments
ช่วงสัปดาห์ที่ผ่านมา มั่วแต่วุ่นๆ อยู่กับการเปิดเว็บข่าวอนิเมะเอามันส์ หลังจากที่มัวลังเลอยู่หลายเดือน ในที่สุดก็ออกมาเป็นรูปเป็นร่าง ซอฟท์แวร์ที่ใช้ในขณะนี้ก็คือ Drupal พอลองเอามาใช้ดูกับงานแบบนี้แล้วค่อนข้างถูกใจในความยืดหยุ่นของมัน
Plugin ที่ใช้ในการทำหน้าเนื้อหาข่าว หลักๆ ก็คือ Content Template กับตระกูล CCK ทั้งหลาย พร้อมด้วย CSS แบบเถื่อนๆ ลงไปบน template อีกนิดหน่อย (เพราะธีมยังไม่เสร็จดี) ซึ่งผลที่ได้ออกมาก็เป็นที่ค่อนข้างพอใจ
ทีนี้ ปัญหามันก็เกิดขึ้น ปัญหาที่ว่าก็คือเมื่อต้องการจะทำ inline image ลงในบทความ ตัวเลือกโมดูลแรกที่จะมองหาก็คือ Inline โดยที่มันจะสร้าง tag เล็กๆ เช่น [inline:hello.jpg] และจะแทนแทคนี้ด้วยภาพที่เราอัพโหลดลงไป
จุดที่เป็นปัญหาคือส่วน “แทนภาพ” ที่ว่านี่ เมื่อมันใช้การเรียกหา $node->body เพื่อมาแทนภาพ แต่การใช้งาน Content template เราจะไม่ได้ใช้ในส่วนนั้น แต่จะเป็น $node->content['body']['#value'] แทน เลยเป็นผลทำให้สิ่งที่แสดงออกมาเลยกลายเป็น raw text [inline:hello.jpg] แทนที่จะเป็นภาพ