Thursday, April 21, 2005

Bird Eye View

ใครที่สนใจภาพถ่ายลองเข้าไปชมดูครับ

ANETA GRZESZYKOWSKA & JAN SMAGA: PLAN


ถ้าสนใจในตัวศิลปินก็เข้าไปดูที่นี่
aneta grzeszykowska & jan smaga

Related link from Roti

ความแตกต่างระหว่าง Arial กับ Helvetica

ทุกคนคงคุ้นเคยกับ font ทั้ง 2 นี้
ลองดูสิว่า คุณสามารถแยกความแตกต่างระหว่าง
font ทั้ง 2 นี้ได้ไหม
arial or helvetica quiz
ถ้าอยากแยกได้ ก็ต้องตามไปดู article นี้
How to Spot Arial

แล้วถ้าอยากรู้ประวัติความเป็นมาของ Arial
ก็ต้องไปที่นี่ เขียนอ่านเพลินดี
The Scourge of Arial

Note: สำหรับผู้ที่ขี้เกียจอ่าน
font Arial เป็น ร่าง clone ของ Helvetica
เป็นการหลีกเลี่ยงลิขสิทธิ์ในสมัยก่อน
microsoft เริ่มใช้ Arial ใน version 3.1
โดยซื้อลิขสิทธิ์จาก Monotype
ส่วน Apple เลือกซึ้อลิขสิทธิ์ของ Helvetica

Related link from Roti

Wednesday, April 20, 2005

surrealist gallery

ผมชอบ blog ของ veerle ครับ
เธอ design ได้สวยดี ส่วนแฟนผมเขาบอกว่าสีทึมไปหน่อย
แต่ด้วยความที่ schema ของเธอเป็นสีกลาง ออกไปทึมๆ
เวลาที่มีรูปประกอบ blog
ไอ้สีกลางๆนี่แหล่ะจะช่วยขับให้รูปเปล่งประกายวิบๆออกมาเลย

และก็มีเนื้อหาที่ผมแอบเอาไปใช้ได้ เช่น
css ของ calendar widget

ส่วนที่ขอแนะนำให้ดูก็คือ
ตัว gallery นี้ครับ เป็นรูป style surrealist ของ Paul Rouge
ที่เธอออกแบบ ปกหนังสือให้
รูปสวยดี
ส่วนคนที่ไม่สนใจรูป ลองดู idea ในส่วน user interface ก็ได้ครับ

Note: เนื่องจากเธอเป็น designer ไม่ใช่ programmer
ดังนั้นบางเรื่องเช่น 2 level horizontal navigation in CSS with images
อาจจะดูทะแม่งๆไปบ้าง (ไม่ได้แยะเนื้อหา ออกจาก presentation จริงๆ)

Related link from Roti

การเปลี่ยน layout จากวิธี table+spacer gif => CSS

Article นี้พูดถึงประเด็นนี้
โดยทดลองเปลี่ยน design web page ของ microsoft.com
โดยเขาบอกว่า ถ้าใช้ css แล้ว
page size จะลดลงจาก 40 KB เหลือ 15 KB
และ estimate จากข้อมูลของ microsoft
ที่ว่าเดือนหนึ่งๆมี traffic ที่เข้าชม 1.2 billion
ดังนั้นถ้าลด page size เหลือ 15 KB ได้ ->
"that 25 KB savings per page could add up to about 924 GB in bandwidth savings per day, or 329 terabytes per year."

(ด้วยนิสัยเสียของเรา เขาพูดตัวเลขอะไรมา
ก็เชื่อไว้ก่อน ไม่ได้กดเครื่องคิดเลขตาม)

note: รู้สึกบทความนี้จะเก่าไปแล้ว จากการเข้าไป check ล่าสุด
www.microsoft.com มีขนาด page 21.54KB (ไม่รวม javascript, css)

Related link from Roti

Color Schema

ที่ web site www.colorschemer.com
มี ตัวอย่าง schema และตัวอย่าง web ที่ใช้สีนั้นได้ดู
ลองตามไปดู ไปเจอ photo album นี้เข้า
ชอบใจตรงใน archive ของเขา เขาแบ่ง
category ของรูปตาม color schema ด้วย

Related link from Roti

Monday, April 18, 2005

Commons Configuration

ปกติเวลาเราเขียน application
ถ้าเราต้องการให้ application ยืดหยุ่น
หรือสามารถทำ custom configuration
ได้โดยไม่ต้อง build หรือ compile ใหม่
เราก็จะต้องแยกตัวแปรจำนวนหนึ่งออกมา
โดยอาจจะเก็บใน flat file หรือเก็บ
ใน database

ตัว Commons Configuration
เป็น api ที่ช่วยให้เราเขียนส่วน configuration
ได้เร็วและง่ายขึ้น

feature แรกก็คือเราสามารถเลือก Datasource
ของ configuration ได้หลายรูปแบบ (เลือกหลายๆอันพร้อมๆกันได้ด้วย)
  • Properties files
  • XML documents
  • JNDI
  • JDBC Datasource
  • System properties
  • Applet parameters
  • Servlet parameters

ส่วนการใช้งาน เราสามารถที่จะเลือก
initialize แบบเฉพาะเจาะจง
Configuration config = new PropertiesConfiguration("usergui.properties");

หรือเลือกใช้ผ่าน Factory Pattern ได้
ConfigurationFactory factory = new ConfigurationFactory("config.xml");
Configuration config = factory.getConfiguration();

โดย config.xml จะมีหน้าตาประมาณนี้
<configuration>
<system/>
<properties fileName="application.properties"/>
<xml fileName="conf/test.xml"/>
<jndi prefix="java:comp/env"/>
</configuration>

ในที่นี้จะลองยกตัวอย่างการใช้งาน
เฉพาะกรณี properties file
ว่าสามารถทำอะไรได้บ้าง
  • ใน properties file สามารถอ้าง Include properties file อื่นๆได้อีก
    include = colors.properties

  • สามารถสั่ง Automatic Reloading ได้
    (กรณีที่มีการเปลี่ยนแปลง properties file ระหว่างการใช้งาน)
    PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
    config.setReloadingStrategy(new FileChangedReloadingStrategy());

  • ทำ Variable Interpolation ได้
    app.name=pok
    app.version=1.0
    app.title=${app.name}-${app.version}

  • สั่ง autosave ได้
    PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
    config.setAutoSave(true);

  • support list, array property
    colors.pie = #FF0000, #00FF00, #0000FF

    เวลาเรียกใช้ก็
    String[] colors = config.getStringArray("colors.pie");

    หรืออาจจะเขียน property ในรูป
    colors.pie = #FF0000;
    colors.pie = #00FF00;
    colors.pie = #0000FF;

Related link from Roti