0

ความคลั่งไคล้ – ดอกชวนชม

รู้ตัวอีกทีก็มีรูปดอกชวนชมอยู่เต็มไปหมด …

สวนที่ระยอง

ถ่ายที่บ้านที่ระยอง ขณะฝกตก …

สวนที่ระยอง

สวนที่ระยอง

สวนที่ระยอง

4 ภาพนี้ถ้าจำไม่ผิดกางร่มออกไปถ่าย

ชวนชม (สี shocking pink มั้ง)

ดอกชวนชม

ดอกชวนชม

ชวนชมแถวคณะวิทยาศาสตร์

ดอกชวนชม

ชวนชม

ดอกชวนชม

Adenium obesum Balf.

flower

p1130022.jpg

อีกหลายๆ รูปจากเกษตรฯ บางเขน บ้าง จากระยองบ้างปะปนกันไป.

0

My first wsgi middleware

import logging
log = logging.getLogger(__name__)
class foomid(object):
    def __init__(self, app, app_conf):
        self.app = app

    def __call__(self, environ, start_response):
        a = [str(e) for e in environ]
        a.sort()
        log.info("\n".join(a))
        response = self.app(environ, start_response)
        return response

I just want to see how to make middleware and I want to observe environ.

0

ซื้อสบู่มาใหม่

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

My brand new soap

My brand new soap

My brand new soap

2

google appengine + inline svg + xhtml

ผมอยากใช้ inline svg เพราะว่าอยากแสดง gantt chart หน้าเดียวกับ form แต่ว่าพอเอา inline svg ไปใส่ใน html แล้วใช้ไม่ได้ (ก็น่าจะเป็นแบบนั้นอยู่แล้วมั้ง) ก็เลยเปลี่ยนมาใช้ xhtml แทน. แต่ว่าก็พึ่งเคยทำใน gae (google appengine) ก็เลยบันทึกไว้สักหน่อย เวลาใช้ xhtml ก็ต้องเปลี่ยน Content-Type ใน header ของ response หน่อย แบบนี้

...
class MainHandler(webapp.RequestHandler):
    def get(self):
        self.response.headers['Content-type'] = 'application/xhtml+xml'
        ...

แค่นี้ผมก็นึกว่าจะเนียนแล้ว แต่พอจะส่ง url ออกไป logout พบว่ามี & ติดอยู่โดยไม่ได้ escape และ Firefox ก็ไม่ยอมแสดงผล (ซึ่งก็น่าจะเป็นแบบนั้นอีกตามเคย) ผมก็เลยเขียนแก้ไปแบบ อาจจะสกปรกหน่อย เพราะนึกอะไรไม่ออก

...
class MainHandler(webapp.RequestHandler):
    def get(self):
        ...
        path = os.path.join(os.path.dirname(__file__), 'index.html');
        val = {'logout_url': users.create_logout_url(self.request.uri).replace("&", "&"),
               ... }
        self.response.out.write(template.render(path, val))

ก็คือ replace & ด้วย & ไปตรง แต่ก็ไม่รู้ว่าแบบนี้จะใช้ได้ทุกกรณีหรือเปล่า

<div id="result">
    
        {{ svg }}
    
</div>

ใน template ผมก็เอา svg ไปใส่ได้เลย … ดูตัวอย่างได้จาก vtimeline revision 13

0

vtimeline: specs can be saved

vtimeline ผมสร้างขึ้นมาทำรายงาน ก่อนหน้านี้มันก็พอจะวาด gantt chart ได้แล้ว แต่ว่าผมขี้เกียจ copy & paste คำอธิบายที่เอาไว้สร้าง chart (specs) ไปมา ระหว่าง text editor กับเว็บ ก็เลยทำให้ vtimeline ตอนนี้ save specs ไว้บน server ได้เลย แต่ว่าต้อง login ก่อน specs ของแต่ละคนจะไม่ปนกัน. ถ้าใช้ไปแล้วมี specs เยอะๆ หน้าจอคงมั่วเหมือนกัน แต่ว่าก็เอาไว้แก้ทีหลังได้ เพราะว่าตอนนี้ยังไม่เยอะ.

และเหมือนเดิมลองเขาไปเล่นได้ที่ http://vtimeline.appspot.com

0

ดอกไม้ที่มาใหม่

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

yellow flowers tree with yellow flowers
yellow flowers trees with yellow flowers
yellow flowers yellow flowers
0

หน้าเบลอ หลังเบลอ

หน้าเบลอ
small pink flowers

หลังเบลอ
small pink flowers

ทำอะไรแบบนี้โดยพึ่งอุปกรณ์มันง่ายมาก เปิดหน้ากล้อง 200(focal length)/5.6 มิลลิเมตร จุดที่ไม่ได้โฟกัสมันก็เบลอง่ายๆ เพียงแต่ปรับ focus หมุนไปหมุนมา … ถ่ายมาแล้วไม่รู้จะเอาแบบไหนดี.

รูปหน้าเบลออาจจะเห็นน้อยกว่ารูปหลังเบลอ น่าจะเป็นเพราะว่าเวลาถ่ายรูปเราไม่ค่อยอยากจะให้อะไรมาบังสิ่งที่จะโฟกัส ข้างหน้าก็เลยโล่ง รูปหน้าเบลอก็เลยน้อยกว่า แต่ว่าพื้นหลังส่วนมากก็จะมีถ้าสิ่งโฟกัสไม่ใหญ่เต็มกรอบ ในตัวอย่างนี้ก็มีพื้นหลังทั้งสอบภาพ.

2

แปลง mediawiki text เป็น html ด้วย mediacloth (ruby)

ผมเขียน Ruby มานานมากแล้วตั้งแต่พ.ศ. 2544 แล้วก็ไม่ได้เขียนอีกเลย (ล้อเล่นนะ) … จริงๆ ก็ไม่ขนาดนั้นคือเขียนสมัยโน้นแล้วก็เขียนอะไรเล่น เล็กๆ น้อยๆ เลยทำให้ไม่เคยใช้ gem เท่าไหร่ก็ต้องมาอ่านนิดหน่อย

วันนี้สั่ง sudo gem ins -r mediacloth ไป ^_^ ก็ลงได้

แล้วก็มาเขียนโปรแกรมตามตัวอย่างเลย แค่เพิ่ม gem ‘mediacloth’, ‘>= 0.0.3′ เข้าไป

require 'rubygems'
gem 'mediacloth', '&gt;= 0.0.3'
require 'mediacloth'
wiki_text = open('test2.wiki').read()
puts MediaCloth::wiki_to_html(wiki_text)

อยากจะแปลงไฟล์ mediawiki มาเป็น html หรืออะไรอื่น mediacloth มันก็แปลงได้สำหรับตัวอย่างง่ายๆ พอเอาทั้งหน้าไปใส่ ก็เจ๊งตามเคย … กลุ้มใจ.

update: ว่าจะลอง Parser.php จาก Mediawiki เลย แต่ไว้พรุ่งนี้แล้วกัน … หรือคืนนี้ดี?