<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.5" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>The Dev Monkey</title>
	<link>http://devmonkey.preeburan.com</link>
	<description>A blog for thai Website Developer</description>
	<pubDate>Tue, 20 Jul 2010 13:52:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<item>
		<title>วีธีการคิดค่าแรง Project สำหรับ freelances</title>
		<link>http://devmonkey.preeburan.com/2007/01/18/how-to-charge-for-freelance-project/</link>
		<comments>http://devmonkey.preeburan.com/2007/01/18/how-to-charge-for-freelance-project/#comments</comments>
		<pubDate>Thu, 18 Jan 2007 16:56:39 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>PHP</category>

		<category>Developer</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2007/01/18/%e0%b8%a7%e0%b8%b5%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%84%e0%b8%b4%e0%b8%94%e0%b8%84%e0%b9%88%e0%b8%b2%e0%b9%81%e0%b8%a3%e0%b8%87-project-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e/</guid>
		<description><![CDATA[พอดีช่วงนี้มีน้องๆหลายคนมาถามว่า &#8220;ไปรับงานเขียนโปรแกรมฟรีแลนซ์มา จะคิดตังค์เขายังไงดีอ่ะ&#8221; ปกติ ตัวผมเองก็ใช้วิธีกะเอาเคร่าๆว่ายากง่ายแค่ไหนตามประสบการณ์ เลยไปค้นดูว่า มีวิธีคิดเป็นทฤษฎีอะไรอยู่บ้างไหมก็เจอมาตามนี้ครับ
วิธีง่ายที่สุด
1. คุณวัดค่าความสามารถของคุณเองขึ้นมาก่อนง่ายๆ ว่าเดือนหนึ่งคุณอยากได้เงินเดือนที่เท่าไร แล้วเอามาหาร 20 จะได้เป็น man/day
2. ลองคิดดูว่าจะใช้เวลากี่วันจึงจะทำให้งานเสร็จ เช่น หากไม่ใช้ Ajax ใช้เวลา 20 วัน แต่ถ้าใช้ Ajax ใช้เวลา 30 วัน แค่นี้เงินมันก็ไม่เท่ากันแล้ว
3. ใส่ค่า Overhead ในการทำงานเข้าไปเช่น ค่าเดินทาง ค่าไฟ ค่าโทรศัพท์ ค่าปวดหัว ฯลฯ ส่วนมากแล้วจะคิดเป็น 30% ของ 2 ส่วนแรก
4. เอาเงินที่ได้มาคูณกับ % ที่เราคิดว่าน่าจะเป็นกำไร เช่น อยากได้กำไร 30% ก็คูณเข้าไป
เ ท่านั้นก็จะได้ราคาโดยรวม ซึ่งราคานี้ยังไม่รวม Maintain นะครับ คุณต้องคิดต่อไปด้วยว่าจะคอยช่วย Support แก้งานอีกถึงเมื่อไร อาจจะแถมให้ Maintain [...]]]></description>
			<content:encoded><![CDATA[<p>พอดีช่วงนี้มีน้องๆหลายคนมาถามว่า &#8220;ไปรับงานเขียนโปรแกรมฟรีแลนซ์มา จะคิดตังค์เขายังไงดีอ่ะ&#8221; ปกติ ตัวผมเองก็ใช้วิธีกะเอาเคร่าๆว่ายากง่ายแค่ไหนตามประสบการณ์ เลยไปค้นดูว่า มีวิธีคิดเป็นทฤษฎีอะไรอยู่บ้างไหมก็เจอมาตามนี้ครับ</p>
<blockquote><p>วิธีง่ายที่สุด<br />
1. คุณวัดค่าความสามารถของคุณเองขึ้นมาก่อนง่ายๆ ว่าเดือนหนึ่งคุณอยากได้เงินเดือนที่เท่าไร แล้วเอามาหาร 20 จะได้เป็น man/day<br />
2. ลองคิดดูว่าจะใช้เวลากี่วันจึงจะทำให้งานเสร็จ เช่น หากไม่ใช้ Ajax ใช้เวลา 20 วัน แต่ถ้าใช้ Ajax ใช้เวลา 30 วัน แค่นี้เงินมันก็ไม่เท่ากันแล้ว<br />
3. ใส่ค่า Overhead ในการทำงานเข้าไปเช่น ค่าเดินทาง ค่าไฟ ค่าโทรศัพท์ ค่าปวดหัว ฯลฯ ส่วนมากแล้วจะคิดเป็น 30% ของ 2 ส่วนแรก<br />
4. เอาเงินที่ได้มาคูณกับ % ที่เราคิดว่าน่าจะเป็นกำไร เช่น อยากได้กำไร 30% ก็คูณเข้าไป</p>
<p>เ ท่านั้นก็จะได้ราคาโดยรวม ซึ่งราคานี้ยังไม่รวม Maintain นะครับ คุณต้องคิดต่อไปด้วยว่าจะคอยช่วย Support แก้งานอีกถึงเมื่อไร อาจจะแถมให้ Maintain ให้ 3 เดือน ก็เหมือนกับการการันตีของทั่วไป แต่หลังจากนั้นคิดเงินเป็นครั้งละ xxx บาท หรือเดือนละ xxx บาท ซึ่งโดยมากแล้วหากคิด support เป็นปีจะคิดเป็น 25% ของราคารวมครับ</p></blockquote>
<p>อันนี้ เอามาจาก <a target="_blank" href="http://www.narisa.com/forums/">forum narisa</a> โดยคุณ bomber ครับ</p>
<p>เมือลองไปดู website freelance ของทางเมืองนอกดู ก็ปรากฏว่าเขามีวิธีที่เป็นมาตราฐานอยู่หลายวิธีเหมือนกัน ผมรวมๆเอามาให้ได้ดังนี้ครับ</p>
<p><a id="more-13"></a></p>
<blockquote><p><em><strong>Formula 1 - The Basic Method</strong></em></p>
<p>Follow these steps to figure out what your hourly rate should be.</p>
<ol>
<li>Subtract nonproductive time from Annual Hours to get Billable Hours.</li>
<li>Add Salary and Overhead Together</li>
<li>Multiply Total By Profit Margin (10% - 20%)</li>
<li>Add Total (1) and Total (2) Together</li>
<li>Divide Total (3) by Billable Hours (the amount from #1)</li>
</ol>
<p>For example, if the following is true:</p>
<ul>
<li>Salary = $30,000</li>
<li>Annual Hours = 2,080</li>
<li>NonProductive Time = 500 hours</li>
<li>Profit Margin = 20%</li>
<li>Overhead = $15,000</li>
</ul>
<p>Then this is how you figure out the hourly rate:</p>
<ol>
<li>2,080 - 500 = 1,580</li>
<li>$30,000 + $15,000 = $45,000</li>
<li>$45,000 X 20% = $9,000</li>
<li>$45,000 + $9,000 = $54,000</li>
<li>$54,000 / 1,580 = $34 / hour</li>
</ol>
<p><em><strong>Formula 2 - The Easy Method</strong></em></p>
<p>This formula is the easiest of them all. However, I don&#8217;t recommend this formula unless you are a well-established professional. This isn&#8217;t the way to start out your freelance business &#8212; only very skilled freelancers can get away with this.</p>
<p>Ask yourself the following questions:</p>
<ol>
<li>How much money do you want to make on this project?</li>
<li>How many hours do you want to work?</li>
</ol>
<p>Now all you need to do is divide 1 by 2. It&#8217;s that simple! You now have your hourly rate.</p>
<p><em><strong>Formula 3 - Annual Costs and Annual Hours</strong></em></p>
<p>Use this formula if you need to set the rates for your entire business.</p>
<p>Add up all the costs you incur through your business on an annual basis (and don&#8217;t forget to factor into these your profit percentage), and divide this by the annual hours you work. This will give to you your pay rate.</p>
<ol>
<li>Salaries + Overhead = Annual Costs</li>
<li>Divide Annual Costs by Annual Hours Worked</li>
</ol>
<p>So for example, if the following is true:</p>
<ul>
<li>Salaries = $60,000</li>
<li>Overhead = $50,000</li>
<li>Annual Hours = 2,080</li>
</ul>
<p>Then this is how you figure out the hourly rate:</p>
<p>200,000 / 2,080 = $52 per hour</p>
<p><em><strong>Formula 4 - Pricing By Order Form</strong></em></p>
<p>To price by order form, you&#8217;ll need to use an order form to add up the cost of each ingredient in a project. I don&#8217;t recommend using this method unless you&#8217;re only designing simple sites that all have the same basic ingredients, otherwise, there can be too many variables in the project, which can prevent you using an order form. Here is an example of an order form you might use:</p>
<p><img width="538" height="557" alt="670orderform.gif" src="http://i2.sitepoint.com/graphics/Orderform.gif" /></p>
<p><em><strong>Formula 5 - Estimation By Project</strong></em></p>
<p>Most clients are going to want to hear how much the entire project is going to cost. Even if you have an hourly rate, this alone is probably not going to be acceptable to your future clients &#8212; you&#8217;ll need to justify the number of hours you plan to spend on their job. It takes practice, but you&#8217;ll need to learn how to break projects into individual tasks, in order to estimate how long the project is going to take (in hourly terms), and then charge accordingly. Be sure to find out what the client expects you to take care of &#8212; if they expect you to do everything, take this into account in your quote. Whatever the case, break the project into the following phases:</p>
<p><img width="542" height="343" alt="670byproject.gif" src="http://i2.sitepoint.com/graphics/ByProject.gif" /></p>
<p>Now visualize how many hours you feel each stage of the project is going to take, and total these hours to get a final figure.</p>
<p>Multiply your hourly rate (figured out from one of the above formulas) by the total estimated number of hours for project. The resulting amount forms your bid for the project.</p>
<p>So for example, if the following is true:</p>
<ul>
<li>Hourly Rate = $30</li>
<li>Total Estimated Project Hours = 50</li>
</ul>
<p>Then this is how you figure out how much to bid on a project:</p>
<p>$30 x 50 = $1,500</p>
<p>Make sure that your client is very clear about the scope of the project. You should write a clear contract to make sure that the outline of the project is mutually understood, otherwise the client may take advantage of you (or feel that you are trying to take advantage of them!).</p></blockquote>
<p>พอดีจำเว็ปที่มาไม่ได้แล้วครับ ต้องขอโทษที
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2007/01/18/how-to-charge-for-freelance-project/feed/</wfw:commentRss>
		</item>
		<item>
		<title>เพลง Code Monkey</title>
		<link>http://devmonkey.preeburan.com/2007/01/11/codemonkey/</link>
		<comments>http://devmonkey.preeburan.com/2007/01/11/codemonkey/#comments</comments>
		<pubDate>Thu, 11 Jan 2007 06:58:30 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>LiftStyle</category>

		<category>Developer</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2007/01/11/12/</guid>
		<description><![CDATA[พอดีวันนี้ไปพบเพลงเพลงนึงแล้วชอบมากๆครับ เนื่อเพลงโดนใจผมมากๆ แถมยังเข้ากับ theme ของ blog นี้พอดิบพอดี เพลงชื่อว่า Code Monkey แต่งโดยคุณ Jonathan Coulton ครับ ส่วน music vdo นี้ตัดต่อมาจากเกมส์ world of warcraft โดยคุณ Mike Spiff Booth โดยดูได้ ที่นี่

ส่วนต่อไปนี้เป็นเนื่อเพลงครับ

Code Monkey get up get coffee
Code Monkey go to job
Code Monkey have boring meeting
With boring manager Rob
Rob say Code Monkey very dilligent
But his output stink
His code not “functional” or [...]]]></description>
			<content:encoded><![CDATA[<p>พอดีวันนี้ไปพบเพลงเพลงนึงแล้วชอบมากๆครับ เนื่อเพลงโดนใจผมมากๆ แถมยังเข้ากับ theme ของ blog นี้พอดิบพอดี เพลงชื่อว่า Code Monkey แต่งโดยคุณ <a target="_blank" href="http://www.jonathancoulton.com/">Jonathan Coulton</a> ครับ ส่วน music vdo นี้ตัดต่อมาจากเกมส์ world of warcraft โดยคุณ Mike Spiff Booth โดยดูได้ <a target="_blank" href="http://www.youtube.com/watch?v=v4Wy7gRGgeA">ที่นี่</a></p>
<p><object width="425" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/v4Wy7gRGgeA"><param name="movie" value="http://www.youtube.com/v/v4Wy7gRGgeA" /><param name="wmode" value="transparent" /></object></p>
<p>ส่วนต่อไปนี้เป็นเนื่อเพลงครับ</p>
<p><a id="more-12"></a></p>
<p>Code Monkey get up get coffee<br />
Code Monkey go to job<br />
Code Monkey have boring meeting<br />
With boring manager Rob<br />
Rob say Code Monkey very dilligent<br />
But his output stink<br />
His code not “functional” or “elegant”<br />
What do Code Monkey think?<br />
Code Monkey think maybe manager want to write god damned login page himself<br />
Code Monkey not say it out loud<br />
Code Monkey not crazy, just proud</p>
<p>Code Monkey like Fritos<br />
Code Monkey like Tab and Mountain Dew<br />
Code Monkey very simple man<br />
With big warm fuzzy secret heart:<br />
Code Monkey like you</p>
<p>Code Monkey hang around at front desk<br />
Tell you sweater look nice<br />
Code Monkey offer buy you soda<br />
Bring you cup, bring you ice<br />
You say no thank you for the soda cause<br />
Soda make you fat<br />
Anyway you busy with the telephone<br />
No time for chat<br />
Code Monkey have long walk back to cubicle he sit down pretend to work<br />
Code Monkey not thinking so straight<br />
Code Monkey not feeling so great</p>
<p>Code Monkey like Fritos<br />
Code Monkey like Tab and Mountain Dew<br />
Code Monkey very simple man<br />
With big warm fuzzy secret heart:<br />
Code Monkey like you<br />
Code Monkey like you a lot</p>
<p>Code Monkey have every reason<br />
To get out this place<br />
Code Monkey just keep on working<br />
See your soft pretty face<br />
Much rather wake up, eat a coffee cake<br />
Take bath, take nap<br />
This job “fulfilling in creative way”<br />
Such a load of crap<br />
Code Monkey think someday he have everything even pretty girl like you<br />
Code Monkey just waiting for now<br />
Code Monkey say someday, somehow</p>
<p>Code Monkey like Fritos<br />
Code Monkey like Tab and Mountain Dew<br />
Code Monkey very simple man<br />
With big warm fuzzy secret heart:<br />
Code Monkey like you
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2007/01/11/codemonkey/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A MySQL Cheat Sheet</title>
		<link>http://devmonkey.preeburan.com/2007/01/10/a-mysql-cheat-sheet/</link>
		<comments>http://devmonkey.preeburan.com/2007/01/10/a-mysql-cheat-sheet/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 10:23:32 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>PHP</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2007/01/10/a-mysql-cheat-sheet/</guid>
		<description><![CDATA[เอาไปอีกอันครับ อันนี้ไว้อ้างอิงเวลาใช้ MySQL ครับ
read more &#124; digg story

]]></description>
			<content:encoded><![CDATA[<p>เอาไปอีกอันครับ อันนี้ไว้อ้างอิงเวลาใช้ MySQL ครับ</p>
<p><a href="http://www.ilovejackdaniels.com/cheat-sheets/mysql-cheat-sheet/">read more</a> | <a href="http://digg.com/programming/A_MySQL_Cheat_Sheet">digg story</a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2007/01/10/a-mysql-cheat-sheet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CSS Cheat Sheet เอาไว้อ้างอิงเวลาเขียน CSS</title>
		<link>http://devmonkey.preeburan.com/2007/01/10/a-handy-little-css-cheat-sheet/</link>
		<comments>http://devmonkey.preeburan.com/2007/01/10/a-handy-little-css-cheat-sheet/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 09:17:14 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>Web Creation</category>

		<category>Developer</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2007/01/10/a-handy-little-css-cheat-sheet/</guid>
		<description><![CDATA[เวลาจะเขียน CSS แต่ละทีนี่มันสับสนน่าดูเลยใช่ไหมอ่ะ มี syntax อะไรเต็มไปหมด อันไหนต้องก่อนอันไหนบ้างก็ไม่รู้ พิมพ์ Cheat Sheet อันนี้เอาไว้ดูสิครับ สะดวกดีมากเลยอ่ะ
read more &#124; digg story

]]></description>
			<content:encoded><![CDATA[<p>เวลาจะเขียน CSS แต่ละทีนี่มันสับสนน่าดูเลยใช่ไหมอ่ะ มี syntax อะไรเต็มไปหมด อันไหนต้องก่อนอันไหนบ้างก็ไม่รู้ พิมพ์ Cheat Sheet อันนี้เอาไว้ดูสิครับ สะดวกดีมากเลยอ่ะ</p>
<p><a href="http://lesliefranke.com/files/reference/csscheatsheet.html">read more</a> | <a href="http://digg.com/programming/A_Handy_Little_CSS_Cheat_Sheet">digg story</a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2007/01/10/a-handy-little-css-cheat-sheet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Text Editor สำหรับ Developer</title>
		<link>http://devmonkey.preeburan.com/2007/01/07/text-editor-for-developer/</link>
		<comments>http://devmonkey.preeburan.com/2007/01/07/text-editor-for-developer/#comments</comments>
		<pubDate>Sun, 07 Jan 2007 05:52:10 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>Developer</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2007/02/07/text-editor-for-developer/</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>อยากจะแนะนำ text editor อีกตัวหนึ่งสำหรับ ชาว developer ใช้กันครับ เห็นที่ dev. ชาวไทยเราหลายๆคนใช้กันอยู่ คงเป็น <a target="_blank" href="http://www.editplus.com/">editplus</a> วันนี้ จึงอยากมาแนะนำ text (code) editor ตัวอื่นๆกันบ้างครับ</p>
<p><img title="pspad" alt="pspad" src="http://www.pspad.com/banners/pspad_172x60.gif" />ตัวที่ผมใช้อยู่เป็นประจำและอยากแนะนำกันคือ <a target="_blank" href="http://www.pspad.com">PSPAD</a> ครับ เป็น text editor ที่ออกแบบมาสำหรับ software developer โดยเฉพาะครับ ที่สำคัญและทำให้ดีกว่า editplus คือ มันเป็น freeware ครับ ทำให้ผมสามารถ download มาใช้ได้ทุกที่ที่ต้องการ feature สำคัญๆ ต่างๆ ที่เคยใช้ใน editplus ก็มีหมด แถมยังมี code browser ให้สามารถเลือกดู function, class, tag ต่างๆใน source code ที่ทำงานอยู่ได้อีกด้วย</p>
<div><a rel="external" target="_blank" href="http://www.pspad.com/img/screen/codeexpl.png">           <img alt="codeexpl.png" src="http://www.pspad.com/img/screen/tn_codeexpl.jpg" /></a>    <a rel="external" target="_blank" href="http://www.pspad.com/img/screen/mainfull.png">           <img alt="mainfull.png" src="http://www.pspad.com/img/screen/tn_mainfull.jpg" /></a></div>
<p style="font-weight: bold">feature อื่นๆ ของ PSPAD</p>
<div>
<ul>
<li><strong>work with projects</strong></li>
<li>work with <strong>several documents</strong> at the same time (MDI)</li>
<li><strong>save desktop sessions</strong> to later reopen all session files</li>
<li><strong>FTP</strong> client - edit files directly from the web</li>
<li><strong>macro recorder</strong> to record, save and load macros</li>
<li>search and replace in files</li>
<li><strong>text difference</strong> with color-coded differences highlighted</li>
<li><strong>templates</strong> (HTML tags, scripts, code templates&#8230;)</li>
<li>installation contains templates for HTML, PHP, Pascal, JScript, VBScript, MySQL, MS-Dos, Perl,&#8230;</li>
<li><strong>syntax highlighting</strong> according to file type</li>
<li>user-defined highlighters for exotic environments</li>
<li>auto correction</li>
<li>intelligent internal HTML preview using <strong>IE</strong> and <strong>Mozilla</strong></li>
<li><strong>full HEX editor</strong></li>
<li>call different<strong> external programs</strong> for different environments</li>
<li>external compiler with output catcher, log window and log parser for an &#8220;IDE&#8221; effect in every environment</li>
<li>color syntax highlight printing and print preview</li>
<li>integrated <strong>TiDy library</strong> for formatting and checking HTML code, conversion to CSS, XML, XHTML</li>
<li>integrated free version of the top CSS editor <strong>TopStyle Lite</strong></li>
<li><strong>export</strong> with highlight to <strong>RTF, HTML, TeX</strong> format to file or clipboard</li>
<li>column block select, bookmarks, line numbers, &#8230;</li>
<li>reformat and compress HTML code, tag character case change</li>
<li>line sorting with ability to sort on defined columns and drop duplicates</li>
<li>ASCII chart with HTML entities</li>
<li>Code explorer for Pascal, C/C++, INI, HTML, XML, PHP and more in development</li>
<li><strong>spell checker</strong></li>
<li>internal web browser with APACHE support</li>
<li>matching bracket highlighting</li>
<li>&#8230;(many more features, too numerous to list)</li>
</ul>
</div>
<p>นอกจากนั้น ผมยังเอา ตารางเปรียบเทียบ คุณสมบัติของ text editor สำหรับ developer หลายๆเจ้ามาฝากครับ resource มาจาก <a target="_blank" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors">http://en.wikipedia.org/wiki/Comparison_of_text_editors</a></p>
<p><a id="more-20"></a></p>
<table width="100%" style="text-align: center; font-size: 8px; table-layout: fixed" class="wikitable">
<tr>
<th style="width: 12em"></th>
<th><a title="Syntax highlighting" href="http://en.wikipedia.org/wiki/Syntax_highlighting">Syntax highlighting</a></th>
<th>Multiple undo/redo</th>
<th>Rectangular block selection</th>
<th><a title="Bracket" href="http://en.wikipedia.org/wiki/Bracket">Bracket</a> matching</th>
<th>Auto indentation</th>
<th><a title="Autocomplete" href="http://en.wikipedia.org/wiki/Autocomplete">Auto completion</a></th>
<th><a title="Code folding" href="http://en.wikipedia.org/wiki/Code_folding">Code folding</a></th>
<th><a title="Text folding" href="http://en.wikipedia.org/wiki/Text_folding">Text folding</a></th>
<th><a title="Compiler" href="http://en.wikipedia.org/wiki/Compiler">Compiler</a> integration</th>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Acme</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Alpha</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Alphatk</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Aquamacs Emacs</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">BBEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">BDV Notepad</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Bluefish</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Boxer</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Crimson Editor</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">ConTEXT</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">CRiSP</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Cssed</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Diakonos</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">ed</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">EditPad Lite</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">EditPad Pro</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">EditPlus</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">gedit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes<small><sup class="plainlinksneverexpand" id="ref_plugin"><a rel="nofollow" title="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_plugin" class="external text" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_plugin">†</a></sup></small></td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">GridinSoft Notepad</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">GNU Emacs</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">JED</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">jEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">JOE</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Kate</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">KWrite</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">MadEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Metapad</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">mined</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes <small><sup class="plainlinksneverexpand" id="ref_minedHighlighting"><a rel="nofollow" title="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_minedHighlighting" class="external text" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_minedHighlighting">†</a></sup></small></td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Nano</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">NEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes<small><sup class="plainlinksneverexpand" id="ref_neditAutoComplete"><a rel="nofollow" title="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_neditAutoComplete" class="external text" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_neditAutoComplete">†</a></sup></small></td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Notepad</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Notepad++</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes <small><sup class="plainlinksneverexpand" id="ref_notepadPPAutoComplete"><a rel="nofollow" title="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_notepadPPAutoComplete" class="external text" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_notepadPPAutoComplete">†</a></sup></small></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Notepad2</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Notetab</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td><em><strong>?</strong></em></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">nvi</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Pico</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
<td><em><strong>?</strong></em></td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Professional Notepad</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">PSPad</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Scite</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">skEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">SlickEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">SubEthaEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td><em><strong>?</strong></em></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">TED Notepad</th>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">TextPad</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">TextMate</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes <small><sup class="plainlinksneverexpand" id="ref_textmateAutoComplete"><a rel="nofollow" title="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_textmateAutoComplete" class="external text" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#endnote_textmateAutoComplete">†</a></sup></small></td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-no" style="background: #ff9090 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">No</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">UltraEdit</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Vim</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">XEmacs</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th class="table-rh" style="background: #ececec none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; padding-left: 0.5em; font-weight: bold">Zeus</th>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
<td class="table-yes" style="background: #90ff90 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">Yes</td>
</tr>
<tr>
<th></th>
<th><a title="Syntax highlighting" href="http://en.wikipedia.org/wiki/Syntax_highlighting">Syntax highlighting</a></th>
<th>Multiple undo/redo</th>
<th>Rectangular block selection</th>
<th><a title="Bracket" href="http://en.wikipedia.org/wiki/Bracket">Bracket</a> matching</th>
<th>Auto indentation</th>
<th><a title="Autocomplete" href="http://en.wikipedia.org/wiki/Autocomplete">Auto completion</a></th>
<th><a title="Code folding" href="http://en.wikipedia.org/wiki/Code_folding">Code folding</a></th>
<th><a title="Text folding" href="http://en.wikipedia.org/wiki/Text_folding">Text folding</a></th>
<th><a title="Compiler" href="http://en.wikipedia.org/wiki/Compiler">Compiler</a> integration</th>
</tr>
</table>
<ul>
<li><cite style="font-style: normal" id="endnote_minedHighlighting"><a href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#ref_minedHighlighting"><strong>↑</strong></a></cite>  Highlighting for HTML/XML, Javascript, JSP.</li>
<li><cite style="font-style: normal" id="endnote_notepadPPAutoComplete"><a href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#ref_notepadPPAutoComplete"><strong>↑</strong></a></cite>  Supported via supplied/user-created lists.</li>
<li><cite style="font-style: normal" id="endnote_neditAutoComplete"><a href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#ref_neditAutoComplete"><strong>↑</strong></a></cite>  Plugin</li>
<li><cite style="font-style: normal" id="endnote_textmateAutoComplete"><a href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#ref_textmateAutoComplete"><strong>↑</strong></a></cite>  Supported in some language bundles</li>
<li><cite style="font-style: normal" id="endnote_plugin"><a href="http://en.wikipedia.org/wiki/Comparison_of_text_editors#ref_plugin"><strong>↑</strong></a></cite>  Functionality in plugins installed with gedit.</li>
</ul>
<p>ถ้าใคร editor ตัวอี่นแนะนำอย่างไร comment ไว้แบ่งบันกันได้เลยครับ
</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2007/01/07/text-editor-for-developer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>คำตอบ 20 อันดับแรก ที่เราเหล่า Programmer มักจะตอบทีม Test เมื่อโปรแกรมที่เราทำมีปัญหา</title>
		<link>http://devmonkey.preeburan.com/2006/12/15/top-20-replies-by-programmers-to-testers-when-their-programs-dont-work/</link>
		<comments>http://devmonkey.preeburan.com/2006/12/15/top-20-replies-by-programmers-to-testers-when-their-programs-dont-work/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 11:06:58 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>Developer</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2006/12/15/top-20-replies-by-programmers-to-testers-when-their-programs-dont-work/</guid>
		<description><![CDATA[นับถอยหลังกัน&#8230;&#8230;
20. &#8220;That&#8217;s weird&#8230;&#8221;
&#8220;แปลก&#8230;.&#8221;
19. &#8220;It&#8217;s never done that before.&#8221;
&#8220;ไม่เห็นมันเคยเป็นอย่างนั้นเลยนี่หว่า&#8221;
18. &#8220;It worked yesterday.&#8221;
&#8220;เฮ้ย เมื่อวานมันใช่ได้นะ&#8221;
17. &#8220;How is that possible?&#8221;
&#8220;เป็นไปได้ไงอ่ะ&#8221;
16. &#8220;It must be a hardware problem.&#8221;
&#8220;เครื่องนั้นมันเสียแหงมๆ&#8221;
15. &#8220;What did you type in wrong to get it to crash?&#8221;
&#8220;นายพิมพ์อะไรผิดอะดิ&#8221;
14. &#8220;There is something funky in your data.&#8221;
&#8220;Data ที่นายใช้ต้องมีไรแปลกๆไม่ปกติอะดิ&#8221;
13. &#8220;I haven&#8217;t touched that module in weeks!&#8221;
&#8220;เฮ้ย! กรูไม่ได้แตะต้องส่วนนั้นของโปรแกรมมาหลายอาทิตย์แล้วนะโว้ย (ไม่ใช่ความผิดกรูแน่ๆ)&#8221;
12. &#8220;You must have the wrong [...]]]></description>
			<content:encoded><![CDATA[<p>นับถอยหลังกัน&#8230;&#8230;<br />
20. &#8220;That&#8217;s weird&#8230;&#8221;<br />
&#8220;แปลก&#8230;.&#8221;</p>
<p>19. &#8220;It&#8217;s never done that before.&#8221;<br />
&#8220;ไม่เห็นมันเคยเป็นอย่างนั้นเลยนี่หว่า&#8221;</p>
<p>18. &#8220;It worked yesterday.&#8221;<br />
&#8220;เฮ้ย เมื่อวานมันใช่ได้นะ&#8221;</p>
<p>17. &#8220;How is that possible?&#8221;<br />
&#8220;เป็นไปได้ไงอ่ะ&#8221;</p>
<p>16. &#8220;It must be a hardware problem.&#8221;<br />
&#8220;เครื่องนั้นมันเสียแหงมๆ&#8221;</p>
<p>15. &#8220;What did you type in wrong to get it to crash?&#8221;<br />
&#8220;นายพิมพ์อะไรผิดอะดิ&#8221;</p>
<p>14. &#8220;There is something funky in your data.&#8221;<br />
&#8220;Data ที่นายใช้ต้องมีไรแปลกๆไม่ปกติอะดิ&#8221;</p>
<p>13. &#8220;I haven&#8217;t touched that module in weeks!&#8221;<br />
&#8220;เฮ้ย! กรูไม่ได้แตะต้องส่วนนั้นของโปรแกรมมาหลายอาทิตย์แล้วนะโว้ย (ไม่ใช่ความผิดกรูแน่ๆ)&#8221;</p>
<p>12. &#8220;You must have the wrong version.&#8221;<br />
&#8220;นายทดสอบผิดเวอร์ชั่นอ่ะเป่า&#8221;</p>
<p>11. &#8220;It&#8217;s just some unlucky coincidence.&#8221;<br />
&#8220;อ๋อ เพราะนายดวงไม่ดีอ่ะ ลองอีกทีไม่เป็นหรอก&#8221;</p>
<p>10. &#8220;I can&#8217;t test everything!&#8221;<br />
&#8220;มันก็ต้องเสียอ่ะดิ ตูไม่ได้ลองทุกอย่างนี่หว่า&#8221;</p>
<p><a id="more-8"></a> 9. &#8220;THIS can&#8217;t be the source of THAT.&#8221;<br />
&#8220;อันนี้ไม่ใช่สาเหตุของอันนั้นแหงมๆ&#8221; (แล้วอันนี้ อันนั้น มันอันไหนอ่ะ คนฟังจะเข้าใจไหมเนี่ย)<br />
8. &#8220;It works, but it hasn&#8217;t been tested.&#8221;<br />
&#8220;อันใช้ได้นะ แต่มันยังไม่ได้ทดสอบอ่ะ&#8221;</p>
<p>7. &#8220;Somebody must have changed my code.&#8221;<br />
&#8220;ต้องมีใครแอบแก้ code ผมแน่ๆ&#8221; (ก็เห็นนายทำอยู่คนเดียว จะมีใครมาแก้ได้ฟ่ะ)</p>
<p>6. &#8220;Did you check for a virus on your system?&#8221;<br />
&#8220;คุณตรวจไวรัสในเครื่องคุณอ่ะยัง&#8221;<br />
5. &#8220;Even though it doesn&#8217;t work, how does it feel?&#8221;<br />
&#8220;ต่อให้ตรงนั้นใช้ไม่ได้ แล้วคุณทำงานได้ไหม&#8221; (ถ้าได้กรูจะไ้้ด้ไม่ต้องซ่อม)</p>
<p>4. &#8220;You can&#8217;t use that version on your system.&#8221;<br />
&#8220;อ๋อ เวอร์ชั่นนั้นมันใช้กับระบบของคุณไม่ได้หนะครับ&#8221;<br />
3. &#8220;Why do you want to do it that way?&#8221;<br />
&#8220;ทำไมนายใช้แบบนั้นเล่า&#8221; (ก็เขาเป็น user เขาจำทำแบบไหนก็ต้องโปรแกรมตามเขาไม่ใช่เหรอ)</p>
<p>2. &#8220;Where were you when the program blew up?&#8221;<br />
&#8220;ตอนโปรแกรมทำงานไม่ได้ นายอยู่ตรงไหนเล่า&#8221; (ถ้านายคอยดูอยู่ตลอดมันก็ไม่พังแล้ว โด่)</p>
<p><span style="font-weight: bold">1. &#8220;It works on my machine&#8221;<br />
&#8220;บนเครื่องผมมันก็ใช้งานได้นี่&#8221; (ก็ผมเขียนไว้ใช้คนเดียวอ่ะ มีไรอ่ะป่ะ)<br />
</span></p>
<p><span style="font-weight: bold" /><br />
มาจาก <a href="http://underthesunz.blogspot.com/">http://underthesunz.blogspot.com/</a><br />
<a href="http://digg.com/programming/Top_20_replies_by_Programmers_to_Testers_when_their_programs_don_t_work" />
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2006/12/15/top-20-replies-by-programmers-to-testers-when-their-programs-dont-work/feed/</wfw:commentRss>
		</item>
		<item>
		<title>คู่มือการเลือกภาษาที่จะใช้โปรแกรม เปรียบเทียบกันแบบเห็นภาพไปเลย</title>
		<link>http://devmonkey.preeburan.com/2006/12/15/choose-a-programming-language-the-best-ever-guide-produced-to-date/</link>
		<comments>http://devmonkey.preeburan.com/2006/12/15/choose-a-programming-language-the-best-ever-guide-produced-to-date/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 11:02:08 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>Developer</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2006/12/15/choose-a-programming-language-the-best-ever-guide-produced-to-date/</guid>
		<description><![CDATA[Programming languages ในปัจจุบันนั้น มีมากมายจนยากที่จะตัดสินใจจะเลือกคบกับภาษาใด ในทางกลับกัน การที่ผู้ชายเราจะดูว่าเราจะเลือกคบกะสาวแบบไหนนั้นง่ายกว่ากันเยอะ ดังนั้นเราจะมาลองดูว่า ถ้าภาษาต่างๆเหล่านี้่เป็นสาวๆ จะเป็นสาวแบบใด

Assembler - สาวนักวิ่งผู้ครองสถิติโลกคนปัจจุบัน, เธอออกจะแข็งและหยาบกระด้างอยู่บ้าง เธอสามารถปรุงอาหารแบบใดให้คุณก็ได้ทุกประเภท ทุกชาติ แต่ก็ต่อเมือคุณมีคู่มือการทำอาหารนั้นแบบสุดยอดละเอียดเท่านั้น เธอไม่ได้สวยหรือมีการศึกษาดี สามารถคุยกับคุณได้แต่คำศัพท์พยางค์เดียวอย่าง &#8220;MOV, JUMP, INC&#8221;


COBOL - สาวเลขาหน้าห้อง, เธอพูดมาก และสิ่งที่เธอพูดส่วนมากไม่จำเป็นต้องสนใจ เธอทำงานได้หนัก และทำงานได้นานๆติดต่อกัน แต่เธอไม่สามารถทำอะไรที่ซับซ้อนเกินไปได้ เธออารมณ์ร้อน และ ไม่สามารถคาดเดาได้ ทำให้ไม่ค่อยมีใครอยากทำงานกับเธอ เธอสามารถทำอาหารให้กับครอบครัวใหญ่ๆได้สบาย แต่อาหารที่เธอทำได้ก็มีแต่พวกข้าวไข่เจียว


BASIC - แม่ม่ายสาวไฟแรงข้างบ้าน, เธอเก่งในการหว่านเสนห์ให้หนุ่มน้อยรู้สึกหลงไหล สอนให้หนุ่มๆเหล่านั้นหลายคนได้มีประสบการณ์ครั้งแรกที่ดี หรือต่อให้ไม่ค่อยดีมันก็ยังคงเป็นครั้งแรก หนุ่มน้อยเหล่านั้นอาจยังไม่มีสิ่งใดมาเปรียบเทียบ แต่เธอเองจะค่อนข้างมีอายุแล้ว แต่เธอจะยังคงเป็นครั้งแรกที่น่าจดจำของเหล่าหนุ่มน้อย ความสามารถในการอาหารของเธอนั้นแค่พอใช้ และส่วนใหญ่จะไม่ดีพอ  ที่น่าแปลกใจก็คือ คุณพ่อส่วนใหญ่จะยังคงแนะนำให้ลูกชายตัวเองได้รู้จักกับแม่ม่ายคนนี้ แต่คุณพ่อที่มีคุณธรรมบางคน จะแนะนำให้ลูกรู้จักกับสาวนิสัยดีอย่าง น้อง pascal มากกว่า


C - สาวนักบริหาร, สาวผู้กระฉับกระเฉง สุขภาพดี [...]]]></description>
			<content:encoded><![CDATA[<p>Programming languages ในปัจจุบันนั้น มีมากมายจนยากที่จะตัดสินใจจะเลือกคบกับภาษาใด ในทางกลับกัน การที่ผู้ชายเราจะดูว่าเราจะเลือกคบกะสาวแบบไหนนั้นง่ายกว่ากันเยอะ ดังนั้นเราจะมาลองดูว่า ถ้าภาษาต่างๆเหล่านี้่เป็นสาวๆ จะเป็นสาวแบบใด</p>
<ul>
<li><span style="font-weight: bold">Assembler</span> - สาวนักวิ่งผู้ครองสถิติโลกคนปัจจุบัน, เธอออกจะแข็งและหยาบกระด้างอยู่บ้าง เธอสามารถปรุงอาหารแบบใดให้คุณก็ได้ทุกประเภท ทุกชาติ แต่ก็ต่อเมือคุณมีคู่มือการทำอาหารนั้นแบบสุดยอดละเอียดเท่านั้น เธอไม่ได้สวยหรือมีการศึกษาดี สามารถคุยกับคุณได้แต่คำศัพท์พยางค์เดียวอย่าง &#8220;MOV, JUMP, INC&#8221;</li>
</ul>
<ul>
<li><span style="font-weight: bold">COBOL</span> - สาวเลขาหน้าห้อง, เธอพูดมาก และสิ่งที่เธอพูดส่วนมากไม่จำเป็นต้องสนใจ เธอทำงานได้หนัก และทำงานได้นานๆติดต่อกัน แต่เธอไม่สามารถทำอะไรที่ซับซ้อนเกินไปได้ เธออารมณ์ร้อน และ ไม่สามารถคาดเดาได้ ทำให้ไม่ค่อยมีใครอยากทำงานกับเธอ เธอสามารถทำอาหารให้กับครอบครัวใหญ่ๆได้สบาย แต่อาหารที่เธอทำได้ก็มีแต่พวกข้าวไข่เจียว</li>
</ul>
<ul>
<li><span style="font-weight: bold">BASIC</span> - แม่ม่ายสาวไฟแรงข้างบ้าน, เธอเก่งในการหว่านเสนห์ให้หนุ่มน้อยรู้สึกหลงไหล สอนให้หนุ่มๆเหล่านั้นหลายคนได้มีประสบการณ์ครั้งแรกที่ดี หรือต่อให้ไม่ค่อยดีมันก็ยังคงเป็นครั้งแรก หนุ่มน้อยเหล่านั้นอาจยังไม่มีสิ่งใดมาเปรียบเทียบ แต่เธอเองจะค่อนข้างมีอายุแล้ว แต่เธอจะยังคงเป็นครั้งแรกที่น่าจดจำของเหล่าหนุ่มน้อย ความสามารถในการอาหารของเธอนั้นแค่พอใช้ และส่วนใหญ่จะไม่ดีพอ  ที่น่าแปลกใจก็คือ คุณพ่อส่วนใหญ่จะยังคงแนะนำให้ลูกชายตัวเองได้รู้จักกับแม่ม่ายคนนี้ แต่คุณพ่อที่มีคุณธรรมบางคน จะแนะนำให้ลูกรู้จักกับสาวนิสัยดีอย่าง น้อง pascal มากกว่า</li>
</ul>
<ul>
<li><span style="font-weight: bold">C </span>- สาวนักบริหาร, สาวผู้กระฉับกระเฉง สุขภาพดี และไม่พูดมาก ทำกับข้าวเก่งโดยเฉพาะอาการเผ็ดๆ แต่เมื่อไหร่ที่คุณพูดอะไรโดยไม่คิด คุณจะทำให้เธอโมโหได้อย่างง่ายได้ น้องสายเธอ C++ นั้นอาจจะยังเด็กและไร้เดียงสา แต่ดูท่าทางเธอจะเติบโตเป็นผู้หญิงที่ดี ดูเป็นการเป็นงานมากกว่า และไม่อารมณ์ร้อนเหมือนพี่สาวเธอ</li>
</ul>
<ul>
<li><span style="font-weight: bold">Pascal </span>- คุณครูภาษาไทย, เธออาจจะสวยและน่ารัก แต่เธอจู้จี้และขี้บ่น เธอจะทำอาหารได้ดีก็ต่อเมื่อคุณจัดครัวให้เธออย่าเป็นระเบียบเท่านั้น</li>
</ul>
<ul>
<li><span style="font-weight: bold">LOGO</span> - คุณครูประถม, เธอเป็นคุณครูใจดีที่คุณจะอยากเป็นลูกศิษย์เมื่อตอนเด็ก เธอหลักแหลมและใจเย็น แต่เธออาจไม่ใช่คู่สนธนาที่น่าสนใจนัก เธอสามารถทำขนมแสนอร่อยให้เด็กๆกินได้ แต่เธอทำอาหารจานใหญ่ๆให้คุณไม่ได้หรอกนะ</li>
</ul>
<ul>
<li><span style="font-weight: bold">Java</span> -สาวท้วมอกโต, สามารถทำให้คุณได้ทุกอย่างแต่อย่างช้าๆนะ ไม่เคยบ่นไม่ว่าคุณจะต้องการแบบไหนบนเตียง ไม่ใช้ผู้หญิงเซ็กซี่แต่สามารถมอบความสุขให้คุณได้แบบไม่น่าเชื่อ ต่อให้คุณมีสาวๆให้ควงหลายคน สาวคนนี้ก็จะยังคงทำให้คุณต้องกลับไปหาเธอได้เสมอๆ</li>
</ul>
<ul>
<li><span style="font-weight: bold">PHP</span> - สาวหุ่นผอมเพรียว, พกพาไปไหนได้ง่าย สามารถสร้างความประหลาดใจให้แก่คุณได้ด้วยร่างกายเล็กๆของเธอ แม้จะไม่เซ็กส์ซี่แต่ก็สมส่วน เธอเป็นผู้หญิงแบบที่ผู้ชายอยากแต่งงานด้วย แต่คุณคงจำเป็นต้องจ้างแม่บ้านมาดูแลบ้าน เพราะเธอนั้นไม่สามารถทำงานหนักๆได้</li>
</ul>
<ul>
<li><span style="font-weight: bold">Ruby on Rails.</span> สาวหน้าใหม่ในเมือง, ทุกคนพูดถึงเธอ แต่ด้วยความที่เธอหน้าใหม่ มีแต่คนใจกล้ามากๆเท่านั้นที่จะกล้าชวนเธอคุย เธอดูดีและดูทันสมัย มีข่าวลือมากมายเกี่ยวกับความสามารถบนเตียงของเธอ แม่เธอจะไม่ค่อยพูดแต่ก็ดูเป็นสาวฉลาดมากๆทีเดียว</li>
</ul>
<ul>
<li><span style="font-weight: bold">C# </span>- สาวขี้โกงข้างบ้าน, เธอลอกทุกๆอย่าง ตั้งแต่สูตรอาหารยันการแต่งตัว เธอไม่เคยคิดอะไรเอง แต่ลอกความคิดสาวอีื่นแล้วบอกทุกคนว่าเป็นคนคิดเอง หนุ่มๆที่ไม่รู้ความจริงมักคิดว่าเธอฉลาดมาก เธอเป็นคนพูดมากและชอบแสดงออก แต่ก็มีบางทีที่เธอสามารถทำสิ่งที่เธอลอกได้ดีมากกว่าคนต้นคิดจริงๆมากนัก</li>
</ul>
<p><script type="text/javascript" xsrc="http://www.kudd.net/api/check_url.js.php"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2006/12/15/choose-a-programming-language-the-best-ever-guide-produced-to-date/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP Frameworks</title>
		<link>http://devmonkey.preeburan.com/2006/11/18/rails-inspired-php/</link>
		<comments>http://devmonkey.preeburan.com/2006/11/18/rails-inspired-php/#comments</comments>
		<pubDate>Sat, 18 Nov 2006 08:55:34 +0000</pubDate>
		<dc:creator>devmonkey</dc:creator>
		
		<category>PHP</category>

		<guid isPermaLink="false">http://devmonkey.preeburan.com/2006/11/18/rails-inspired-php/</guid>
		<description><![CDATA[มี Programmer หลายคนที่มักพูดว่า PHP เป็นเพียง web script ธรรมดาที่ไม่สามารถนำมาใฃ้ในการเป็น Enterprise Application ใหญ่ได้ และมักดูถูกภาษา PHP อยู่เสมอ นั่นเป็นความจริงเพียงบางส่วนเท่านั้น
สิ่งสำคัญสิ่งหนึ่งที่ PHP ไม่มีเหมือน JSP หรือ .NET ก็คือ มันไม่มีมาตรฐาน framework ที่กำหนดข้อบังคับในการเขียนโปรแกรม ทำให้การ maintain application ใหญ่นั้น ยุ่งยากและซับซ้อนเป็นอย่างยิ่ง
แต่ปัจจุบันนั้น ได้มี framwork หลายตัวกำเนิดขึ้นมา ทำให้การสร้าง application ใหญ่ๆด้วย PHP นั้น สามารถทำได้ง่ายดายยิ่งกว่า การเขียนด้่วย JSP หรือ ภาษาอื่นๆนัก
Frameworks ที่ผมอยากแนะนำ เหล่าีนี้ ส่วนใหญ่มีต้นแบบมาจาก Ruby on Rails ซึ่งถือว่าเป็น web application framwork ที่โด่งดังที่สุดในโลกตอนนี้
แล้วทำไมผมไม่ใช้ Ruby เขียนเลยละ [...]]]></description>
			<content:encoded><![CDATA[<p>มี Programmer หลายคนที่มักพูดว่า PHP เป็นเพียง web script ธรรมดาที่ไม่สามารถนำมาใฃ้ในการเป็น Enterprise Application ใหญ่ได้ และมักดูถูกภาษา PHP อยู่เสมอ นั่นเป็นความจริงเพียงบางส่วนเท่านั้น</p>
<p>สิ่งสำคัญสิ่งหนึ่งที่ PHP ไม่มีเหมือน JSP หรือ .NET ก็คือ มันไม่มีมาตรฐาน framework ที่กำหนดข้อบังคับในการเขียนโปรแกรม ทำให้การ maintain application ใหญ่นั้น ยุ่งยากและซับซ้อนเป็นอย่างยิ่ง</p>
<p>แต่ปัจจุบันนั้น ได้มี framwork หลายตัวกำเนิดขึ้นมา ทำให้การสร้าง application ใหญ่ๆด้วย PHP นั้น สามารถทำได้ง่ายดายยิ่งกว่า การเขียนด้่วย JSP หรือ ภาษาอื่นๆนัก<img class="left" style="float: left" src="http://www.h3rald.com/img/pictures/rails.gif" /></p>
<p>Frameworks ที่ผมอยากแนะนำ เหล่าีนี้ ส่วนใหญ่มีต้นแบบมาจาก Ruby on Rails ซึ่งถือว่าเป็น web application framwork ที่โด่งดังที่สุดในโลกตอนนี้</p>
<p>แล้วทำไมผมไม่ใช้ Ruby เขียนเลยละ อ่ะ.. ก็ผมถนัด PHP นี่ครับ และอย่างไร PHP ก็ืถือเป็นภาษาที่นิยมที่สุดบน web และมีผู้ support มากที่สุด (ไม่เชือลองหา hosting ที่ support Ruby ในประเทศไทยดูดิ)</p>
<p>Frameworks ที่ผมนำมาแนะนำวันนี้ 6 ยี่ห้อ นำมาจาก web ของ H3RALD.COM ซึ่งได้เปรียบเทียบข้อดีข้อเสียของแต่ละ frameworks ได้อย่างเข้าใจง่ายมาก</p>
<h3><a id="more-4"></a></h3>
<p>CakePHP</p>
<p><img class="right" style="float: right" src="http://www.h3rald.com/img/pictures/CakePHP_1.0.png" /> <strong>Website:</strong> <a href="http://www.cakephp.org/">www.cakephp.org</a><br />
<strong>PHP version:</strong> <span class="caps">PHP4 </span>and <span class="caps">PHP5</span><br />
<strong>License:</strong> <span class="caps">MIT</span><sup class="footnote"><a href="http://www.h3rald.com/articles/view/rails-inspired-php-frameworks/#fn5">5</a></sup><br />
<strong>Download size (.tar.gz):</strong> 184KB<br />
<strong>Supported Databases:</strong> MySQL, PostgreSQL, SQlite, MS <span class="caps">SQL </span>+ any other supported by <span class="caps">ADO</span>db or <span class="caps">PEAR</span>::DB database abstraction layers<br />
<strong>Beginner’s Tutorial</strong>: <a href="http://wiki.cakephp.org/tutorials:blog_tutorial_-_1">Blog Tutorial</a></p>
<p><strong>Official Description:</strong><br />
<em>“Cake is a rapid development framework for <span class="caps">PHP </span>which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and <span class="caps">MVC.</span> Our primary goal is to provide a structured framework that enables <span class="caps">PHP </span>users at all levels to rapidly develop robust web applications, without any loss to flexibility.”</em></p>
<p><strong>PROs:</strong></p>
<ul>
<li>Lightweight, not bloated, containing only essential code</li>
<li>Runs both on <span class="caps">PHP4 </span>and <span class="caps">PHP5</span></li>
<li>No configuration needed - except for a stupidly short database configuration file and a few constants which <em>can</em> be modified. You can literally start baking in less than five minutes</li>
<li>Extended table association support, allowing the creation of complex database architechtures</li>
<li>Extremely logical and functional directory structure: better than Rails, if you ask me.</li>
<li>Enhanced <span class="caps">AJAX </span>support through the <span class="caps">AJAX </span>and Javascript view helpers</li>
<li>useful “bake” command line script to generate parts of the  code automatically</li>
<li>Very active community and plenty of <em>satellite sites</em></li>
<li>Suitable for every kind of website, from the small personal site to the advanced e-business application.</li>
</ul>
<p><strong>CONs:</strong></p>
<ul>
<li>No “official” internationalization support for now, but it will be included in the next milestone.</li>
<li>It does not take fully advantage of <span class="caps">PHP5 </span>features</li>
<li>Official documentation still needs some some improvement, although now it seems pretty complete and exhaustive.</li>
</ul>
<p><strong>Comments:</strong><br />
CakePHP is my personal favorite: easy to learn, easy to use,multi-purpose and not bloated. Cake’s philosophy is not to include unnecessary code in the framework unless it’s absolutely necessary for the framework itself, as a result, 3rd-party libraries are not included in the official releases, but may be seamlessly integrated with the framework <em>if developers need them</em>.<br />
Cake’s success is partly determined - at least initially - by the fact that it can run fine with no limitations on <span class="caps">PHP4, </span>while other similar frameworks don’t. Although this may still be one of its most obvious strengths, it must be said that Cake seems to go in the right direction, taking only the best from Rails, without forcing developers into complex and pointless adaptations, and evolving into a great framework created <em>in <span class="caps">PHP, </span>for <span class="caps">PHP</span></em>.</p>
<p><em>DevMonkey Comment: CakePHP เป็น framework ที่ผมใช้ทำงานอยู่เป็นประจำ ยังไงผมจะเล่ารายละเอียดของ framework นี้ใน blogs ต่อๆไปของผมครับ </em>Symfony</p>
<p><img class="right" style="float: right" src="http://www.h3rald.com/img/pictures/symfony.gif" /> <strong>Website:</strong> <a href="http://www.symfony-project.com/">www.synfony.project.com</a><br />
<strong>PHP version:</strong> <span class="caps">PHP5</span><br />
<strong>License:</strong> Symfony<sup class="footnote"><a href="http://www.h3rald.com/articles/view/rails-inspired-php-frameworks/#fn6">6</a></sup><br />
<strong>Download size (.tgz):</strong> 1255KB<br />
<strong>Supported Databases:</strong> MySQL, PostgreSQL, <span class="caps">SQL</span>ite, Oracle, MS <span class="caps">SQL </span>+ any other supported by Creole database abstraction layer<br />
<strong>Beginner’s Tutorial</strong>: <a href="http://www.symfony-project.com/tutorial/my_first_project.html">My first project</a></p>
<p><strong>Official Description:</strong><br />
<em>“Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure. […]</em><br />
<em>Symfony is an object-oriented <span class="caps">PHP5 </span>framework based on the <span class="caps">MVC </span>model. Symfony allows for the separation of business rules, server logic and presentation views of a web application. It also contains numerous tools and classes aimed at shortening the development time of a complex web application.”</em></p>
<p><strong>PROs:</strong></p>
<ul>
<li>Fully featured framework, includes everything you might ever need (see <span class="caps">CON</span>s, below)</li>
<li>Full native internationalization support</li>
<li>Truly excellent documentation, tutorials, wiki, book, screencasts, <span class="caps">API, </span>real-world examples, etc. etc.</li>
<li>Code generators</li>
<li>Various “pre-built” modules/libraries for the most common tasks</li>
<li>It was not inspired only by Rails, but borrows concepts and practices from various other frameworks</li>
<li>Good community support</li>
</ul>
<p><strong>CONs:</strong></p>
<ul>
<li>Seems too big compared to the others, too many “extras” which may not be useful to <em>all</em> developers</li>
<li><span class="caps">PHP5 </span>only</li>
<li>Confusing and disorganized directory structure</li>
<li>Uses too many configuration files, not suitable for <em>simple</em> projects</li>
<li>Steep learning curve</li>
</ul>
<p><strong>Comments:</strong><br />
Symfony is really an interesting framework: it’s perhaps the most <em>complete</em> in terms for features and documentation. The only problem I have with it is that it just seems too complex and rather difficult to learn if compared to the others, which can do <em>almost</em> the same things (or will soon be able to) in a <em>MUCH</em> simpler way. A nice blend of <span class="caps">MVC, </span>pre-built components, command line generators and <span class="caps">YAML</span>/Propel configuration files, but perhaps a bit <em>disorganized</em> in its internal structure, unlike its wonderful documentation and support section.</p>
<p><span class="caps">PHP </span>on Trax</p>
<p><img class="right" style="float: right" src="http://www.h3rald.com/img/pictures/phpontrax.jpg" /> <strong>Website:</strong> <a href="http://www.phpontrax.com/">www.phpontrax.com</a><br />
<strong>PHP version:</strong> <span class="caps">PHP5</span><br />
<strong>License:</strong> <span class="caps">MIT</span><br />
<strong>Download size (.tgz):</strong> 843KB<br />
<strong>Supported Databases:</strong> Any database supported by <span class="caps">PEAR</span>::DB<br />
<strong>Beginner’s Tutorial</strong>: <a href="http://svn.phpontrax.com/wiki/HowToCreateATraxApplication">How to create a Trax application</a></p>
<p><strong>Official Description:</strong><br />
<em>“Php On Trax (formerly Php On Rails) is a web-application and persistance framework that is based on Ruby on Rails and includes everything needed to create database-backed web-applications according to the Model-View-Control pattern of separation.”</em></p>
<p><strong>PROs:</strong></p>
<ul>
<li>Simple, logical, essential: a true RoR port to <span class="caps">PHP5</span></li>
<li>Code generators, like Rails</li>
<li>Zero configuration (like Rails and Cake</li>
<li>Easy and logical directory structure (the same as Rails)</li>
<li>Supports table associations, but more in a way which is more similar to Ruby on Rails than Cake.</li>
</ul>
<p><strong>CONs:</strong></p>
<ul>
<li>Lack of documentation compared to the others</li>
<li>Trying to port Ruby on Rails to <span class="caps">PHP, </span>ignoring why RoR was not built in <span class="caps">PHP </span>in the first place<sup class="footnote"><a href="http://www.h3rald.com/articles/view/rails-inspired-php-frameworks/#fn7">7</a></sup></li>
<li>No internationalization or other advanced functionalities</li>
<li><span class="caps">PHP5 </span>only</li>
<li>Small community</li>
<li><span class="caps">DBO </span>class based only on <span class="caps">PEAR</span>::DB</li>
</ul>
<p><strong>Comments:</strong><br />
In my opinion this project aims too much to be a Rails-clone to acquire a proper consensus. Trying to port something to another language is not good, especially in the case of Rails and Ruby. This framework looks somehow like an old version of CakePHP, which evolved slightly but always remained anchored to its beliefs of building a Rails port for <span class="caps">PHP </span>(even in the name!). Some may say that this is a lost battle since the beginning - or better, since before it started - but others found that <span class="caps">PHP </span>on Trax can be the easiest way to switch from Ruby on Rails to a <span class="caps">PHP </span>equivalent. Who is going to do that? Well, Ruby programmers <em>forced</em> to develop in <span class="caps">PHP, </span>maybe. Not too good, but not too bad either.</p>
<h3>Code Igniter</h3>
<p><img class="right" style="float: right" src="http://www.h3rald.com/img/pictures/codeigniter.jpg" /> <strong>Website:</strong> <a href="http://www.codeigniter.com/">www.codeigniter.org</a><br />
<strong>PHP version:</strong> <span class="caps">PHP4 </span>and <span class="caps">PHP5</span><br />
<strong>License:</strong> CodeIgniter<sup class="footnote"><a href="http://www.h3rald.com/articles/view/rails-inspired-php-frameworks/#fn8">8</a></sup><br />
<strong>Download size (.zip):</strong> 609KB<br />
<strong>Supported Databases:</strong> MySQL, PostgreSQL, <span class="caps">SQL</span>ite, MySQLi, MS <span class="caps">SQL </span>+ <span class="caps">ODBC</span><br />
<strong>Beginner’s Tutorial</strong>: <a href="http://www.codeigniter.com/videos/ci_intro.mov">Hello World! Introduction to Code Igniter</a> [video]</p>
<p><strong>Official Description:</strong><br />
<em>“Code Igniter is an Open Source Web Application Framework that makes writing kick-ass <span class="caps">PHP </span>programs simple as apple pie. […] Designed to enable, not overwhelm, Code Igniter is a powerful <span class="caps">PHP </span>framework with a very small footprint, built for <span class="caps">PHP </span>coders who need a simple and elegant toolkit to create full-featured web applications.</em><br />
<em>If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks that require rocket science to understand, Code Igniter might just be the right tool for you.”</em></p>
<p><strong>PROs:</strong></p>
<ul>
<li>Good and organized documentation</li>
<li>Zero configuration (like Rails and Cake)</li>
<li>Includes various classes and libraries for common tasks</li>
<li>Compatible with <span class="caps">PHP4 </span>and <span class="caps">PHP5</span></li>
<li>Medium-sized community</li>
<li>Intuitive directory structure</li>
<li>Ships with the full user guide included in separate <span class="caps">HTML </span>files</li>
</ul>
<p><strong>CONs:</strong></p>
<ul>
<li>No full (“written”) tutorials except the videos!</li>
<li>Relatively new to the scene, but growing</li>
<li>Does not seem to support table associations.</li>
</ul>
<p><strong>Comments:</strong><br />
People on the Net seem to be rather enthusiastic about this framework: where there’s a thread about the <em>big ones</em> (Cake and Symfony), there’s always, someone who pops in suggesting to try out Code Igniter. I personally think this can be a true bless for small/medium sized projects, however, I’d opt for CakePHP or Symfony for a large scale application: something is missing, e.g., most notably, table associations.</p>
<h3>Biscuit</h3>
<p><img class="right" style="float: right" src="http://www.h3rald.com/img/pictures/biscuit.gif" /> <strong>Website:</strong> <a href="http://biscuitproject.tigris.org/">biscuitproject.tigris.org</a><br />
<strong>PHP version:</strong> <span class="caps">PHP4 </span>and <span class="caps">PHP5</span><br />
<strong>License:</strong> <span class="caps">MIT</span><sup class="footnote"><a href="http://www.h3rald.com/articles/view/rails-inspired-php-frameworks/#fn5">5</a></sup><br />
<strong>Download size (.zip):</strong> 240KB<br />
<strong>Supported Databases:</strong> Any database supported by <span class="caps">PEAR</span>::DB<br />
<strong>Beginner’s Tutorial</strong>: <a href="http://bennolan.com/biscuit/tutorial.html">Creating a simple application using the Biscuit <span class="caps">MVC </span>framework</a></p>
<p><strong>Official Description:</strong><br />
<em>“The mission of this project is to port Ruby on Rails to <span class="caps">PHP5 </span>(minus the Ruby part <img src='http://devmonkey.preeburan.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ”</em></p>
<p><strong>PROs:</strong></p>
<ul>
<li>Zero configuration, easy to deploy</li>
<li>Runs both on <span class="caps">PHP4 </span>and <span class="caps">PHP5</span></li>
<li>Simple to learn</li>
</ul>
<p><strong>CONs:</strong></p>
<ul>
<li>Still under development and incomplete</li>
<li>Offers a limited subset of the features and functionalities offered by competitors: no internationalization, no table associations, no scaffolding…</li>
<li><em>“Documentation coming soon”</em></li>
<li>Almost non-existent community</li>
</ul>
<p><strong>Comments:</strong><br />
This project started as an attempt to create something simpler than CakePHP and more similar to Rails. I’m not sure whether the project is still active or not, since the last “release” on the former’s developer site is dated August 2005. Still in early stage - or dead.</p>
<h3>Pipeline</h3>
<p><img class="right" style="float: right" src="http://www.h3rald.com/img/pictures/livepipe.jpg" /> <strong>Website:</strong> <a href="http://livepipe.net/pipeline/">livepipe.net/pipeline/</a><br />
<strong>PHP version:</strong> <span class="caps">PHP5</span><br />
<strong>License:</strong> Pipeline<sup class="footnote"><a href="http://www.h3rald.com/articles/view/rails-inspired-php-frameworks/#fn9">9</a></sup><br />
<strong>Download size (.zip):</strong> 288KB<br />
<strong>Supported Databases:</strong> <span class="caps">SQL</span>ite<br />
<strong>Beginner’s Tutorial</strong>: none</p>
<p><strong>PROs:</strong></p>
<ul>
<li>Simple directory structure</li>
<li>Suitable for small projects</li>
<li>Comes with various ready-made components</li>
<li>Supports table relationships</li>
</ul>
<p><strong>CONs:</strong></p>
<ul>
<li><span class="caps">PHP5</span>-only</li>
<li>Too restrictive: only <span class="caps">SQL</span>ite supported, <em>kindly suggests</em> developers to use its built-in features only</li>
<li>No documentation or tutorials, just the <span class="caps">API </span></li>
<li>Not suitable for large projects</li>
<li>Almost non-existent community</li>
</ul>
<p><strong>Comments:</strong><br />
This project mainly borrowed the <span class="caps">MVC </span>architecture and some basic concepts from Rails, creating a simple <span class="caps">PHP5 </span>framework with personal/small websites in mind: it offers various built-in components which can be handy to most of us, supports <em>only</em> <span class="caps">SQL</span>ite, and basically tells developers what to do. In my opinion it’s not flexible enough to be compared to the others, and it’s simply not suitable for anything other than small websites.</p>
<h3>Conclusions</h3>
<p>My favorite framework still remains CakePHP, it’s simple and yet powerful, easy to learn and use, mature, well supported and continuously improving. Symfony - at the moment - seems to be the one with most features and the best documentation, and it is an excellent and well supported project. The only problem I have with it is the scary amount of configuration files necessary to create an application: CakePHP doesn’t need any and can be used for (almost?) equally complex projects.<br />
Although I didn’t have a chance to try them out, <span class="caps">PHP </span>on Trax is certainly the most faithful port of Ruby on Rails to <span class="caps">PHP, </span>but it lacks some of the features CakePHP and Symfony offer. Code Igniter may not be as advanced as the others, but its community seems to grow and its simplicity may appeal more users in the future…</p>
<p>At any rate, developers should <em>always</em> choose the best framework for their needs: I tried to write a quick comparative analysis of these six Rails’ “PHP children”, now it’s <em>your</em> turn, try out some of them, if you choose wisely you won’t be disappointed.</p>
<h3>Notes</h3>
<p class="footnote" id="fn1"><sup>1</sup> They are all distributed according to various Open Source licenses.</p>
<p class="footnote" id="fn2"><sup>2</sup> <a href="http://www.rubyonrails.org/">Ruby on Rails</a> - Ruby framework for web development</p>
<p class="footnote" id="fn3"><sup>3</sup> <a href="http://www.cakephp.org/">CakePHP</a> - Rapid [PHP] Development Framework</p>
<p class="footnote" id="fn4"><sup>4</sup> <a href="http://www.h3rald.com/articles/view/cakephp">CakePHP - A ‘tasty’ solution for <span class="caps">PHP </span>programming</a>, originally published on <a href="http://www.zzine.org/articles/cakephp">zZine Magazine</a></p>
<p class="footnote" id="fn5"><sup>5</sup> Open Source <a href="http://www.opensource.org/licenses/mit-license.php"><span class="caps">MIT</span> License</a>.</p>
<p>Symfony License:<br />
<small /></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small></small></small></small></p>
<p><small> </small></p>
<blockquote><p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small>Copyright © 2004-2006 Fabien Potencier<br />
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</small></small></small></small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small><span class="caps"><small><small><small><small>THE SOFTWARE</small></small></small></small></span><small><small><small><small> IS <span class="caps">PROVIDED </span>“AS IS”, <span class="caps">WITHOUT WARRANTY</span> OF <span class="caps">ANY KIND, EXPRESS</span> OR <span class="caps">IMPLIED, INCLUDING BUT NOT LIMITED</span> TO <span class="caps">THE WARRANTIES</span> OF <span class="caps">MERCHANTABILITY, FITNESS FOR</span> A <span class="caps">PARTICULAR PURPOSE AND NONINFRINGEMENT.</span> IN NO <span class="caps">EVENT SHALL THE AUTHORS</span> OR <span class="caps">COPYRIGHT HOLDERS</span> BE <span class="caps">LIABLE FOR ANY CLAIM, DAMAGES</span> OR <span class="caps">OTHER LIABILITY, WHETHER</span> IN AN <span class="caps">ACTION</span> OF <span class="caps">CONTRACT, TORT</span> OR <span class="caps">OTHERWISE, ARISING FROM, OUT</span> OF OR IN <span class="caps">CONNECTION WITH THE SOFTWARE</span> OR <span class="caps">THE USE</span> OR <span class="caps">OTHER DEALINGS</span> IN <span class="caps">THE SOFTWARE.</span></small></small></small></small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small></small></small></small></p>
<p><small> </small></p></blockquote>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small></small></small></small></p>
<p><small> </small></p>
<p class="footnote" id="fn7"><small><small><small><small><small><small><small><small><small><small><small><small><sup>7</sup> Read the comments by David Heinemeier Hansson on <a href="http://www.37signals.com/svn/archives/000606.php">Ruby on Rails to Basecamp</a></small></small></small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small></small></small></small></p>
<p><small> </small></p>
<p class="footnote" id="fn8"><small><small><small><small><small><small><small><small><small><small><small><small><sup>8</sup> CodeIgniter <a href="http://www.codeigniter.com/user_guide/license.html">License Agreement</a></small></small></small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small><small><small><small><small> </small></small></small></small></small></small></small></p>
<p><small> </small><small><small><small><small> </small></small></small></small></p>
<p><small> </small></p>
<p class="footnote" id="fn9"><small><small><small><small><small><small><small><small><small><small><small><small><sup>9</sup> Pipeline is licensed under the same terms as the Symfony framework [Copyright © 2006 Picora Pipeworks <span class="caps">LLC</span>].</small></small></small></small></small></small></small></small></small></small></small></small></p>
]]></content:encoded>
			<wfw:commentRss>http://devmonkey.preeburan.com/2006/11/18/rails-inspired-php/feed/</wfw:commentRss>
<enclosure url='http://www.codeigniter.com/videos/ci_intro.mov' length='16458364' type='video/quicktime'/>
		</item>
	</channel>
</rss>
