<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>instcode&#039;s blog</title>
	<atom:link href="http://instcode.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://instcode.wordpress.com</link>
	<description>Uh oh, there&#039;s a little white puffy cloud is drifting across the blue sky... I have found you, my love!</description>
	<lastBuildDate>Fri, 18 Dec 2009 17:55:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='instcode.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>instcode&#039;s blog</title>
		<link>http://instcode.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://instcode.wordpress.com/osd.xml" title="instcode&#039;s blog" />
	<atom:link rel='hub' href='http://instcode.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Invisible là một nghệ sĩ!!!</title>
		<link>http://instcode.wordpress.com/2008/01/21/invisible-la-mot-nghe-si/</link>
		<comments>http://instcode.wordpress.com/2008/01/21/invisible-la-mot-nghe-si/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 02:18:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[computer]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2008/01/21/invisible-la-mot-nghe-si/</guid>
		<description><![CDATA[Mẫu câu &#8220;XXX là một nghệ thuật mà YYY là một nghệ sĩ&#8221; được sử dụng khá rộng rãi trong nhiều lĩnh vực, riêng về lĩnh vực &#8220;coding&#8221; thì tạm thời có một câu &#8220;Coding là một nghệ thuật mà coder là một nghệ sĩ&#8221;&#8230; Và thật đáng tiếc, Invisible đã tự phong cho mình [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=1757&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mẫu câu &#8220;XXX là một nghệ thuật mà YYY là một nghệ sĩ&#8221; được sử dụng khá rộng rãi trong nhiều lĩnh vực, riêng về lĩnh vực &#8220;coding&#8221; thì tạm thời có một câu &#8220;Coding là một nghệ thuật mà coder là một nghệ sĩ&#8221;&#8230; Và thật đáng tiếc, Invisible đã tự phong cho mình là nghệ sĩ khá lâu rồi!</p>
<p>Hôm nay, mặc dù vẫn quanh quẩn bên sự nghiệp coding, nhưng lại khác&#8230; Cho nên, hãy quên đi việc Invisible là nghệ sĩ, cho đến khi đọc hết blog này&#8230;</p>
<p>Là coder, một khi đã đeo đuổi sự nghiệp coding, dòng máu nghệ sĩ sẽ theo đó mà len lỏi vào mọi ngõ ngách của mỗi dòng code viết ra&#8230; Lúc này, việc đặt tên cho các identifier (project, class, method, variable&#8230;) sao cho &#8220;nghệ thuật&#8221; cũng làm đau đầu các &#8220;nghệ sĩ&#8221;&#8230; Với hiểu biết nông cạn của Invisible, blog này chỉ tập trung vào những từ viết tắt liên quan đến máy tính&#8230; Mà cũng ko phải, Invisible chỉ liệt kê ra đây một vài quy tắc đặt tên mà bản thân tâm đắc nhất&#8230;</p>
<p>1. Bạn biết bao nhiêu từ viết tắt có 3 ký tự? Có ai kô biết CPU? Ai không biết DVD? Ai biết EOF?&#8230; Với geek/nerd thì họ có thể liệt kê hàng chục ngàn từ, nhưng nếu ai dạng cùi cùi như Invisible thì khoảng vài chục từ là chấp nhận được rồi&#8230; Do đó, kể ra đây thì khá nhiều, nhưng bà con mình ít nhất phải biết TLA là gì! TLA là gì? Là &#8220;Three Letter Acronym&#8221;&#8230; TLA là ví dụ của chính định nghĩa của hắn!</p>
<p>2. Bạn có biết kỹ thuật qui nạp trong toán học kô? Bạn biết đệ qui hông? Qui tắc độc đáo thứ 2 chính là dùng kỹ thuật đó&#8230; Số lượng này ko nhiều, nhưng nếu là mê máy tính cỡ Invisible, phải biết ít nhất một số đứa nổi tiếng:</p>
<ul>
<li>GNU ~ GNU is Not Unix ~ Ah, nó muốn nhấn mạnh: GNU is Not Unix, is Not Unix, is Not Unix&#8230;</li>
<li> WINE ~ Wine Is Not an Emulator ~ Ngày xưa nó thật sự là một emulator (WINdow Emulator), theo dòng thời gian, với những tính năng mới, nó đã vượt ra ngoài một Emulator, và bố cáo thiên hạ là: Tao hông phải là một emulator thôi đâu!!</li>
<li> LAME ~ LAME Ain&#8217;t an MP3 Encoder ~ LAME đơn giản muốn khoe ngoài là một &#8220;MP3 Encoder&#8221;, hắn có thể làm hơn vậy nữa!!</li>
<li> RPM ~ RPM Package Manager ~ Àh, nó được xem như là &#8220;Redhat Package Manager&#8221;, nhưng khi distro nào cũng có thể sử dụng nó, cho nên nó trở thành một &#8220;Package Manager&#8221; và đệ qui chính bản thân nó&#8230;</li>
</ul>
<p>3. Qui tắc còn lại mà Invisible cũng tâm đắc, đó là tiếp đầu ngữ &#8220;Yet Another&#8221;! Nổi bật trong đám này là YACC ~ Yet Another Compiler Compiler (vì hầu như bé nào luyện môn Compiler đều biết), nhưng bạn có biết tên của công ty Yahoo kô phải là một từ đơn ko? Uhm, nó là Yet Another Hierarchical Officious Oracle&#8230;</p>
<p>Đến đây, nếu ai đó phát biểu &#8220;Đặt tên là một nghệ thuật mà người đặt tên là một nghệ sĩ&#8221; thì hiển nhiên Invisible lại tự phong mình là một nghệ sĩ như trong tiêu đề entry này cũng không ngoa! <img src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/9.gif" alt="" /></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/1757/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/1757/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/1757/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=1757&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2008/01/21/invisible-la-mot-nghe-si/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>

		<media:content url="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/9.gif" medium="image" />
	</item>
		<item>
		<title>SongToast-1.0.0 &#8211; A General Purpose Winamp plugin</title>
		<link>http://instcode.wordpress.com/2007/12/04/songtoast-1-0-0-a-general-purpose-winamp-plugin/</link>
		<comments>http://instcode.wordpress.com/2007/12/04/songtoast-1-0-0-a-general-purpose-winamp-plugin/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 04:25:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[c/c++]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2007/12/04/songtoast-1-0-0-a-general-purpose-winamp-plugin/</guid>
		<description><![CDATA[Cuối cùng cũng xong cái Winamp plugin đầu tay.. Hix, lâu ngày hông code &#8220;C lọng cọng&#8221;, giờ lọng cọng luôn rồi, code/copy/paste thì nhanh mà để chạy được thì lâu Khi đang viết blog này thì thằng &#8220;Unknown&#8221; ở đâu nhảy dzô phỏng vấn: Unknown: Viết SongToast làm chi vậy cha? Invisible: Thường ngày, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=1658&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cuối cùng cũng xong cái Winamp plugin đầu tay.. Hix, lâu ngày hông code &#8220;C lọng cọng&#8221;, giờ lọng cọng luôn rồi, code/copy/paste thì nhanh mà để chạy được thì lâu</p>
<p>Khi đang viết blog này thì thằng &#8220;Unknown&#8221; ở đâu nhảy dzô phỏng vấn:</p>
<blockquote><p>Unknown: Viết SongToast làm chi vậy cha?<br />
Invisible: Thường ngày, khi &#8220;cha&#8221; ngồi code, &#8220;cha&#8221; thường bật Winamp (my favourite media player) lên, vừa rung đùi, rung tai&#8230; và code&#8230;<br />
Unknown: Vậy thì sao?<br />
Invisible: Thì phải thu nhỏ cái cửa sổ Winamp, maximize cái của sổ Eclipse, cho nên nghe nó hát chí chóe mà đâu có biết bài đang hát tên gì, đứa nào hát đâu!<br />
Unknown: Ặc, đúng là Invisible!<br />
Invisible: Ừa, bởi vậy, kỳ này nghe bài nào, liếc xuống cái cửa sổ gần systray là biết ngay liền&#8230;<br />
Unknown: Ặc, reinvent the wheel! Sao hông nghía cái Toaster này đi <a href="http://www.myplugins.info/toaster.htm">http://www.myplugins.info/toaster.htm</a> &#8230; Nó chắc chắn ghê gớm hơn cái của cha 1000 lần!<br />
Invisible: Ặc, ai biết đâu, cứ tưởng kô có thằng nào nghĩ ra được ý tưởng này&#8230; Mà khi code gần xong, google một số thứ thì mới biết nó ấy chứ!&#8230;<br />
Unknown: Ặc, ngu quá! Vậy giờ có viết ra cũng có ai thèm xài đâu?<br />
Invisible: Ặc, cái của mình làm được một số thứ mà cái Toaster kia cóc làm được đó cưng!<br />
Unknown: Hehe&#8230;<br />
Invisible: Cái thứ nhất là do &#8220;cha&#8221; mày lưu settings vào registry cho nên hông bị lỗi unicode như thằng kia, cái thứ 2 là SongToast có thể update Yahoo status của mày nữa!<br />
Unknown: Ặc! Sao khi nào cha cũng mê Yahoo Messenger vậy? Thấy cái gì khoe cũng dính đến &#8220;Yahoo&#8221;, nào là Yahoo Plugin, Yahoo IMShield, giờ thì là Yahoo Status&#8230;<br />
Invisible: Kệ cha con ơi! Mai mốt cha mày mở công ty hoạt động về lĩnh vực Instant Messenger đó. Chờ đi!&#8230;<br />
Unknown: Ừh chờ, chờ cho đến kiếp sau, chờ mãi thôi, wờ wớ wớ&#8230;<br />
Invisible: :&#8221;&gt;</p></blockquote>
<p>Mặc cho nhân gian chê cười, Invisible vẫn release SongToast version 1.0.0&#8230;</p>
<p>INSTALLATION GUIDE</p>
<p>Bước 1: Download<br />
- <a href="http://songtoast.googlecode.com/files/SongToast-1.0.0-share.zip">Song Toast [Coder Version]</a>: Dùng MFC in shared libraries (need MFC71.dll and MSVCR71.dll).<br />
<span style="white-space:nowrap;">SHA1 Checksum: 9267e41eeb314431a24481b7f9a0f5b0a6378c81</span><br />
- <a href="http://songtoast.googlecode.com/files/SongToast-1.0.0-static.zip">Song Toast [General User Version]</a>: Static linking, kô cần MFC library. &lt;- Nếu hông biết download đứa nào trong 2 đứa thì click dzô đây!<br />
<span style="white-space:nowrap;">SHA1 Checksum: d9d4eca34e22b090c4482749ca120883b2bc2310</span></p>
<p>Bước 2: Extract &amp; copy &#8220;gen_SongToast.dll&#8221; vào thư mục &#8220;C:\Program Files\Winamp\Plugins\&#8221;.</p>
<p>Bước 3: Restart Winamp.</p>
<p>Với tinh thần &#8220;share for all, all will share!&#8221;, Invisible hiến dâng <a href="http://songtoast.googlecode.com/svn/">source code</a> luôn!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/1658/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/1658/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/1658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/1658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/1658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/1658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/1658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/1658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/1658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/1658/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=1658&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2007/12/04/songtoast-1-0-0-a-general-purpose-winamp-plugin/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>
	</item>
		<item>
		<title>Lông Vịt &#8211; The most stupid coder ever [3]</title>
		<link>http://instcode.wordpress.com/2007/03/19/long-vit-the-most-stupid-coder-ever-3/</link>
		<comments>http://instcode.wordpress.com/2007/03/19/long-vit-the-most-stupid-coder-ever-3/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 13:09:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[entertainment]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[joke]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2007/03/19/long-vit-the-most-stupid-coder-ever-3/</guid>
		<description><![CDATA[Hôm nay Lông Vịt dậy thật sớm&#8230; hơn bình thường một chút&#8230; Việc đầu tiên là anh power-on cái PC, double-click vào cái Total Commander, browse đến folder chứa nhạc, click chọn 2 bài &#8220;Games People Play&#8221; và &#8220;Garden of Black Roses&#8221; rồi fire-up cái Winamp&#8230; Trong điệu nhạc xập xình, anh đứng đó nhún [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=1051&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hôm nay Lông Vịt dậy thật sớm&#8230; hơn bình thường một chút&#8230; Việc đầu tiên là anh power-on cái PC, double-click vào cái Total Commander, browse đến folder chứa nhạc, click chọn 2 bài &#8220;Games People Play&#8221; và &#8220;Garden of Black Roses&#8221; rồi fire-up cái Winamp&#8230; Trong điệu nhạc xập xình, anh đứng đó nhún nhảy như một thằng điên&#8230; Chà, tập thể dục buổi sáng đem lại cho anh một cảm giác thật sảng khoái&#8230; Ước gì ngày nào trong tuần anh cũng được cảm giác đó nhỉ?&#8230; Nhưng có lẽ cảm giác đó sẽ kô kéo dài lâu, bởi anh và nhóm của anh đang bị khách hàng coi &#8220;như con&#8221;&#8230;</p>
<p>Hmm, cũng xin giới thiệu một chút về nhóm anh và dự án anh đang làm&#8230; Nói chung cũng do thời cuộc đẩy đưa mà Lông Vịt trôi dạt đến bộ phận phát triển Web của công ty &#8220;<span style="color:#ff7f00;">FCG-S</span>&#8220;&#8230; Í, khoan, đây không phải là một chi nhánh công ty <a href="http://www.fcg.com.vn">FCG</a> (hồi xưa là PSV), mà đó là tên viết tắt của &#8220;<span style="color:#ff7f00;">Fast-Cheap-Good</span> Software&#8221;&#8230; Ờ, department của anh, nếu trừ anh ra thì còn lại khoảng &#8220;nửa&#8221; người, lý do ông đại ca của anh cũng là manager của một dự án khác&#8230; Với nguồn nhân lực dồi dào như vậy cho nên anh nghiễm nhiên trở thành *designer &#8211; coder &#8211; tester &#8211; teamleader &#8211; analyzer &#8211; architector&#8230;*, nói một cách gọn gàng là *all-in-one-developer*. Với thành công của dự án &#8220;<a href="http://blog.360.yahoo.com/blog-n75YJ78_fL5JcEVFlIE1?p=943">Web 2.0</a>&#8221; hôm trước (sếp đã khen anh, chính xác là: &#8220;Giỏi! Code của mày rất scalable!&#8221;), anh vững bước với một dự án Web khác, lần ngày lại viết bằng ASP, đây là một hệ thống E-Commercial chuyên về mọi lĩnh vực kinh doanh buôn bán (<a href="http://www.gso-media.com">nó đây nè</a>)&#8230;</p>
<p>Với khả năng designing/coding nhuần nhuyễn, cộng thêm khả năng search-copy &amp; paste, anh đã hoàn thành rất nhanh phần web-ui, business-logic và storage&#8230; Nói kô ngoa, một tuần là anh code xong, một tuần nữa để test và fix bug, thêm 1 ngày để package &amp; release&#8230; Ấy vậy mà sau khi deploy trên cái dedicate server của thằng khách hàng, chạy khoảng 1 tuần thì nó dở chứng gì kô biết, khách hàng chửi sếp anh như con, sếp anh chửi anh như thú, anh thì tự dày vò mình như giặt quần áo&#8230; Dĩ nhiên sau đó Lông Vịt được cử ngay lên &#8220;hiện trường&#8221; để tìm hiểu, và đập vào mắt anh là số khách hàng đăng ký trong trang đó lên đến hơn 1.000.000 mà account ai cũng có tên đại loại &#8220;<span style="color:#ff7f00;">bà_mày_#######</span>&#8220;, &#8220;<span style="color:#ff7f00;">instcode_#######</span>&#8220;&#8230;  (# là chữ số..)&#8230; Hmm, sao lạ vậy ta? Anh nhớ là anh đã chống <a href="http://en.wikipedia.org/wiki/Denial-of-service_attack">DoS</a> ở phần đăng ký thành viên bằng cách kiểm tra Security Code (Verification code) rồi mà ta? Và anh kiểm tra cái register form:</p>
<p><img src="http://img267.imageshack.us/img267/1140/longvitms5.gif" alt="" /><br />
(Bà con nhà mình có thể vào xem trực tiếp cái form tại: <a href="http://www.gso-media.com/home/register.asp">http://www.gso-media.com/home/register.asp</a>)</p>
<p>Ờ, bình thường mà? Có gì lạ đâu? Sao mà <a href="http://en.wikipedia.org/wiki/SYN_flood">flooding</a> phần register user được?&#8230; Vô lý&#8230; Thường Kiệt!&#8230; Lý nào lại vậy?&#8230; Vô lý hết sức!&#8230; Bình thường mà? Chẳng thấy gì lạ&#8230;</p>
<p>P/S: Cáo lỗi những coders nào đã code cho trang gso-media đó! Hehe, cái này nhảm nhí cho vui thôi mà&#8230; Bà con nhà mình cũng biết chọn lọc phần thông nào là của  Invisible-Lông Vịt, phần nào là Gso-media-Lông Vịt nha!&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/1051/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/1051/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/1051/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/1051/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/1051/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/1051/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/1051/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/1051/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/1051/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/1051/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=1051&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2007/03/19/long-vit-the-most-stupid-coder-ever-3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>

		<media:content url="http://img267.imageshack.us/img267/1140/longvitms5.gif" medium="image" />
	</item>
		<item>
		<title>Lông Vịt &#8211; The most stupid coder ever [2]</title>
		<link>http://instcode.wordpress.com/2007/02/13/long-vit-the-most-stupid-coder-ever-2/</link>
		<comments>http://instcode.wordpress.com/2007/02/13/long-vit-the-most-stupid-coder-ever-2/#comments</comments>
		<pubDate>Tue, 13 Feb 2007 03:28:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[entertainment]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[joke]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2007/02/13/long-vit-the-most-stupid-coder-ever-2/</guid>
		<description><![CDATA[Chào những người bạn! Người ta vẫn nói &#8220;coding là một nghệ thuật mà trong đó coder là nghệ sĩ&#8221;, bạn bao giờ tự hỏi mình đã là nghệ sĩ hay chưa? Hmm, tại sao phải quan tâm đến khía cạnh &#8220;nghệ thuật&#8221; và &#8220;nghệ sĩ&#8221; trong khi về bản chất, coders chỉ là những [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=943&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Chào những người bạn! Người ta vẫn nói &#8220;coding là một nghệ thuật mà trong đó coder là nghệ sĩ&#8221;, bạn bao giờ tự hỏi mình đã là nghệ sĩ hay chưa? Hmm, tại sao phải quan tâm đến khía cạnh &#8220;nghệ thuật&#8221; và &#8220;nghệ sĩ&#8221; trong khi về bản chất, coders chỉ là những con người thành thạo một ngôn ngữ để nói chuyện với máy tính nào đó?&#8230;</p>
<p>Đúng vậy, đó là suy nghĩ của một coder, mà nói kô ngoa, là một trong những người chung thế hệ với những người khai hoang cho nền tin học nước nhà: Lông Vịt. Các bạn hẳn chưa quên những ngây ngô ngớ ngẩn ngu ngốc của anh trong &#8220;<a href="http://blog.360.yahoo.com/blog-n75YJ78_fL5JcEVFlIE1?p=714">Lông Vịt &#8211; The most stupid coder ever&#8230;</a>&#8221; thì hôm nay, anh lại xuất hiện bên cạnh những dòng code rồng bay phượng múa&#8230; Dzô!!!</p>
<p><strong>An alternating way to reverse the sign</strong>:</p>
<p>Ngày xưa, khi anh còn là SV, trong khi mọi người đua nhau học VB, PHP, Java, C#&#8230; thì anh vẫn lui cui gõ từng dòng code C đen, rồi đến C++, VC++&#8230; Đúng vậy, anh khinh, anh khinh những ngôn ngữ mà phải cần một cái thằng thứ ba để thông dịch những dòng code của anh cho máy tính hiểu&#8230; Những cái thằng thông dịch đó kô thể nào đem lại cho anh cái mà anh cần: Performance&#8230; Vậy mà trời xui đất khiến làm sao, đến khi làm LV, rồi đến khi đi làm, anh lại phải cặm cụi chăm chút từng dòng code Java do anh gõ ra&#8230; Anh khinh, anh khinh những đống code được viết ra bởi cái ngôn ngữ lai căng giữa Object Oriented &amp; Functional Programming của C++ (OOP &amp; FP)&#8230; Ừh, &#8220;Java vô địch!&#8221;&#8230;</p>
<p>Ah <img src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/52.gif" alt="" />, anh chợt nảy ra một ý tưởng mà anh nghĩ là &#8220;useful&#8221; cho những ai muốn *đổi dấu của một số cho trước*, ví dụ &#8220;1000&#8243; sau khi đổi là &#8220;-1000&#8243;, &#8220;-1000&#8243; -&gt; &#8220;1000&#8243;&#8230; Vậy là anh gõ ngay vào Eclipse:</p>
<pre>// Reverse the sign of the given number
public static long reverseSign(long n) {
     String sNumber = String.valueOf(n);
     long val;

     if (sNumber.charAt(0) == '-') {
          val = Long.parseLong(sNumber.substring(1));
     }
     else {
          val = Long.parseLong('-' + sNumber);
     }
     return val;
}
</pre>
<p>Hì, đúng là những dòng code thật là *nghệ thuật* do *nghệ sĩ* gõ ra! Cách đặt tên biến theo &#8220;Hungarian&#8221; coding standard anh vẫn mang theo kể từ khi anh tạm biệt thế giới Win32/MFC, cái cách dùng modifier &#8220;public static&#8221; càng cho thấy FP vẫn còn đeo đuổi anh, cái cách đặt vị trí những biến ngay đầu khối như nhắc nhở người ta &#8220;code của tui là compatible với Ansi-C&#8221;, cách dùng các dấu &#8216;{&#8216; &amp; &#8216;}&#8217; thật chuẩn mực như Code Complete đã nói&#8230; Nhưng anh ơi!&#8230; Anh sao mà&#8230; *lông vịt* quá đi!!!&#8230;</p>
<p><strong>The power of Web 2.0</strong>:</p>
<p>Bây giờ bỏ qua những sung sướng sau khi đọc đoạn phía trên&#8230; Vậy có bao giờ bạn nhận được những lời *cảm thán* của đồng nghiệp như vậy chưa: &#8220;Trời ơi, mày code ghẻ quá!&#8230;&#8221;, &#8220;Đúng là lông vịt!&#8221;&#8230; Ừh, có lẽ sau hôm nay, nhưng riêng với Lông Vịt thì phải nói là &#8220;rất thường xuyên&#8221;&#8230; Ấy, khoan vội chê Lông Vịt &#8220;ghẻ&#8221;! Nếu nói một cách ngắn gọn, mọi nền tảng lý thuyết Lông Vịt đều nắm trong lòng bàn tay (chỉ có cái chưa lưu vào những nếp nhăn của đống bã đậu trên đầu, hehe)&#8230; Khi nhắc đến &#8220;Software Engineering&#8221; anh nghĩ đến những mô hình phân tích thiết kế trong SDLC&#8230; Khi ghé ngang qua &#8220;Design&#8221;, anh chợt nhận ra hầu hết mọi Design Patterns anh đều nắm khá rõ&#8230; Lại nhắc đến &#8220;Coding&#8221;, anh nghĩ đến ngay Coding Convention&#8230; Hmm, cái anh cần bây giờ chính là cách tiếp cận những công nghệ mới, những cái mà phải nói nó thay đổi xoành xoạch hàng ngày&#8230;</p>
<p>Việc gì đến cũng đến, công nghệ Web 2.0 (cái mà tốn mấy chục MB trong JavaVN database để anh em chửi nhau) vừa đến là anh tức tốc kiếm cuốn &#8220;AJAX in Action&#8221;&#8230; Người ta chửi nhau về cái gì mà Fat-Client, Thin-Server&#8230; mà anh kô rõ, nhưng bản thân anh thấy đó chỉ là sự kêt hợp giữa Javascript, XML và&#8230; browser&#8230; Nói chung là dùng sức mạnh ở client side để hỗ trợ server-side, kô hơn kô kém! Ừh, vậy Web 2.0 là gì? Client-side là gì? Server-side là gì? Hơ, cũng chẳng biết, chỉ biết là cái vụ này cũng tốn thêm một ít KB ở <a href="http://forum.vnoss.org/viewtopic.php?id=3491">VnOSS forum</a>&#8230;</p>
<p>Đọc tới đây, sợ người ta lại nói anh như NATO (No Action, Talk Only), cho nên anh quyết định sẽ CONT-inue (Code Only, No Talk)&#8230; Là vậy nè: Anh được giao một module, đó là hoàn thành cái form đăng nhập&#8230; Yeah, anh nghĩ ngay đến việc sử dụng Web 2.0, tận dụng hết thế mạnh của AJAX! Về cơ bản là sếp muốn anh làm một form có 2 text fields là username và password, user chỉ việc gõ username &amp; password, click *su<br />
bmit* là xong phim&#8230; Hơi khó cho một người mới tập tành PHP như anh, nhưng quá dễ cho một người đã có kinh nghiệm với HTML và Javascript&#8230; Hmm, anh biết những trình duyệt thông dụng đã hỗ trợ RPC thông qua *Native Browser Object* (XMLHttpRequest) hoặc thông qua *ActiveX* (*.XMLHTTP)&#8230; Vậy là anh lao vào code:</p>
<pre>function submitLoginForm(form)
{
     // Escape all input strings so that we can't be attacked by
     // SQL-injection attack
     var username = escapeString(form.username.value);
     var password = escapeString(form.password.value);

     var phpcode =
          '$conn = mssql_connect($DB_SERVER, $DB_USERNAME, $DB_PASSWORD)' +
          '        or die("Error: Cannot connect to $DB_SERVER");       ' +
          '$db   = mssql_select_db($DB_NAME, $conn);                    ' +
          '$sql  = "SELECT * FROM users WHERE username=\''+username+'\' ' +
          '        AND password=\''+password+'\'";                      ' +
          'if (mssql_query($sql, $conn)) {                              ' +
          '    $login = true;                                           ' +
          '}                                                            ' +
          'else {                                                       ' +
          '    $login = false;                                          ' +
          '}                                                            ' +
          '                                                             ' +
          '/* ... a lot of code goes here... */                         ' +
          'mssql_close($conn);                                          ';

     executeCode(phpcode);
}
</pre>
<p>Wow!&#8230;. Làm sao để implement hàm executeCode() ở client-side? Rất thông minh, Lông Vịt chỉ cần send một HTTPRequest đến server với phần data là chuỗi phpcode ở trên, ở server-side, sử dụng Eval() để execute một đống PHP code &#8220;on-the-fly&#8221;&#8230; Thật đơn giản!&#8230; Không gì có thể diễn tả tốt hơn sức mạnh của client-side bằng code của Lông Vịt! Ahhhh!!! Ôi Lông Vịt, anh kô hổ danh là &#8220;the most stupid coder ever&#8221;!!&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/943/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/943/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/943/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=943&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2007/02/13/long-vit-the-most-stupid-coder-ever-2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>

		<media:content url="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/52.gif" medium="image" />
	</item>
		<item>
		<title>Lông Vịt &#8211; The most stupid coder ever&#8230;</title>
		<link>http://instcode.wordpress.com/2006/12/03/long-vit-the-most-stupid-coder-ever/</link>
		<comments>http://instcode.wordpress.com/2006/12/03/long-vit-the-most-stupid-coder-ever/#comments</comments>
		<pubDate>Sun, 03 Dec 2006 03:07:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[entertainment]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[joke]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2006/12/03/long-vit-the-most-stupid-coder-ever/</guid>
		<description><![CDATA[Invisible dạo này kô có đủ thời gian để làm một cái blog hay hay, xin lỗi những người *hâm* mộ&#8230; Hôm nay, hên làm sao, lục trong máy thấy có một vài đống chữ, tiện tay hốt lên đây cho blog đỡ hiu quạnh&#8230; Những đoạn code &#8220;cân não&#8221;&#8230; Trong series &#8220;Những đoạn code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=714&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Invisible dạo này kô có đủ thời gian để làm một cái blog hay hay, xin lỗi những người *hâm* mộ&#8230; Hôm nay, hên làm sao, lục trong máy thấy có một vài đống chữ, tiện tay hốt lên đây cho blog đỡ hiu quạnh&#8230;</p>
<p><strong>Những đoạn code &#8220;cân não&#8221;</strong>&#8230;</p>
<p>Trong series &#8220;Những đoạn code cân não&#8221;, Invisible sẽ lần lượt giới thiệu với các bạn làm quen những lập trình viên kỳ cựu trong làng coder của thế giới&#8230; Hôm nay chúng ta hân hoan chào đón LTV: &#8220;Lông Vịt&#8221;!!!&#8230;</p>
<p><strong>1. Randomized</strong>&#8230;</p>
<p>Lông Vịt là một LTV kỳ cựu, anh đã thử qua kô biết bao nhiêu công ty trong một khoảng thời gian đủ ngắn mà vẫn chưa muốn dừng chân. Hôm nay đã là tuần thứ 2 anh làm việc tại công ty Ep-I-T kể từ khi anh được sếp giao cho module *chọn nhân viên tư vấn cho khách hàng*. Đại ý là khi nhận được một request từ khách hàng trong giờ hành chánh, nếu 2 nhân viên tư vấn đang available thì sẽ chọn random một nhân viên để tư vấn cho khách hàng. Module của anh Lông Vịt chạy cực kỳ tốt, nhưng có cái gì đó sai sai&#8230; Sau khi dò qua hàng ngàn dòng code, sếp của anh đã phát hiện:</p>
<pre>    ids = SelectIdleUsers(2);
    if (hour &gt;= 7 &amp;&amp; hour &lt; 18) {
        if (rand() &gt; 0.5) {
            Owner-&gt;LoadById(ids[0]);
        }
        if (rand() &lt; 0.5) {
            Owner-&gt;LoadById(ids[1]);
        }
    }
</pre>
<p>&#8220;Cân não&#8221; ở chỗ nào chưa ai biết trừ lão sếp, cũng kô biết Lông Vịt sẽ ở lại công ty Ep-I-T bao lâu, nhưng chắc chắn anh sẽ trở lại vào một ngày gần đây với &#8220;Những đoạn code cân não&#8221; mới&#8230;</p>
<p><strong>2. SQL &#8211; A &#8220;sequential&#8221; query language??</strong>&#8230;</p>
<p>Lông Vịt ra trường đã lâu, nhưng hiếm ai biết một quá khứ hào hùng của anh lúc còn là SV. Thời đó, khi mọi người đang say sưa lưu trữ và đọc dữ liệu một cách thủ công dùng flat file: text có, binary có, linh tinh có&#8230; thì Lông Vịt đã tiếp cận với &#8220;công nghệ&#8221; mà anh ấy gọi là &#8220;truy vấn tuần tự&#8221;. Mọi DBMS như Oracle, DB2, MSSQL, PostgreSQL, MySQL&#8230; anh đều ít nhất một lần&#8230; chạy thành công vài câu truy vấn. Biêt được khả năng bẩm sinh của anh, lần này sếp giao anh viết một đoạn code để cập nhật một logging table&#8230; Lông Vịt sớm nhận ra ngay những bảng &#8220;liên quan&#8221; khi sử dụng bộ quản lý đi kèm *Oracle Enterprise Manager*:</p>
<p>tbl_monthly_log: [time], [user_id], [action_id], [log_data]<br />
tbl_action: [action_id], [action_name], [action_level]<br />
tbl_global_log: [time], [user_id], [action_id], [log_data]</p>
<p>Đại ý là hệ thống này cần theo mọi hành động của từng user trên mỗi tháng. Đến cuối tháng sẽ chọn lựa những hành động &#8220;đáng lưu ý&#8221; để lưu trữ lại và xóa đi những dữ liệu logging trong tháng (xóa nội dung table tbl_monthly_log). Hiểu vấn đề, Lông Vịt bắt tay vào coding&#8230; Dưới đôi tay thon dài như trái chuối, cộng với kỹ năng *gõ phím kô thèm nhìn màn hình* của Lông Vịt, hàng ngàn dòng code tuôn ra trên màn hình&#8230; Qủa là *phản xạ kô điều kiện* của Lông Vịt (mà *Sinh Học* gọi nó là &#8220;bản năng&#8221; còn giới *Coder* gọi nó là &#8220;trâu bò&#8221; <img src="http://l.yimg.com/us.yimg.com/i/mesg/tsmileys2/09.gif" alt="Image" />):</p>
<pre>ResultSet rs = dbRequest.ExecuteQuery("select ml.*, a.action_level from tbl_monthly_log as ml, tbl_action as a where ml.action_id = a.action_id");

// Populate result-set to a list of LogRecord
LogRecords records = GetLogRecords(rs);

while (records.HasMoreRecord()) {
    LogRecord record = records.NextRecord();
    if (record.GetActionLevel() &gt;= LOGGING_LEVEL) {
        LPSTR lpzSQL = CreateSQL(
                "insert into tbl_global_log (time, user_id, action_id, log_data) values (%u, %d, %d, %s)",
                record.GetTime(), record.GetUserId(), record.GetActionId(), record.GetLogData());
        dbRequest.ExecuteUpdate(lpzSQL);
        FreeSQL(lpzSQL);
    }
}
// Clean up...
...
</pre>
<p>Kô tốn nhiều thời gian để coding và kiểm lỗi, đoạn code anh một lần nữa được đánh giá là &#8220;perfect&#8221;&#8230; Nhưng than ôi, khi chạy trên dữ liệu thật (cỡ vài chục/trăm ngàn records) thì anh mất gần hàng chục phút ngóc mỏ ngồi đợi&#8230; Lần này sếp kô tự thân đến xem nữa mà lại sai một thằng SV mới ra trường, kinh nghiệm của nó mà theo anh, chỉ mới bằng ngón út của mình, đến làm công việc gọi là &#8220;xem code thử&#8221;&#8230; Sự tự ái, khinh thường, bối rồi, xấu hổ, ngưỡng mộ dần dần chuyển hóa trên khuôn mặt của anh&#8230; Trời, kô biêt thằng quỉ nó làm cái quái gì mà thời gian chạy giảm đi 10 lần là ít&#8230; Lông Vịt chỉ còn biêt câm nín, nhìn như trời trồng vào cái màn hình LCD 24 inches&#8230; Hix, anh thầm nghĩ *tuổi đời có phải là thước đo cho kinh nghiệm kô*??&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/714/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/714/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/714/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=714&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2006/12/03/long-vit-the-most-stupid-coder-ever/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>

		<media:content url="http://l.yimg.com/us.yimg.com/i/mesg/tsmileys2/09.gif" medium="image">
			<media:title type="html">Image</media:title>
		</media:content>
	</item>
		<item>
		<title>Making a RPG A-Z &#8211; Part I: The genres of Games and RPG</title>
		<link>http://instcode.wordpress.com/2006/02/05/making-a-rpg-a-z-part-i-the-genres-of-games-and-rpg/</link>
		<comments>http://instcode.wordpress.com/2006/02/05/making-a-rpg-a-z-part-i-the-genres-of-games-and-rpg/#comments</comments>
		<pubDate>Sun, 05 Feb 2006 02:34:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[rpg]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2006/02/05/making-a-rpg-a-z-part-i-the-genres-of-games-and-rpg/</guid>
		<description><![CDATA[Making a RPG – From A-Z Part I: The genres of Games and RPG Introduction: Computer Game ra đời từ rất lâu, thời mà Khoa (gọi dzị cho nó thân mật… hehe) chưa nằm trong bụng mẹ&#8230; Do đó quá nhiều và quá khó để có thể kể hết mọi thể loại game cũng như [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=123&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Verdana;"> <em>Making a RPG – From A-Z</em><em><br />
</em><strong>Part I</strong>: <strong>The genres of Games and RPG</strong><br />
<strong><em><br />
Introduction:</em></strong> </span></p>
<p><span style="font-family:Verdana;">Computer Game ra đời từ rất lâu, thời mà Khoa (gọi dzị cho nó thân mật… hehe) chưa nằm trong bụng mẹ&#8230; Do đó quá nhiều và quá khó để có thể kể hết mọi thể loại game cũng như phân biệt nó. Ở đây mình (xưng dzị cho nó thân mật hơn… hehehe)  chỉ giới thiệu với những thể loại game có ảnh hưởng đến dòng RPG, có gì bà con tham khảo thêm ở trang Wikipedia: <a href="http://en.wikipedia.org/wiki/">http://en.wikipedia.org/wiki/</a> </span></p>
<p><span style="font-family:Verdana;">- <strong>Action Game</strong>: Là thể loại game lâu đời nhất, người chơi sử dụng cặp mắt tinh tường và đôi tay khéo léo để điều khiển trực tiếp nhân vật, đồ vật… trong game. Nó là tiền thân của các thể loại Arcade, Adventure, Platform, Fighting, Sport, Shooting.. (Zentrix, PinBall, Street Fighter, Mortal Combat, Donkey Kong, Mario, Biker Mice from Mars, Top Gear, Need For Speed, Fifa, Superstar Football, Contra, Counter Strike… Ngoài ra phải kể đến Đua xe F0 &#8211; Cá Sấu).</span></p>
<p><span style="font-family:Verdana;">- <strong>Strategy Game</strong>:  Thể loại game này nhấn mạnh việc dùng chiến thuật, chiến lược để đấu trí với máy hoặc người chơi khác… mọi action còn lại của game hầu như đều diễn ra tự động… Ví dụ các các thể loại cụ thể là Realtime Strategy, Board Game (Puzzle), Building, Turn Base… (Starcraft, Age of Empires, Knight Merchants, Chinese Chess, Gomoku, Logic Box – Thỏ già sún răng sữa, Mummy Maze, Seven Seas, Cilivization, Sim City, Gun Bounds – Phải kô ta? Fire Emblem &#8211; Mấy quán điện tử Super hồi xưa gọi là Mộc đế chiến kỳ á, Heroes – Might &amp; Magic…)</span></p>
<p><span style="font-family:Verdana;">- <strong>Adventure</strong>: cũng là một thể loại action, các màn chơi (campaigns,  scenarios) thường nối kết với nhau trên một cốt truyện, người chơi có thể thu lượm đồ chơi, đi qua lại trên Game World và các màn này dễ dàng&#8230; Ví dụ: The legend of Zelda – cái khá nổi tiếng nhỉ, Tom Raider &#8211; nổi bạo nữa, Secret of Mana, Syberia…</span></p>
<p><span style="font-family:Verdana;">- <strong>Role Playing Game</strong>: Đây có thể nói là thể loại game mà đặt cốt truyện lên hàng đầu, mọi diễn tiến trong game tuân theo một cốt chuyện có sẵn. Người chơi sẽ nhập vai vào một (nhóm) nhân vật trong game, các nhân vật này có những chỉ số, đặc tính &amp; kỹ năng đặc trưng. Một khía cạnh quan trọng trong game đó là chỉ số kinh nghiệm (Experience) sẽ là thước đo để tăng những kỹ năng, chỉ số đã nói ở trên… Đây là thể loại game có khá nhiều biến thể, Action/Adventure RPG (Diablo &#8211; Của Blizzard đó nha, Secret of Mana, The legend of Zelda, </span><span style="font-family:Verdana;">, LVT Truyền kỳ &#8211; Innorevo, </span><span style="font-family:Verdana;">VLTK – Phải kô ta, chưa chơi, chỉ bít là nó làm điên đảo giới giang hồ Game Online…), Strategy RPG (</span><span style="font-family:Verdana;">Fallout, </span><span style="font-family:Verdana;">Heroes Might and Magic/The shadow of Death/Wake of God, World of Warcraft III – <em>Note</em>: WoW III nhá!&#8230;). Để phân biệt các loại &#8220;tạp chủng&#8221; trên với dòng RPG “chính thống”, thường người ta nhắc đến Traditional RPG hoặc Classic RPG&#8230; Nổi bật trong dòng này mà các hardcore gamer thường nhắc tới là những game của Capcom, Square soft như Breath of Fire, Chrono Trigger, Final Fantasy series, Dragon Ball Z… Bây giờ, ghi thêm một tên game vào danh sách <strong><em>Traditional/Classical RPG</em></strong> đó là &#8220;<strong>The legend of Thach Sanh</strong>&#8220;&#8230; Hehehe…</span></p>
<p><span style="font-family:Verdana;"><strong><em>Notes:</em></strong> </span></p>
<p><span style="font-family:Verdana;">- Mặc dù đã từng chơi qua những game trên &amp; có tham khảo tài liệu nhưng việc phân loại có thể có sai sót&#8230;<br />
- Ở phần RPG, mình chỉ đưa ra những đặc điểm chính mà một RPG cần phải có, ít nhất cũng là để phân biệt với mấy thể loại còn lại&#8230; Những tính chất/đặc điểm khác thì bà con có thể tham khảo ở <a href="http://en.wikipedia.org/wiki/Computer_role-playing_game">Computer RPG</a> </span></p>
<p><span style="font-family:Verdana;"><strong><em>References:</em></strong> </span></p>
<p><span style="font-family:Verdana;">- Xem trang Wikipedia ở trên.<br />
- Ebook: Andrew Rollings and Ernest Adams on Game Design [New Riders].<br />
- Wiki: <a href="http://www.devmaster.net/wiki/RPG">http://www.devmaster.net/wiki/RPG</a><br />
- That’s enough!<br />
</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/123/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/123/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=123&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2006/02/05/making-a-rpg-a-z-part-i-the-genres-of-games-and-rpg/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>
	</item>
		<item>
		<title>Making a Role Playing Game</title>
		<link>http://instcode.wordpress.com/2006/01/25/making-a-role-playing-game/</link>
		<comments>http://instcode.wordpress.com/2006/01/25/making-a-role-playing-game/#comments</comments>
		<pubDate>Wed, 25 Jan 2006 02:10:00 +0000</pubDate>
		<dc:creator>instcode</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[rpg]]></category>

		<guid isPermaLink="false">http://instcode.wordpress.com/2006/01/25/making-a-role-playing-game/</guid>
		<description><![CDATA[Dạo này có hứng để viết tà la, tùm lum, tè le, từa lưa&#8230; nhưng kô biết viết gì&#8230; Do đó quyết định viết một cái gì đó mà chưa bé nào ở Việt Nam viết&#8230; &#8220;Making a Role Playing Game &#8211; From A -&#62; Z&#8221; Cái này tác giả chắc chắn chưa có ai [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=105&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Verdana;"> Dạo này có hứng để viết tà la, tùm lum, tè le, từa lưa&#8230; nhưng kô biết viết gì&#8230; Do đó quyết định viết một cái gì đó mà chưa bé nào ở Việt Nam viết&#8230;</span></p>
<p><span style="font-family:Verdana;">&#8220;Making a Role Playing Game &#8211; From A -&gt; Z&#8221;</span></p>
<p><span style="font-family:Verdana;">Cái này tác giả chắc chắn chưa có ai ở Việt Nam rỗi hơi, rảnh như con chó cảnh, ngồi viết cho bà con (tính đến thời điểm này)&#8230; Mặc dù ebook về miếng này thì &#8220;nhiều như củi&#8221; &lt;= câu này chôm của bạn tác giả (MHHH)</span></p>
<p><span style="font-family:Verdana;">Cái này sẽ được tác giả gửi vào 2 diễn đàn: http://www.bkitclub.net &amp; http://www.vninformatics.com (Diễn Đàn Tin Học, &#8220;dot org&#8221; chứ kô phải &#8220;dot com&#8221; của lão VK!!)&#8230; và hướng đến những người thích lập trình game, nhất là thể loại RPG&#8230; Tác giả sẽ trình bày bằng tiếng mẹ đẻ là chủ yếu, có pha lẫn tiếng mẹ ghẻ (vì tiếng mẹ ghẻ tác giả ngu&#8230;)&#8230; Hehehe&#8230;</span></p>
<p><span style="font-family:Verdana;">Trước hết là về bản quyền, tác giả duyệt qua chùm OS Licences (Apache, BSD, GPL, LGPL&#8230;) nhưng thấy nó chung wá, do đó tự đưa ra luôn, nếu ai đọc được thấy hay thì có thể chôm, nhưng làm ơn đừng bao giờ:<br />
- Public ở một nơi nào khác mà kô ghi tên tác giả, nơi xuất xứ&#8230; Nếu tác giả biết thì đừng trách tại sao muối mặn&#8230; Hehe&#8230;<br />
- Sao chép rồi quăng vào đâu đó bán mà kô hỏi qua ý tác giả (chắc chắn tác giả kô đồng ý! Khỏi hỏi ý mất công!)</span></p>
<p><span style="font-family:Verdana;">Rồi, tác giả đang có hứng, nhưng chỉ public lên 2 cái image để bà con xem chơi thôi, mọi thứ còn lại sẽ múa sau:</span></p>
<p style="text-align:center;"><span style="font-family:Verdana;"><img class="aligncenter" src="http://img492.imageshack.us/img492/6589/bof29ov.png" border="0" alt="Image" width="218" height="128" /><br />
Breath of Fire</span></p>
<p style="text-align:center;"><span style="font-family:Verdana;"><img class="aligncenter" src="http://img492.imageshack.us/img492/1378/ts0vo.png" border="0" alt="Image" width="172" height="64" /> </span></p>
<p style="text-align:center;"><span style="font-family:Verdana;">Thạch Sanh</span><span style="font-family:Verdana;"><br />
</span></p>
<p><span style="font-family:Verdana;"> Nhìn 2 cái intro image là hiểu ý tác giả rồi đúng kô&#8230; Đúng vậy, tác giả sẽ giúp bạn viết một cái Role Playing Game tương tự như Breath of Fire và game này sẽ là &#8220;Thạch Sanh&#8221; </span></p>
<p><span style="font-family:Verdana;">Tạm thời, tác giả chưa viết hoàn chỉnh game này, nhưng chỉ cần hiểu các kỹ thuật thì bạn có thể tự viết một cách ngon lành&#8230; Code chỉ là phù du, kô code thì phù mỏ..  Ừhm, phần đầu sẽ là tổng quan về thể loại RPG này, sau đó đi vào chi tiết là code, sẽ có code&#8230; hehehe&#8230;</span></p>
<p><span style="font-family:Verdana;">Tác giả sẽ dùng Java với J2SE (Java 2D) và J2ME (MIDP &#8211; Low Level Graphics API) để implement&#8230; Kô dùng C/C++/VC++, do đó kô xài DirectX, OpenGL!  Xong&#8230;</span></p>
<p><span style="font-family:Verdana;">Hi vọng sẽ quăng bài đều đều&#8230; Nhưng nói trước, bản thân tác giả thấy cái gì mình cũng tốt, chỉ có một cái kô tốt, đó là hay thất hứa&#8230; Hehehe&#8230; </span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/instcode.wordpress.com/105/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/instcode.wordpress.com/105/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/instcode.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/instcode.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/instcode.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/instcode.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/instcode.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/instcode.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/instcode.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/instcode.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=instcode.wordpress.com&amp;blog=2173365&amp;post=105&amp;subd=instcode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://instcode.wordpress.com/2006/01/25/making-a-role-playing-game/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">instcode</media:title>
		</media:content>

		<media:content url="http://img492.imageshack.us/img492/6589/bof29ov.png" medium="image">
			<media:title type="html">Image</media:title>
		</media:content>

		<media:content url="http://img492.imageshack.us/img492/1378/ts0vo.png" medium="image">
			<media:title type="html">Image</media:title>
		</media:content>
	</item>
	</channel>
</rss>
