subtext

Even though the universal language for the Internet is English and I suppose that there’re really few people who use their own languages for URL, Phil has just illustrated that number is not few anymore.

For Subtext, it do have low support for internationalization. It hasn’t supported internationalized URLs yet.Though I half finished it for awhile, the missing piece just has been discovered last week. I think it’s time to make it complete and turn in the patch. No need to do. Someone already have it done.

Technorati tags: ,

YSlow, why slow?

25 Aug 2007

After Yahoo! Developer Center released their analysing tool, YSlow!, last week. I just have a chace to try it with my blog today. Here is the result.

Let’s see what can I do to make my blog faster.

  1. Make fewer HTTP requests - My blog has 9 external javascript references. Half of them are Google Analytics, BeYello and Google Reader relates. I can’t do anything much for them. The rest are ASP.NET Ajax related scripts. I can use the AjaxControlToolkit and take advantages of ToolkitScriptManager to combine all scripts into one request. Luckily, Subtext Dev team has integrated YUI Compressor into the build script and has already implemented script combiner for next version of Subtext which will be released soon. As for CSS, I have to reimplement my custom skin to take the advantages of new Subtext’s CSS Handler.
  2. Use a CDN - I can’t afford for this thing. Pass.
  3. Add an Expires header - There’re 16 links that don’t have expires header. Since adding the expires header means I must have the permission to access IIS Manager which I don’t. I have nothing to do here. Pass.
  4. Gzip components - Normally, Subtext has an integrated GZip Module. But all of unGzippped components are images and javascripts which don’t pass through ASP.NET Pipeline. Same as HTTP Requests number, I should wait for next release of Subtext that can help me resolve this issue. Pass.
  5. Reduce DNS lookups - Front page of my blog has more than 4 domains. Again, they’re Google Analytics, BeYello, and Google Reader scripts.Nothing to do here either. Pass
  6. Minify JS - JavaScript plays an important part nowsaday. In production environment, every JavaScript libraries should be compressed. Subtext has an uncompressed common script but it has been resolved in the next release. The another is BeYello script, again.
  7. Configure ETags - Same as expires header and GZip components. Pass.

After analysed each part, I can make my score a little higher. While I waiting for next release of Subtext, I can compress my JS and combine my css.

Last but not least, remember that YSlow! suggestions are just suggestion. Sometimes their suggestions are good, but for some conditions. You can ignore them if they’re not suit but you have to know what you are doing. Check the other people advice on YSlow! before take any action.

PS. Beyello, if you can hear me, please compress your javascript to let your clients load your scripts faster and save your precious bandwidth. You service is great and don’t let this little thing spoils it. ;)

วันนี้เข้าไปตอบคอมเม้นให้เพื่อนที่ diaryis ต้องมานั่งพิมพ์ captcha ใหม่ตั้งสองสามรอบเพราะพิมพ์ไม่ถูก ตูไม่ได้ตาบอดนะเฟ้ย มากล่าวหามั่วๆงี้ได้ไง

ที่น่ารำคาญกว่าคือ ต้องมานั่งพิมพ์ชื่อกับอีเมล์ใหม่อีกรอบนี่สิ เพราะมันดันลบทิ้งหมดเลย เห็นความสำคัญของ Post State ใน ASP.NET ก็อีตรงนี้อะ ที่รำคาญเพราะ comment สองรอบรวมกับยังสั้นกว่าชื่อ + อีเมล์รอบเดียวอีก แหมมันทำเสีย User Experience ซะหมดเลย

ถ้าจะแค่เช็คว่า คนรึเปล่านี่ก็น่าจะดู invisible captcha หรือที่พี่ bow_der_kleine เขียนเรื่องการป้องกันสแปมไว้หน่อยก็ดีนะ อย่างน้อยมันก็ช่วยเสริมเรื่อง UX ให้ได้น่ะ

วอนผู้เกี่ยวข้องตรวจสอบด้วย นะเจ้านายยยยยยย

ปล. diaryis กับ exteen น่าจะมีระบบสมาชิกสำหรับคนที่มี blog หรือ ไดอารี่ที่อยู่นอก community หรือว่าทำเป็น persistent cookie ไว้ให้ก็ยังดี

Technorati tags: , , , , ,

migrated to subtext

21 Mar 2007

ย้ายไปใช้ subtext ละ

เหตุผลขี้เกียจพัฒนา miniweblog ต่อแล้ว หันมาเป็นผู้ใช้ดีกว่า

ขั้นตอนการย้าย

  1. โชคดีที่ Subtext รองรับ BlogML ดังนั้นที่ต้องทำทั้งหมดก็คือย้ายข้อมูลในฐานข้อมูลเก่าทั้งหมดมาอยู่ในรูปแบบของ BlogML ซึ่งตรงนี้ก็โชคดีที่มีไลบรารีของ BlogML ช่วยอยู่แล้ว ตรงนี้ก็ง่ายละ
  2. เข้าไป setup แล้วก็ install subtext ที server แล้วก็ลง database ตามขั้นตอน
  3. จัดการ import BlogML ที่ได้จากข้อ 1 เข้าไปใน Subtext เป็นอันจบ

ปัญหาที่สำคัญก็คือ

  1. skin ของ subtext มันไม่สวย ต้องทำเอง
  2. ต้องทำให้ permalink ที่ใช้ใน Miniweblog ยังใช้ได้ใน subtext อยู่

ปัญหาข้อแรก แก้ไขได้ง่ายด้วยการหา theme ที่ถูกใจ ก็ได้ Skittlish ที่เป็น theme ของ Mephisto มา นั่งแก้อยู่วันนึงก็ใช้ได้ละ ปัญหาข้อสองนี่ สุดท้ายต้องเขียนตัว map ระหว่าง miniweblog กับ subtext เพิ่ม อันนี้ 20 นาทีก็เรียบร้อย

รวมเวลาในการย้ายก็ราวๆวันนึง แต่อาศัยว่าเคยนั่งแปลง theme มาเป็น subtext รอบนึงแล้วไม่ประสบความสำเร็จ ครั้งนี้เลยง่ายเพราะรู้เรื่องขึ้นเยอะ

ปัญหาที่เหลือที่ยังไม่พบ ก็รอ "คุณๆ" ทั้งหลายมาช่วยกันหานี่แหละ

Technorati tags: , ,