<?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>Airfang's Tech Talks</title>
	<atom:link href="http://airfang.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://airfang.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 05 Oct 2011 03:52:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='airfang.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Airfang's Tech Talks</title>
		<link>http://airfang.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://airfang.wordpress.com/osd.xml" title="Airfang&#039;s Tech Talks" />
	<atom:link rel='hub' href='http://airfang.wordpress.com/?pushpress=hub'/>
		<item>
		<title>nxt-python in OS X</title>
		<link>http://airfang.wordpress.com/2010/11/02/nxt-python-in-os-x/</link>
		<comments>http://airfang.wordpress.com/2010/11/02/nxt-python-in-os-x/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 06:50:05 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[lightblue]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[nxt]]></category>
		<category><![CDATA[nxt-python]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">https://airfang.wordpress.com/2010/11/02/nxt-python-in-os-x/</guid>
		<description><![CDATA[Setting up nxt-python in OS X requires a little extra effort. As described on its installation page, you will need to install LightBlue, which is Bluetooth API for Python. And in order to install LightBlue to OS X 10.6, a few manual operation needs to be done. Nevertheless, the installation of LightBlue failed. It turns <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=65&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Setting up <a href="http://code.google.com/p/nxt-python/" target="_blank">nxt-python</a> in OS X requires a little extra effort. As described on its installation page, you will need to install <a href="http://lightblue.sourceforge.net/" target="_blank">LightBlue</a>, which is Bluetooth API for Python. And in order to install LightBlue to OS X 10.6, <a href="http://lightblue.sourceforge.net/#downloads" target="_blank">a few</a> manual operation needs to be done.</p>
<p>Nevertheless, the installation of LightBlue failed. It turns out I need to add the directory of PyObjC to my PYTHONPATH in order for it to work, which in my case (Python 2.6) is:</p>
<pre>/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC</pre>
<p>Also, wherever you have placed the LightAquaBlue directory (the one in Step 2 for Mac OS 10.6 users, not the one in Step 3) will need to be in PYTHONPATH, too, e.g.:</p>
<pre>/Library/Python/2.6/site-packages</pre>
<p>Then you should be able to setup and install nxt-python without a problem.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=65&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2010/11/02/nxt-python-in-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
		<item>
		<title>NXT++ working, plus a Python interface</title>
		<link>http://airfang.wordpress.com/2010/10/30/nxt-working-plus-a-python-interface/</link>
		<comments>http://airfang.wordpress.com/2010/10/30/nxt-working-plus-a-python-interface/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 08:01:44 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[CMake]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[nxt]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">https://airfang.wordpress.com/2010/10/30/nxt-working-plus-a-python-interface/</guid>
		<description><![CDATA[NXT++ provides a Visual Studio 2008 (VS9.0) solution file for building its library, it builds without a problem. The developers dropped support for Linux at v0.6 (v0.5 should still work). Using the library is rather simple, I have written a CMakeLists.txt and the project was successfully built on the first try (usually not the case). <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=61&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nxtpp.clustur.com/" target="_blank">NXT++</a> provides a Visual Studio 2008 (VS9.0) solution file for building its library, it builds without a problem. The developers dropped support for Linux at v0.6 (v0.5 should still work).</p>
<p>Using the library is rather simple, I have written a CMakeLists.txt and the project was successfully built on the first try (usually not the case). The downside is that this project does not seem to be really active, the wiki is there but there’s no help, no mailing list, and no community. Oh, and it does not support the new color sensor. I am including the content of the CMakeLists.txt here in case you want to try it out:</p>
<pre><span style="font-family:Consolas;">CMAKE_MINIMUM_REQUIRED(VERSION 2.8)</span>

<span style="font-family:Consolas;">PROJECT(nxtpp-test)</span>

<span style="font-family:Consolas;">FIND_PATH(NXTPP_ROOT_DIR include/NXT++.h HINTS "C:/nxtpp")</span>

<span style="font-family:Consolas;">SET(NXTPP_INCLUDE_DIR ${NXTPP_ROOT_DIR}/include)</span>

FIND_LIBRARY(NXTPP_LIB NXT++ "${NXTPP_ROOT_DIR}/bin/win32")
FIND_LIBRARY(NXTPP_DEBUG_LIB NXT++d "${NXTPP_ROOT_DIR}/bin/win32")

<span style="font-family:Consolas;">INCLUDE_DIRECTORIES(${NXTPP_INCLUDE_DIR}
${PROJECT_SOURCE_DIR})</span>

<span style="font-family:Consolas;">FILE(GLOB SRCS "*.c" "*.cpp" "*.cxx")
FILE(GLOB HDRS "*.h")</span>

ADD_EXECUTABLE(nxtpp-test ${HDRS} ${SRCS})

<span style="font-family:Consolas;">TARGET_LINK_LIBRARIES(nxtpp-test debug ${NXTPP_DEBUG_LIB} optimized ${NXTPP_LIB})</span></pre>
<p>For Anders’ <a href="http://www.norgesgade14.dk/bluetoothlibrary.php" target="_blank">C++ communication library</a>, I found that it is just a bunch of header files so it should be even easier to use (and it does have color sensor support). More on this later.</p>
<p>Another interesting findings on the Wikipedia is the Python interface to the NXT, <a href="http://code.google.com/p/nxt-python/" target="_blank">nxt-python</a>. Installation is very easy, only a few clicks of effort and it worked right off the bat. Although it lacks documentation, the project is quite active and I foresee myself using it quite a bit.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=61&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2010/10/30/nxt-working-plus-a-python-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
		<item>
		<title>RWTH &#8211; MINDSTORMS NXT Toolbox (MATLAB)</title>
		<link>http://airfang.wordpress.com/2010/10/30/rwth-mindstorms-nxt-toolbox-matlab/</link>
		<comments>http://airfang.wordpress.com/2010/10/30/rwth-mindstorms-nxt-toolbox-matlab/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 05:39:31 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[nxt]]></category>

		<guid isPermaLink="false">https://airfang.wordpress.com/2010/10/30/rwth-mindstorms-nxt-toolbox-matlab/</guid>
		<description><![CDATA[Before beginning trying out NXT++ today, I found this MATLAB toolbox from the wiki. The installation is quite simple, no need custom firmware, hence may worth some of my attention in the future. Setting up in either OS X or Windows requires you to know the series port the Bluetooth connection is using. A more <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=59&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Before beginning trying out <a href="http://nxtpp.clustur.com/" target="_blank">NXT++</a> today, I found <a href="http://www.mindstorms.rwth-aachen.de/" target="_blank">this</a> MATLAB toolbox from the wiki. The installation is quite simple, no need custom firmware, hence may worth some of my attention in the future. Setting up in either OS X or Windows requires you to know the series port the Bluetooth connection is using. A more dummy-proof version of the installation guide can be found <a href="http://sites.google.com/site/sienamatlabnxt/getting-started" target="_blank">here</a>.</p>
<p>It works! Now it’s time to try NXT++.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=59&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2010/10/30/rwth-mindstorms-nxt-toolbox-matlab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
		<item>
		<title>Progress on programming on the NXT</title>
		<link>http://airfang.wordpress.com/2010/10/29/progress-on-programming-on-the-nxt/</link>
		<comments>http://airfang.wordpress.com/2010/10/29/progress-on-programming-on-the-nxt/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 17:05:42 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[cinematography]]></category>
		<category><![CDATA[focus puller]]></category>
		<category><![CDATA[follow focus]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[nxt]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[robotc]]></category>

		<guid isPermaLink="false">https://airfang.wordpress.com/2010/10/29/progress-on-programming-on-the-nxt/</guid>
		<description><![CDATA[I have built the “Quick Start” model yesterday and played with it a little bit (video), at least we know that the motors are working, Bluetooth connection is working and the communication between NXT and the motors is working. To my surprise the mobile application software from LEGO includes a java application for my old <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=53&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have built the “Quick Start” model yesterday and played with it a little bit (<a href="http://www.youtube.com/watch?v=_8grdOs5HUE&amp;hd=1" target="_blank">video</a>), at least we know that the motors are working, Bluetooth connection is working and the communication between NXT and the motors is working. To my surprise the mobile application software from LEGO includes a java application for my old Sony Ericsson W800, which can act like a remote control for the NXT, yay!</p>
<p>Then I googled three topics on the NXT:</p>
<ol>
<li>Camera for the NXT</li>
<li>Focus puller using LEGO</li>
<li>Programming C/C++ on the NXT</li>
</ol>
<p>There is some wireless camera that costs about $40 and is of reasonable size, but the particular model is sold out. Nevertheless, I realized that any wireless camera should do in this case since most of the computation has to be done on the terminal (some computer) and the NXT robot only needs to “hold” the camera and receive instructions from the terminal, so there is really no need for a camera designed specifically for direct communication with the NXT (although there is <a href="http://www.mindsensors.com/index.php?module=pagemaster&amp;PAGE_user_op=view_page&amp;PAGE_id=78" target="_blank">some</a>).</p>
<p>I have a Canon 5D Mark II so I am really interested in the idea of auto-focus puller. A couple of months back our studio was shooting a short video and in one of the scenarios I had to manually rotate the focusing ring to follow the actress that is walking towards the camera. It was difficult. Hence if I could build a focus-pulling rig with programmable motor, I could tell it to focus from a distance to another in a given speed. That would be very cool! Some work has been done towards this end (<a href="http://blog.makezine.com/archive/2010/10/lego_follow_focus.html" target="_blank">Solutions 1</a>, <a href="http://vimeo.com/980538?pg=embed&amp;sec=980538" target="_blank">2</a> and <a href="http://vimeo.com/3358395" target="_blank">3</a>). For me ideally I would like to have some standard follow focus gear that could interface with some of the LEGO gears, but this solution might be expensive and the teeth might not engage well. I am no mechanical engineer so I would like to use components that are readily available (can be purchased), as you can tell from the fact that I bought a LEGO-based robot. The first and the third solutions, although don’t seem quite polished, should work just fine. But we will see.</p>
<p>For the third topic, I came across this <a href="http://www.teamhassenplug.org/NXT/NXTSoftware.html" target="_blank">comparison chart</a> which I find very useful (here’s another <a href="http://www.botmag.com/articles/10-31-07_NXT.shtml" target="_blank">one</a>). From the look of it, I would probably try RobotC first and then LEJOS OSEK. The problem with RobotC is that it is not free (sorry I am cheap), but I will try it out and drop the $30 if I like it. What’s good about RobotC is that it uses the standard firmware and its execution speed is much faster than its peers. As for LEJOS OSEK, it is more C-like but it does require custom firmware and it runs much slower (comparing to RobotC). </p>
<p>Besides the solutions for writing programs that execute directly on the NXT, I also found some interfacing libraries in C++ that can communicate with the NXT via Bluetooth: <a href="http://nxtpp.clustur.com/" target="_blank">NXT++</a> and <a href="http://www.norgesgade14.dk/bluetoothlibrary.php" target="_blank">Anders’ C++ communication library</a>. Both look very easy to use and worth trying. I am also assuming that these libraries require an active Bluetooth connection with the NXT, instead of initialize the connection themselves. A question remains: how do they know which COM port is being used for the connection though? I will find out tonight if the ease of use comes with a catch.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=53&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2010/10/29/progress-on-programming-on-the-nxt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
		<item>
		<title>Yay! MINDSTORMS NXT 2.0</title>
		<link>http://airfang.wordpress.com/2010/10/27/yay-mindstorms-nxt-2-0/</link>
		<comments>http://airfang.wordpress.com/2010/10/27/yay-mindstorms-nxt-2-0/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 07:30:54 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[nxt]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">https://airfang.wordpress.com/2010/10/27/yay-mindstorms-nxt-2-0/</guid>
		<description><![CDATA[Too bad, it doesn’t come with batteries and the NXT needs 6 AA while I only had 4. I went on installing the software on my MBP using the Snow Leopard fix downloaded from MINDSTORMS website. Unfortunately I got the “A required file is broken” message when starting NXT-G, a quick search suggested that re-run <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=52&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Too bad, it doesn’t come with batteries and the NXT needs 6 AA while I only had 4. I went on installing the software on my MBP using the Snow Leopard fix downloaded from <a href="http://mindstorms.lego.com/en-us/support/files/default.aspx#Patches" target="_blank">MINDSTORMS website</a>. Unfortunately I got the “A required file is broken” message when starting NXT-G, a quick search suggested that re-run one of the driver packages (legodriver.pkg) that come with the CD would fix the problem.</p>
<p>Then I noticed the program crashes upon exiting. Again a quick search suggested that it does not work well with Adobe Flash Player 10.1. Removing the flash player using the uninstaller provided by <a href="http://kb2.adobe.com/cps/865/cpsid_86551.html" target="_blank">Adobe</a> and installing instead the version supplied with the CD fixed the problem.</p>
<p>Then somehow I am getting an error message:</p>
<blockquote><p>Insecure Startup Items folder detected. Items in the Startup Items folder (&quot;/Library/StartupItems/&quot;) have not been started because the folder does not have the proper security settings.</p>
</blockquote>
<p>Once again a quick search showed that a file permission repair may fix the problem and luckily it did work for me.</p>
<p>Google rocks!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=52&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2010/10/27/yay-mindstorms-nxt-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
		<item>
		<title>Rediscover QQ/TM</title>
		<link>http://airfang.wordpress.com/2009/07/11/rediscover-qqtm/</link>
		<comments>http://airfang.wordpress.com/2009/07/11/rediscover-qqtm/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 01:13:16 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://airfang.wordpress.com/?p=37</guid>
		<description><![CDATA[QQ, formerly known as OICQ was set out to be a localized version of ICQ. I don&#8217;t remember when Tencent released the very first version but it began to gain popularity when I was in high school. Back then it was a real exciting thing to chat with friends and strangers online. You can query <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=37&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Tencent QQ" src="http://www.cbl.uh.edu/~airfang/images/Tencent_QQ.png" alt="" width="256" height="256" /><a href="http://en.wikipedia.org/wiki/Tencent_QQ" target="_blank">QQ</a>, formerly known as OICQ was set out to be a localized version of ICQ. I don&#8217;t remember when <a href="http://en.wikipedia.org/wiki/Tencent_Holdings_Limited" target="_blank">Tencent</a> released the very first version but it began to gain popularity when I was in high school. Back then it was a real exciting thing to chat with friends and strangers online. You can query based on QQ (in China it is also referred to  the numerical ID of your QQ account, other than the client itself), nickname, city, etc., in order to find a stranger to chat. This might seem a bit weird nowadays but back then it was a good way to escape from reality.</p>
<p>The earlier version of QQ was very lite. The setup file was only 700kB and can easily fit onto a floppy disk. But it had done its job well. I liked it so much that I purchased one year of premium membership, which gave me a chance to select some special QQ id along with a bunch of other benefits. I selected a 6-digit QQ with the last three being my birthday. By the way, even now a lot of people would be amazed by special QQ id (i.e., 88888888, 123456789) and are willing to pay a premium for it.</p>
<p>After a couple years of evolution, Tencent has expanded its platform. There was this notion of costumes that you can use to customize your avatar. Some of those were free while the fancier ones would cost money. They don&#8217;t deal with cash directly but you purchase QQ cash instead. Since the exchange rate is 1:1 for Chinese Yuan (not sure about now), QQ cash has become a very popular currency in the QQ community. But that&#8217;s not all, QQ has incorporated QQ games, anti-virus, browser, QQ space, downloader, etc. It almost as if the only thing Tencent did not have is its own operating system. As a result the client got very bulky and slowed down my computer quite a bit. I checked if there&#8217;s a way of <em>not</em> installing the unnecessary components but came up with no solution (not sure about how it is now). I also got very tired/bored of being harassed by strangers, and finally gave up QQ for <a href="http://en.wikipedia.org/wiki/Windows_Live_Messenger" target="_blank">MSN messenger</a>. MSN (now renamed to Windows Live Messenger), interestingly,  seems to follow the same path of QQ by trying to incorporate many community services and most annoying of all, flash advertisements (I don&#8217;t think even QQ has this &#8220;feature&#8221;). It is consuming a lot more memory than it used to be (and I started to favor <a href="http://en.wikipedia.org/wiki/Google_Talk" target="_blank">Google Talk</a>), more on that probably in another post.</p>
<p>What I do like are two of the features QQ provides: group chat and resumable file transfer. You can basically establish groups and invite people to join, and the group remains there until if the owner wants to delete it. The whole idea is for a group of people sharing the same interests to have a common ground to, well, have conversation. I know that MSN had the feature of inviting people to start group chat long time ago, but only recently did Windows Live Messenger incorporate the feature of groups. And of all IMs I have used, I don&#8217;t know any clients other than QQ that support resumable file transfer. To make things even more cumbersome (perhaps only for me }:-), many people now use those &#8220;one-for-all&#8221; type of IMs: <a href="http://www.pidgin.im/" target="_blank">Pidgin</a>, <a href="http://adium.im/" target="_blank">Adium</a>, <a href="http://www.meebo.com/" target="_blank">Meebo</a> (web-based) or IM within Gmail. This on one hand makes it really convenient for communicating with different IM accounts, but on the other hand you give up all the nice features of the particular IM clients: drag-n-drop file transferring, video/audio chat, screen-sharing (<a href="http://www.apple.com/macosx/what-is-macosx/ichat.html" target="_blank">iChat</a>). Nonetheless, it really boils down to personal preference, if my friends like it that way I just have to live with sending files as email attachments.</p>
<p>Although I abandoned QQ for quite a while, I have to admit that QQ has a significant success of marketing in China (considering ICQ almost dead in US). Furthermore, they are trying to improve. There is another IM client sharing the same account but with only the essential features of QQ, called Tencent Messenger (TM). It is &#8220;designed for communications among business people&#8221; hence those unnecessary components were stripped away. Couple of years ago Tencent finally released the English version of QQ and TM, this was a push for me to restart using my QQ id with TM (I mainly use English OS with US regional settings). QQ now also has versions for <a href="http://im.qq.com/qq/linux/" target="_blank">Linux</a> and <a href="http://im.qq.com/qq/mac/" target="_blank">OS X</a> (links to Chinese website, English website only has download for Windows version) it also finds its way to other mobile platforms as well. Particularly, I was amazed when I found out that the developers have ported QQ to iPhone OS. Although the clients on all the other platforms are not full-fledged &#8211; the interfaces look simple and the features are limited, I think they&#8217;ve made good effort and progress in trying to transport QQ onto other platforms.</p>
<p>Another interesting feature that I would like to emphasize is screen-grabbing during chats. Basically you click on the button and it enters screenshot mode, you drag the mouse to determine a region and then double click. The image will be copied to your sending box (where you type your messages, since it can now include images, it is not quite accurate to be called &#8220;textbox&#8221;), hence sharing information couldn&#8217;t be more easier (this works in both individual chat and group chat). Imagine if you want to send a piece of code for some one <strong>to read</strong>, with this you can send a nicely formatted version with a few clicks (if you want to argue that you cannot copy-n-paste directly from IM window to wherever else, meh, I am just illustrating an example here). I really like this feature and I don&#8217;t see any other IMs have it (actually one of the reasons I started to use TM again).</p>
<p>There are still improvements that can be made. First of all, the TM client (not sure about QQ) does not work well in multiple monitor setup. The main window automatically attaches to the right edge of the left screen (and &#8220;hides&#8221; itself in the right screen) if you try to drag it to your right screen. You will not be able to maximize the chat window in the secondary screen (the chat window will just disappear but not closed) and the screen-grabbing feature does not work on the secondary screen. Lastly, I would love it if QQ/TM saves chat histories on the servers (just like Gtalk/Gmail) since from time to time I do need access to them. Not everyone wants this though (especially when they are more of keep-it-off-the-record type of people).</p>
<p>I never thought I&#8217;d say this, but I do feel very proud of the developers of QQ/TM. For some of you who are interested, I highly recommend you to try it out and let your friends know about it. The English version can be downloaded <a href="http://www.imqq.com/download.shtml" target="_blank">here</a> (Windows only, I will check if OS X and Linux version have English language option).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=37&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2009/07/11/rediscover-qqtm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>

		<media:content url="http://www.cbl.uh.edu/~airfang/images/Tencent_QQ.png" medium="image">
			<media:title type="html">Tencent QQ</media:title>
		</media:content>
	</item>
		<item>
		<title>gtest + CMake + Visual Studio</title>
		<link>http://airfang.wordpress.com/2008/10/04/gtest-cmake-visual-studio/</link>
		<comments>http://airfang.wordpress.com/2008/10/04/gtest-cmake-visual-studio/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 17:36:57 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CMake]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[googletest]]></category>
		<category><![CDATA[gtest]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://airfang.wordpress.com/?p=25</guid>
		<description><![CDATA[I should have posted this sooner, but all kinds of things got in the way and&#8230; Okay, that was just some lame excuse, it is because my laziness that this site has been left unattended. I suddenly felt the urge of writing this post because the other day I saw my friend Dat was trying <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=25&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I should have posted this sooner, but all kinds of things got in the way and&#8230; Okay, that was just some lame excuse, it is because my laziness that this site has been left unattended.</p>
<p>I suddenly felt the urge of writing this post because the other day I saw my friend <a href="http://leohart.net/" target="_blank">Dat</a> was trying to get <a href="http://code.google.com/p/googletest/" target="_blank">gtest</a> to work with Visual Studio but ended up getting cryptic messages from linking errors. This has happened to me before, and I have investigated this issue.</p>
<p>In fact, using gtest library with CMake is fairly easy and straightforward. All you need to do is to find the corresponding library and the include path, and then link the gtest library against the executable. This works without a problem in Linux. However, it becomes a bit tricky when used in Windows (as expected?).</p>
<p>The main issue is the Runtime Library setting in Visual Studio:</p>
<p><a href="http://airfang.files.wordpress.com/2008/10/runtimelibrary.png"><img class="aligncenter size-large wp-image-30" title="Runtime Library Setting" src="http://airfang.files.wordpress.com/2008/10/runtimelibrary.png?w=500&#038;h=348" alt="" width="500" height="348" /></a></p>
<p>By default, it tries to load DLL, but I was feeding it LIB file. No wonder it complains. Suppose I am building in debug mode, I need to specify <strong>gtestd.lib</strong> to be my target library and select &#8220;<strong>Multi-threaded Debug (/MTd)</strong>&#8221; as the runtime library, whereas in release mode <strong>gtest.lib</strong> needs to be specified and &#8220;<strong>Multi-threaded (/MT)</strong>&#8221; should be selected.</p>
<p>So, is there any workarounds to avoid this manual hassle? Sure, simply do</p>
<p><code>SET(CMAKE_CXX_FLAGS_DEBUG "/MTd")</code></p>
<p>in the CMakeLists.txt, and it will be set automatically (somehow I was under the impression that I have tested this before and it was not working, but it did work just now).</p>
<p>Of course, you can specifically indicate that you want a DLL to be built in gtest. Yet so far I haven&#8217;t found a way to utilize the DLL (such that it can work with /MD or /MDd), I would have to defer this problem to some C++ gurus, i.e. <a href="http://www.cbl.uh.edu/~djik/" target="_blank">George Toderici</a> (if Google Alert ever alerts him about the existence of this post), to answer.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=25&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2008/10/04/gtest-cmake-visual-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>

		<media:content url="http://airfang.files.wordpress.com/2008/10/runtimelibrary.png?w=500" medium="image">
			<media:title type="html">Runtime Library Setting</media:title>
		</media:content>
	</item>
		<item>
		<title>In support of WordPress</title>
		<link>http://airfang.wordpress.com/2008/07/24/in-support-of-wordpress/</link>
		<comments>http://airfang.wordpress.com/2008/07/24/in-support-of-wordpress/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 17:49:10 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone 3G]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://airfang.wordpress.com/2008/07/24/in-support-of-wordpress/</guid>
		<description><![CDATA[With the release of firmware v2.0, playing the iPhone is more enjoyable than ever. Although the popularity of web applications is continously increasing, I just don&#8217;t feel like having to open Safari every time I need to do something on my iPhone because the responsiveness of the web applications is limited even under wifi connection. <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=20&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With the release of firmware v2.0, playing the iPhone is more enjoyable than ever. Although the popularity of web applications is continously increasing, I just don&#8217;t feel like having to open Safari every time I need to do something on my iPhone because the responsiveness of the web applications is limited even under wifi connection.</p>
<p>Now that WordPress has released the iPhone version of its blogging tool, I am trying it out without any hesitation (which is what I am doing right now), just to show my support. The writing tool is very neat, and I can also attach images at the end of this blog post. Unfortunately, due to the lack of copy-n-paste function on the iPhone, I don&#8217;t think you can insert hyperlinks in the text (nor did I find the option for doing so) and nor can you insert images from a URL. As the time of writing I just found out that the source of WordPress for iPhone is made available via their SVN server, throwing Apple&#8217;s SDK NDA right back in its face. It is interesting to see how Apple would respond.</p>
<p>It might also be worth noting that AT&amp;T&#8217;s 3G coverage is still under construction, at least here in Houston. For instance, I don&#8217;t have any 3G signal at home and little on campus (as can be seen from the screenshot attached). I have to manually disable 3G network to not waste my battery and to ensure the quality of my phonecalls. So basically I am using an iPhone 2.5G with a white finish (I am no fan of GPS).</p>
<p>Since this post is dedicated to WordPress I am going to save my comments on iPhone 3G for the next one.</p>
<p><a href="http://airfang.files.wordpress.com/2008/07/p-480-320-b1b2a3ff-4bde-47a8-bb2f-0064a91901c8.jpeg"><img class="alignnone size-full wp-image-364" src="http://airfang.files.wordpress.com/2008/07/p-480-320-b1b2a3ff-4bde-47a8-bb2f-0064a91901c8.jpeg?w=200&#038;h=300" alt="photo" width="200" height="300" /></a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/airfang.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/airfang.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=20&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2008/07/24/in-support-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>

		<media:content url="http://airfang.files.wordpress.com/2008/07/p-480-320-b1b2a3ff-4bde-47a8-bb2f-0064a91901c8.jpeg" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>
	</item>
		<item>
		<title>A couple of good/exciting news</title>
		<link>http://airfang.wordpress.com/2008/07/04/a-couple-of-goodexciting-news/</link>
		<comments>http://airfang.wordpress.com/2008/07/04/a-couple-of-goodexciting-news/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 09:30:45 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AT&T]]></category>
		<category><![CDATA[Diablo]]></category>
		<category><![CDATA[Diablo 3]]></category>
		<category><![CDATA[Diablo III]]></category>
		<category><![CDATA[googletest]]></category>
		<category><![CDATA[gtest]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone 3G]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://airfang.wordpress.com/?p=17</guid>
		<description><![CDATA[Out of no where (at least for me), Blizzard announced Diablo 3, the long waited successor of the famous Diablo series. Of course, I would assume (at least) another year and half before it going into beta, taking into consideration that even StarCraft 2 does not have a beta yet. Blizzard is &#8220;notorious&#8221; of postponing <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=17&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Out of no where (at least for me), <a href="http://www.blizzard.com" target="_blank">Blizzard</a> announced <a href="http://www.blizzard.com/diablo3/" target="_blank">Diablo 3</a>, the long waited successor of the famous Diablo series. Of course, I would assume (at least) another year and half before it going into beta, taking into consideration that even <a href="http://www.starcraft2.com/" target="_blank">StarCraft 2</a> does not have a beta yet. Blizzard is &#8220;notorious&#8221; of postponing delivery of the final products, as they always claim that they want to take as much time as needed to achieve certain level of perfection.</p>
<p>Another piece of exciting news is that a bunch of Google developers have initiated the Google C++ Testing Framework project. I am not a fanatic fan of unit testing like <a href="http://www.leohart.net/" target="_blank">Dat</a>, but I do appreciate the merits of <a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank">test driven development</a> (TDD). Previously there was (there still is now) <a href="http://cppunit.sourceforge.net/cppunit-wiki" target="_blank">CppUnit</a>, but it was not so straightforward to configure to work with Visual Studio. This can be attested by both Dat and me. Judging from the README and samples of <a href="http://code.google.com/p/googletest/" target="_blank">googletest</a>, everything should be as easy as in Ruby and Java. I will try it out when I finish the work at hand. The very first thing I need to do, however, is to figure out how to write the CMakeLists.txt to incorporate the test framework  in a new project.</p>
<p>Last but not the least, I think I found a hole in <a href="http://www.att.com/iphone" target="_blank">AT&amp;T&#8217;s iPhone 3G upgrade plan</a>. According its policy, ineligible AT&amp;T users need to pay $399/$499 for the 8G/16G model, but users who are currently on an iPhone plan are by default eligible for the upgrade price ($199/$299). Thus, <strong>before July 11th</strong>, which is the date when iPhone 3G goes on sale, if you can somehow get a hold of the first generation of iPhone, you can insert a new SIM card and activate it with your current number, which will upgrade your plan to an iPhone plan. Unless you have to show that you have an original iPhone when purchasing the new 3G model, you are qualified to upgrade just as other iPhone users.</p>
<p>I am not sure how AT&amp;T countermeasure this kind of &#8220;hand-me-down&#8221; abuse. Maybe they do, but another ironic fact is that even if you start another new plan and pay for the early cancellation fee ($175), that will be only 175 + 199 = 374 for you to get an iPhone without a plan. Adding one month service fee, it is still less than $599 (price to get an iPhone 3G without signing a 2-year contract). What the heck were you thinking, AT&amp;T?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/airfang.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/airfang.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=17&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2008/07/04/a-couple-of-goodexciting-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
		<item>
		<title>Yay! CUDA SDK is running properly!</title>
		<link>http://airfang.wordpress.com/2008/06/20/yay-cuda-sdk-is-running-properly/</link>
		<comments>http://airfang.wordpress.com/2008/06/20/yay-cuda-sdk-is-running-properly/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 20:30:53 +0000</pubDate>
		<dc:creator>airfang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CUDA]]></category>

		<guid isPermaLink="false">http://airfang.wordpress.com/?p=16</guid>
		<description><![CDATA[Although my work is not closely related to high performance computing, I just had this inherent obsession of optimizing programs to make them run faster (which I consider to be another expression of speed obsession). Last night I finally couldn&#8217;t stand waiting endlessly for NVIDIA to deliver the VS 2008-compatible CUDA toolkit and wanted to <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=16&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Although my work is not closely related to high performance computing, I just had this inherent obsession of optimizing programs to make them run faster (which I consider to be another expression of speed obsession). Last night I finally couldn&#8217;t stand waiting endlessly for NVIDIA to deliver the VS 2008-compatible CUDA toolkit and wanted to see for myself the cool examples CUDA SDK provides. Another key factor is that I still have my XP partition, which is something I can afford to screw up.</p>
<p>I then installed VS 2005 on it, but before I can run the examples I also need to install CUDA-enabled driver ( I tried without the driver, it didn&#8217;t work).  Anyway, the driver version is 177.35 as the time of writing and when I ran setup.exe it prompted that my hardware is not supported in this driver. Hey, what&#8217;s up with that? I thought <a href="http://www.nvidia.com/object/cuda_learn_products.html" target="_blank">all 8-series graphic cards are CUDA-enabled</a> (mine is 8800 GT by the way), this statement does not stand if I cannot install the CUDA-enabled driver which is required to run CUDA programs.</p>
<p>Googled a little bit, I soon learned that 177.35 was designed for the newest GTX 200 series (<a href="http://www.nvidia.com/object/geforce_gtx_280.html" target="_blank">280</a> and <a href="http://www.nvidia.com/object/geforce_gtx_260.html" target="_blank">260</a>) and I also found <a href="http://forums.nvidia.com/index.php?showtopic=70056" target="_blank">a workaround</a>. Basically by replacing the original <strong>nv4_disp.inf</strong> (<strong>nv_disp.inf</strong> in Vista) with a modified one, I tell the installer that my graphic card should also be entitled to use this driver.</p>
<p>After a restart all the examples in the SDK are running properly. Then I plan to move a little further &#8211; install the toolkit and SDK on my MacBook Pro (with a 8600M GT). The process was painless except I need to add CUDA to my $PATH. Also worth noting is that only CUDA 1.1 is compatible with OS X (CUDA 2.0 beta2 for most of other platforms), hence there are less examples in the SDK.</p>
<p>One more thing, I still need a CMake module in order to generate my CUDA project files. Luckily some guru has already <a href="http://www.koders.com/noncode/fidC0C9E1A6869C28D20C116D11E4DE1F4EFB1C2890.aspx" target="_blank">worked on it</a> (even better, there is also FindCg.cmake). But since I have not tested it yet, I cannot guarantee it will function properly.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/airfang.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/airfang.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/airfang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/airfang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/airfang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/airfang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/airfang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/airfang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/airfang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/airfang.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=airfang.wordpress.com&amp;blog=2169740&amp;post=16&amp;subd=airfang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://airfang.wordpress.com/2008/06/20/yay-cuda-sdk-is-running-properly/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ebc181d9ee7b496e2df217731f0192ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">airfang</media:title>
		</media:content>
	</item>
	</channel>
</rss>
