Playing with Google App Engine (Java API)

บันทึกไว้ซะหน่อยว่าเล่นอะไรไปกับ Google App Engine ในส่วนของ Java API บ้าง
1. URL Fetch Service
มีข้อจำกัดว่า timeout นั้นสูงสุดที่ 10 seconds และต้อง set ค่าทุกครั้ง เพราะ default คือ 5 seconds
2. JDO
รายละเอียดเยอะ แต่เอกสารของ Google ทำได้ดีในระดับหนึ่ง และดูเหมือนว่า Google แนะนำให้ใช้ JDO มากกว่า JPA
3. Local Admin Console
ถ้าอยากดูว่าใน Local Datastore มีอะไรอยู่บ้างให้เปิดไปที่ http://localhost:8080/_ah/admin โดยสามารถแสดงรายการ กับลบ entities ได้เท่านั้น ไม่สามารถ เพิ่ม, แก้ไข, หรือแม้แต่ search ได้
ถ้าอยากได้ความสามารถเพิ่มต้องลง 3rd party ที่ชื่อ gae-data-viewer
ส่วนไฟล์จะเก็บอยู่ที่ \war\WEB-INF\appengine-generated\local_db.bin [...]

มาอีกแล้วกับ Features ที่รอกันมานาน Sports Schedule on Google Calendar

ถ้ายังจำ Post เก่าของผมที่เกี่ยวกับ English Premier League บน Google Calendar
มาวันนี้ Google ทำเองแล้วครับ ไม่ต้องไป Add Public Calendar อื่นแล้ว
โดยสามารถเลือกได้ถึงระดับว่าจะใช้ Schedule เฉพาะทีมไหน ลีกไหนได้ด้วย เช่น Liverpool ก็จะมีทั้ง EPL, UCL, FA Cup, League Cup
หรือแม้แต่ทีมชาติก็มีนะครับ แต่น่าเสียดายไทยลีกยังไม่มี
ถ้าสนใจก็เปิดไปที่หน้านี้ของ Google Calendar

ฟีเจอร์ที่รอกันมานานของ Google Reader

ตามภาพเลยครับ
มันคือการ mark as read แบบระบุช่วงเวลาได้
กับ sent to Twitter/Facebook/ETC (แต่ผมส่งเข้าแต่ Twitter แล้วตัวอื่นมาดึงต่อจาก Twitter เอง)

English Premier League on your Google Calendar

เนื่องจาก Google ยกเลิกปุ่ม Search Public Calendars ออกไป
จึงค่อนข้างยุ่งยากขึ้นเล็กน้อยในการจะหา Public Calendar ดีๆมาใช้
ยกตัวอย่าง English Premier League Calendar ตัวนี้ ผมต้องลองเปลี่ยน keyword 2-3 ครั้ง กว่าจะเจอตัวที่ถูกใจ
ยังไงก็ลอง add เข้า Google Calendar ของตนเองตามลำบากเลยครับ
อย่าลืมตั้ง Reminder ทาง SMS แบบผมด้วย จะได้ไม่พลาดแมทช์สำคัญๆ
เสาร์นี้เปิดฤดูกาลแล้ว…

System Properties in Google App Engine (GAE)

เมื่อ Google ยอมให้เราเขียนโปรแกรมใน Infrastructure ของ Google ได้
ถือเป็นโอกาสอันดี ที่จะดูว่า Google มีการกำหนด System Properties ไว้อย่างไรบ้าง
com.google.apphosting.runtime.jetty.APP_VERSION_CONTEXT_ATTR=com.google.apphosting.runtime.AppVersion@b9b67b
org.mortbay.jetty.webapp.NoTLDJarPattern=start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
line.separator=
java.class.version=50.0
java.util.logging.config.file=WEB-INF/logging.properties
java.specification.name=Java Platform API Specification
java.vendor.url=http://java.sun.com/
java.vm.version=1.6.0_13
os.name=Linux
java.version=1.6.0_13
java.vm.specification.version=1.0
user.dir=/base/data/home/apps/xxx/1.335216823617058489
java.specification.vendor=Sun Microsystems Inc.
java.vm.specification.name=Java Virtual Machine Specification
java.vm.vendor=Sun Microsystems Inc.
file.separator=/
path.separator=:
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.name=Java HotSpot(TM) Client VM
file.encoding=ANSI_X3.4-1968