<?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/"
	>

<channel>
	<title>Echo.2</title>
	<atom:link href="http://blogs.infoecho.net/echo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.infoecho.net/echo</link>
	<description>ping and pong in the ocean of network</description>
	<lastBuildDate>Mon, 15 Feb 2010 16:07:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Review on Mitchell Model&#8217;s book, &#8220;Bioinformatics Programming Using Python&#8221;</title>
		<link>http://blogs.infoecho.net/echo/2010/02/15/review-on-mitchell-models-book-bioinformatics-programming-using-python/</link>
		<comments>http://blogs.infoecho.net/echo/2010/02/15/review-on-mitchell-models-book-bioinformatics-programming-using-python/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 16:07:37 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[comment]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=300</guid>
		<description><![CDATA[I am helping a local Pyhton interests group for a review of the book &#8220;Bioinformatics Programming Using Python&#8221; by Mitchell Model. Here is my review.
&#8212;
Comparing to Perl, Python has a quite lagged adoption as the scripting language of choice in the field of bioinformatics, although it is getting some moment recently.   If you read job [...]]]></description>
			<content:encoded><![CDATA[<p>I am helping a local Pyhton interests group for a review of the book &#8220;Bioinformatics Programming Using Python&#8221; by Mitchell Model. Here is my review.</p>
<p>&#8212;</p>
<p>Comparing to Perl, Python has a quite lagged adoption as the scripting language of choice in the field of bioinformatics, although it is getting some moment recently.   If you read job descriptions for bioinformatics engineer or scientist positions a few year back, you barely saw Python mentioned, even as a &#8220;nice to have optional skill&#8221;.  One of the reasons is probably lacking of good introductory level bioinformatics books in Python so there are, in general, less people thinking Python as a good choice for bioinformatics.   The book &#8220;Beginning Perl for Bioinformatics&#8221; from O Reilly was published in 2001.  Almost one decade later, we finally get the book &#8220;Bioinformatics Programming Using Python&#8221; from Mitchell Model to fill the gap.</p>
<p>When I first skimmed the book &#8220;Bioinformatics Programming Using Python&#8221;, I got the impression that this book was more like &#8220;learning python using bioinformatics as examples&#8221; and felt a little bit disappointed as I was hoping for more advanced content.  However, once I went through the book, reading the preface and everything else chapter by chapter, I understood the main target audiences that author had in mind and I thought the author did a great job in fulfilling the main purpose.</p>
<p>In modern biological research, scientists can easily generate large amount of data where Excel spreadsheets that most bench scientists use to process limiting amount of data is no longer an option.  I personally believe that the new generation of biologists will have to learn how to process and manage large amount inhomogeneous data to make new discovery out of it.  This requires general computational skill beyond just knowing how to use some special purpose applications that some software vendor can provide.  The book gives good introduction about practical computational skills using Python to process bioinformatics data.  The book is very well organized for a newbie who just wants to start to process the raw data their own and get into a process of learning-by-doing to become a Python programmer.</p>
<p>The book starts with an introduction on the primitive data types in Python and moves toward the flow controls and collection data type with emphasis on, not surprisingly, string processing and file parsing, two of most common tasks in bioinformatics. Then, the author introduces the object-oriented programming in Python. I think a beginner will also like those code templates for different patterns of data processing task in Chapter 4.  They summarize the usual flow structure for common tasks very well.</p>
<p>After giving the basic concept of programming with Python, the author focuses on other utilities which are very useful for day-to-day work for gathering, extracting, and processing data from different data sources. For example, the author discusses about how to explore and organize files with Python in the OS level, using regular expression for extracting complicated text data file, XML processing, web programming for fetching online biological data and sharing data with a simple web server, and, of course, how to program Python to interact with a database. The deep knowledge of all of these topics might deserve their own books. The author does a good job to cover all these topics in a concise way. This will help people to know what can be done very easily with Python and, if they want, to learn any of those topic more from other resources.  The final touch of the book is on structured graphics. This is very wise choice since the destiny of most of bioinformatics data is very likely to be some graphs used in presentations and for publishing.  Again, there are many other Python packages can help scientists to generate nice graph, but the author focuses on one or two of them to show the readers how to do general some graphs with them and the reader might be able to learn something else from there.</p>
<p>One thing I hope the author can also cover, at least at a beginner level, is the numerical and statistical aspect in bioinformatics computing with Python.  For example, Numpy or Scipy are very useful for processing large amount of data, generating statistics and evaluating significance of the results.  They are very useful especially for processing large amount data where the native Python objects are no longer efficient enough.  The numerical computation aspect in bioinformatics is basically lacking in the book.  The other thing that might be desirable for such a book is to show that Python is a great tool for prototyping some algorithms in bioinformatics.  This is probably my own personal bias, but I do think it is nice to show some basic bioinformatics algorithm implementations in python. This will help the readers to understand a little bit more about some of the common algorithms used in the field and to get a taste on a little bit more advanced programming.</p>
<p>Overall, I will not hesitate to recommend this book to any one who will like to start to process biological data on their own with Python. Moreover, it can actually serve as a good introductory book to Python regardless the main focus on bioinformatics examples. The book covers most day-to-day basic bioinformatics tasks and shows Python is a great tool for those tasks.  I think a little more advanced topics, especially on basic numerical and statistical computation in the book, will also help the target audiences. Unfortunately, none of that topic is mentioned in the book. That has been said, even if you are an experienced python programmer in bioinformatics, the book&#8217;s focus on Python 3 and a lot of useful templates might serve well as a quick reference if you are looking for something you do not have direct experience before.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2010/02/15/review-on-mitchell-models-book-bioinformatics-programming-using-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One line code to generate the reverse complement of a DNA sequence</title>
		<link>http://blogs.infoecho.net/echo/2009/07/23/one-line-code-to-generate-the-reverse-complement-of-a-dna-sequence/</link>
		<comments>http://blogs.infoecho.net/echo/2009/07/23/one-line-code-to-generate-the-reverse-complement-of-a-dna-sequence/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 05:14:34 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=295</guid>
		<description><![CDATA[No thing really outstanding, but it is nice you can do this in python.

"".join([dict(zip('ACGTacgt','TGCAtgca'))[c] for c in DNASeq[::-1]])

The &#8220;dict&#8221; probably be created too many times in this form.  The two lines version below will be much faster.

m = dict(zip('ACGTacgt','TGCAtgca'))
rcDNASeq="".join([m[c] for c in DNASeq[::-1]])

]]></description>
			<content:encoded><![CDATA[<p>No thing really outstanding, but it is nice you can do this in python.<br />
<code><br />
"".join([dict(zip('ACGTacgt','TGCAtgca'))[c] for c in DNASeq[::-1]])<br />
</code><br />
The &#8220;dict&#8221; probably be created too many times in this form.  The two lines version below will be much faster.<br />
<code><br />
m = dict(zip('ACGTacgt','TGCAtgca'))<br />
rcDNASeq="".join([m[c] for c in DNASeq[::-1]])<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2009/07/23/one-line-code-to-generate-the-reverse-complement-of-a-dna-sequence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to save PDF/Images from Mobile Safari to WebDAV compatible iPhone program?</title>
		<link>http://blogs.infoecho.net/echo/2009/06/27/how-to-save-pdfimages-in-directly-lfrom-mobile-safari-to-webdav-compatible-iphone-program/</link>
		<comments>http://blogs.infoecho.net/echo/2009/06/27/how-to-save-pdfimages-in-directly-lfrom-mobile-safari-to-webdav-compatible-iphone-program/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 17:37:43 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/2009/06/how-to-save-pdfimages-in-directly-lfrom-mobile-safari-to-webdav-compatible-iphone-program/</guid>
		<description><![CDATA[Unlike most desktop browser, there is no &#8220;download&#8221; option to save an image, a PDF file, etc., from the Mobile Safari so one can read thoses files offline. Well, this is purely a restriction imposed by Apple for security or whatever other stupid reasons.  Fortunately, with the most recent update of the operation that [...]]]></description>
			<content:encoded><![CDATA[<p>Unlike most desktop browser, there is no &#8220;download&#8221; option to save an image, a PDF file, etc., from the Mobile Safari so one can read thoses files offline. Well, this is purely a restriction imposed by Apple for security or whatever other stupid reasons.  Fortunately, with the most recent update of the operation that support cut and paste and some third party WebDAV compatible file viewer, there could have a workaround.</p>
<p>I have recently set up a system such that when I found an interesting URL, I can cut and paste the URL to a widget served from my own host such that it will fetch the resource from the URL, and save it to a location that corresponds to the location of a WebDAV service in my web host account. Then, I can setup the WebDAV compatible file viewer (currently, I am using Air Share Pro) to view the file in my WebDAV direcotry.  Specially, you can also download the files in the WevDAV server locally for future offline reading. This is extreme useful. Once the file is local, you don&#8217;t have to worry if you get wifi, EDGE, or 3G signal, and you might also save some battery power since you don&#8217;t have to reload the files from the network when you read a document on and off.</p>
<p>The main caveat is that you probably need your own web hosting service or iDisk that supports WebDAV. Beside that, you will need to some simple CGI/AJAX programming and spend some money to buy a WebDAV compatible file viewer like Air Share Pro. I won&#8217;t be surprised that one day there will be an iPhone app that implements something like this using a similar idea in a more polished way. Nevertheless, such application is always at Apple&#8217;s mercy. Once Apple opens some policy in the OS allowing sharing data and files between application like an real operation system, all workarounds will be totally useless. Wait, actually, the way I set up getting file to iPhone is not limited for submitting URL from Mobile Safari. Any browser can push the resource from an URL to the WebDAV directory, regradless if an desktop OS supports mounting a WebDAV volumn.  Not bad as an quick method to get some useful document in the Internet from a desktop system to iPhone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2009/06/27/how-to-save-pdfimages-in-directly-lfrom-mobile-safari-to-webdav-compatible-iphone-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A refresh start</title>
		<link>http://blogs.infoecho.net/echo/2008/10/19/a-refreshed-start/</link>
		<comments>http://blogs.infoecho.net/echo/2008/10/19/a-refreshed-start/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 06:28:13 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=111</guid>
		<description><![CDATA[Well, apparently, my host service screwed up the MySQL database of this blog. I guess it is a good chance to give it a refresh start. I do have some entries backed up and I might re-post some of those old entries if I think they might be useful.
]]></description>
			<content:encoded><![CDATA[<p>Well, apparently, my host service screwed up the MySQL database of this blog. I guess it is a good chance to give it a refresh start. I do have some entries backed up and I might re-post some of those old entries if I think they might be useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/10/19/a-refreshed-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Y-combinator in python</title>
		<link>http://blogs.infoecho.net/echo/2008/08/03/y-combinator-in-python/</link>
		<comments>http://blogs.infoecho.net/echo/2008/08/03/y-combinator-in-python/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 15:33:05 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=110</guid>
		<description><![CDATA[In my current work, the main stream platform is .NET. I have not invested a lot of time to start to program in C# for .NET, but I am kind of attracted by F#, which is a functional language for .NET that I would like to know more about.
Recently, I purchased a book to know [...]]]></description>
			<content:encoded><![CDATA[<p>In my current work, the main stream platform is .NET. I have not invested a lot of time to start to program in C# for .NET, but I am kind of attracted by F#, which is a functional language for .NET that I would like to know more about.</p>
<p>Recently, I purchased a book to know more about F# and I learn some thing that is called “<a href="http://en.wikipedia.org/wiki/Y_combinator">Y-combinator</a>” in functional programming. The F# code for the “Y-combinator” looks like this,</p>
<pre>let rec y f x =
  f (y f) x;;</pre>
<p>You can apply the “Y-combinator” to some non-recursive functional function to make it recursive. For example,</p>
<pre>let fac f = function
  | 0 -&gt; 1
  | n -&gt; n * f (n-1);;

&gt; y fac 5;;
val it : int = 120</pre>
<p>I was curious about how to do similar thing in Python. So, I try the following code snippet:</p>
<pre>def Y(f):
  def g(x):
    return f(Y(f))(x)
  return g

def fac(f):
  def g(x):
    return 1 if x == 0 else x * f(x-1)
  return g</pre>
<p>With these function definitions, “Y(fac)(10)” will give you the correct result 3628800. On the other hand, it is not really easy for me to understand this code as most of my daily programming tasks are in imperative programming style with some more straight forward functional feature. Beside the mathematical way (described in the wiki page) to understand how this work, one way one can see how this work is to see how the code unroll under python interpreter:</p>
<pre>Y(fac)(5) -&gt; fac(Y(fac))(5) -&gt; g(5) inside fac with f = Y(fac)</pre>
<p>Then the “g(5)” inside fac returns 5 * Y(fac)(4) . The Y(fac)(4) will return 4 * Y(fac)(3) and so on.</p>
<p>It seems there is a lot interesting thing in pure functional world. Hope I will learn more about them soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/08/03/y-combinator-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phdfs.py, a ctypes wrapper of hadoop libhdfs for python</title>
		<link>http://blogs.infoecho.net/echo/2008/05/10/phdfspy-a-ctypes-wrapper-of-hadoop-libhdfs-for-python/</link>
		<comments>http://blogs.infoecho.net/echo/2008/05/10/phdfspy-a-ctypes-wrapper-of-hadoop-libhdfs-for-python/#comments</comments>
		<pubDate>Sun, 11 May 2008 03:54:13 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=109</guid>
		<description><![CDATA[I use python and hadoop distributed file system (HDFS) to process large amount of data at work. Instead of using the regular map-reduce mechanism provided by hadoop, I have my home-made map-reduce python engine written using Pyro. It turns out it is quite efficient and sometimes it is much faster than the corresponding streaming code [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.python.org">python</a> and <a href="http://hadoop.apache.org/core/">hadoop</a> distributed file system (HDFS) to process large amount of data at work. Instead of using the regular map-reduce mechanism provided by hadoop, I have my home-made map-reduce python engine written using <a href="http://pyro.sourceforge.net/">Pyro</a>. It turns out it is quite efficient and sometimes it is much faster than the corresponding streaming code for some simple map-reduce work. For this kind of work, I access the file in HDFS using &#8220;hadoop fs -cat&#8221; by the unix pipe (<a href="http://docs.python.org/lib/os-newstreams.html">popen</a>) in python. It seems to me it might be useful to be able to bypass the somehow ugly unix pipe and &#8220;hadoop fs -cat&#8221; combination. There already is <a href="http://www.stat.purdue.edu/~sguha/code/hadoop/hadoop.py">a SWIG wrapper of python for hdfs</a>. However, I think it will be nice to have <a href="http://docs.python.org/lib/module-ctypes.html">ctypes</a> wrapper such that no extra compiling is necessary for installation. I spend a few nights working on such wrapper and hope it will be useful. The results is a single python module that I call &#8220;<a href="http://www.infoecho.net/files/phdfs.py">phdfs</a>&#8220;. It provides most of the API in the <a href="http://wiki.apache.org/hadoop/LibHDFS">libhdfs</a>. It will be useful if one want to read, write and manipulate the hadoop filesystem with the flexible and powerful python syntax.</p>
<p>You can download the <a href="http://www.infoecho.net/files/phdfs.py">phdfs.py</a>, and try it out yourself. I have not tested all the methods, so YMMV.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/05/10/phdfspy-a-ctypes-wrapper-of-hadoop-libhdfs-for-python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Postdocs,  &quot;Not Exactly Students, Not Exactly Employees, What are you?&quot;</title>
		<link>http://blogs.infoecho.net/echo/2008/05/03/postdocs-not-exactly-students-not-exactly-employees-what-are-you/</link>
		<comments>http://blogs.infoecho.net/echo/2008/05/03/postdocs-not-exactly-students-not-exactly-employees-what-are-you/#comments</comments>
		<pubDate>Sat, 03 May 2008 22:35:32 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=108</guid>
		<description><![CDATA[My neighbor shows me this article from East Bay Express. Those stories sound very familiar.  My personal feeling is that such academic system should be fixed soon.  The academic society should give more recognition to postdocs.
As a postdoc, you don&#8217;t get those benefit to students. You are not considered as a formal employee. [...]]]></description>
			<content:encoded><![CDATA[<p>My neighbor shows me <a href="http://www.eastbayexpress.com/ebx/PrintFriendly?oid=717595">this article</a> from East Bay Express. Those stories sound very familiar.  My personal feeling is that such academic system should be fixed soon.  The academic society should give more recognition to postdocs.</p>
<p>As a postdoc, you don&#8217;t get those benefit to students. You are not considered as a formal employee. You don&#8217;t get any benefit and you are paid low in the name of science. I still remember that I felt so absurd when I was told I could not pay my monthly parking fee by automatic deduction from my paycheck, because I was a &#8220;temporary worker&#8221; in the school I had being working for a few years.</p>
<p>Well, I can not say that my career is not benefit from my postdoc research.  But, I can not say I totally enjoy being treated by the school as &#8220;temporary worker&#8221; for an indefinitely amount of time.   One should treat the real &#8220;working horses&#8221; in the academic research industry a little better.  Without these working horses, there will be no &#8220;super-star&#8221; in research communities.  Anyway, there is not much point for me to complain anymore.  Industrial R&#038;D can be fun too.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/05/03/postdocs-not-exactly-students-not-exactly-employees-what-are-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>奇文共賞</title>
		<link>http://blogs.infoecho.net/echo/2008/04/18/%e5%a5%87%e6%96%87%e5%85%b1%e8%b3%9e/</link>
		<comments>http://blogs.infoecho.net/echo/2008/04/18/%e5%a5%87%e6%96%87%e5%85%b1%e8%b3%9e/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 00:39:08 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=107</guid>
		<description><![CDATA[在二十一世紀的今天，台灣的某大報系下的海外版的社論出現下列的句子：

『在「百年老店」裡，58歲的馬英九是春秋鼎盛、如日方中的新星。』
『他領導國民黨仆而復起，號召台灣人民、尤其是青年一代，終結了台獨政權，正是「青年創造時代」的典型。』
『愛因斯坦的「相對論」改造了百年間的科學奧秘，而孔孟之道卻歷經千餘年影響世道人心，連馬克斯信徒也不得不信。』
『鼓勵青年學習馬英九，絕不是搞甚麼「偶像祟拜」，更無意要造一座「新神」，而是就近取譬，用大家都看得見的事實，期勉繼往開來的青年世代，好好鑄造自己、鍛鍊自己，無負「青年創造時代」的期望。』

久居國外，我對馬英九了解不算多，也沒有意見。但看了這文章後，不得不想起那連小學裡作文都要以『解救大陸水深火熱同胞』『以三民主義統一中國』的年代。也許，只是也許，某聖君可以不和獨裁磕頭，完成反共復國的大業。這樣就不用每年去拜拜了。
Disclaimer: 我年幼無知的時候為了考試或是混公假，應該也寫了不少奇聞，不過那可是上世紀的歷史共業呀！
奇文原出處之一
我最先發現奇文的地方
]]></description>
			<content:encoded><![CDATA[<p>在二十一世紀的今天，台灣的某大報系下的海外版的社論出現下列的句子：</p>
<blockquote><p>
『在「百年老店」裡，58歲的馬英九是春秋鼎盛、如日方中的新星。』</p>
<p>『他領導國民黨仆而復起，號召台灣人民、尤其是青年一代，終結了台獨政權，正是「青年創造時代」的典型。』</p>
<p>『愛因斯坦的「相對論」改造了百年間的科學奧秘，而孔孟之道卻歷經千餘年影響世道人心，連馬克斯信徒也不得不信。』</p>
<p>『鼓勵青年學習馬英九，絕不是搞甚麼「偶像祟拜」，更無意要造一座「新神」，而是就近取譬，用大家都看得見的事實，期勉繼往開來的青年世代，好好鑄造自己、鍛鍊自己，無負「青年創造時代」的期望。』
</p></blockquote>
<p>久居國外，我對馬英九了解不算多，也沒有意見。但看了這文章後，不得不想起那連小學裡作文都要以『解救大陸水深火熱同胞』『以三民主義統一中國』的年代。也許，只是也許，某聖君可以不和獨裁磕頭，完成反共復國的大業。這樣就不用每年去拜拜了。</p>
<p>Disclaimer: 我年幼無知的時候為了考試或是混公假，應該也寫了不少奇聞，不過那可是上世紀的歷史共業呀！</p>
<p><a href="http://www.worldjournal.com/wj-editor.php?nt_seq_id=1693552">奇文原出處之一</a></p>
<p><a href="http://blog.roodo.com/weichen/archives/5779263.html">我最先發現奇文的地方</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/04/18/%e5%a5%87%e6%96%87%e5%85%b1%e8%b3%9e/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My one day trip to Lugradio, San Francsico, 2008</title>
		<link>http://blogs.infoecho.net/echo/2008/04/12/my-one-day-trip-to-lugradio-san-francsico-2008/</link>
		<comments>http://blogs.infoecho.net/echo/2008/04/12/my-one-day-trip-to-lugradio-san-francsico-2008/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 01:12:54 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[comment]]></category>
		<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=106</guid>
		<description><![CDATA[從 PingYeh 那聽到有 Lugradio 這週末在 San Francisco 舉行, 一時興起,決定和老婆女兒告假一天去看看熱鬧。
雖然我在 1993 還是 1994 安裝過 Linux with kernel version 0.97 後，有幾年是非 Linux 不用的人，參加 Linux / open source 社群的活動倒是第一次。台灣的 open source 活動開始熱絡的時候，我人已不再台灣，而人在米國的時候，因為學業和懶的關係也沒有看看過有沒有甚嘛好玩的活動可以參加。所以對我來說，這一次湊熱鬧的感覺是很新鮮的。

我約十一點多到達會場，當場交了米金大洋十塊錢，註了冊，拿了名牌和有贊助商的小禮品的小袋子就進到會場裡逛逛。會場是在 San Francisco  Metreon 戲院的頂樓的 CITY VIEW，從前到 Metron 時從來沒聽過有這麼個地方可以辦活動又還有不錯的 city view 的地方。同一時間內，會場會有三場演講進行，你可以選擇比較有興趣的來聽。不想聽的話，就可以逛逛廠商地展示。我隨意聽了幾個演講：其中有 Second Life 的人來說他們 open source 的策略，有 Bungee Connect 的人示範他們的發展平台，有 VMWare 的人展示 Virtual Machine 的 [...]]]></description>
			<content:encoded><![CDATA[<p>從 PingYeh 那聽到有 <a href="http://lugradio.org">Lugradio</a> <a href="http://lugradio.org/live/USA2008/schedule">這週末在 San Francisco 舉行</a>, 一時興起,決定和老婆女兒告假一天去看看熱鬧。</p>
<p>雖然我在 1993 還是 1994 安裝過 Linux with kernel version 0.97 後，有幾年是非 Linux 不用的人，參加 Linux / open source 社群的活動倒是第一次。台灣的 open source 活動開始熱絡的時候，我人已不再台灣，而人在米國的時候，因為學業和懶的關係也沒有看看過有沒有甚嘛好玩的活動可以參加。所以對我來說，這一次湊熱鬧的感覺是很新鮮的。</p>
<p><a href="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4957.jpg" onclick="window.open('http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4957.jpg','popup','width=400,height=300,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4957-tm.jpg" height="100" width="133" border="1" hspace="4" vspace="4" alt="Img 4957" /></a></p>
<p>我約十一點多到達會場，當場交了米金大洋十塊錢，註了冊，拿了名牌和有贊助商的小禮品的小袋子就進到會場裡逛逛。會場是在 San Francisco <a href="http://westfield.com/metreon/"> Metreon </a>戲院的頂樓的 CITY VIEW，從前到 Metron 時從來沒聽過有這麼個地方可以辦活動又還有不錯的 city view 的地方。同一時間內，會場會有三場演講進行，你可以選擇比較有興趣的來聽。不想聽的話，就可以逛逛廠商地展示。我隨意聽了幾個演講：其中有 Second Life 的人來說他們 open source 的策略，有 <a href="http://www.bungeeconnect.com/">Bungee Connect</a> 的人示範他們的發展平台，有 VMWare 的人展示 Virtual Machine 的 Streaming，也有 <a href="http://www.humanized.com/">Humanized</a> 的 Aza Raskin 討論使用者介面等等。 大部分都還滿有趣，但並沒有在很多技術上比較有深度的討論，大多的討論都在比較形而上的層次。但這樣也好。而從其他聽眾的提問看來，很多參與的人很重視 open source 的發展。</p>
<p>在其他廠商展示方面，我跑去收集了不少 linux 廠商提供的 live CD。而在眾多的廠商展示裡，對我來說最有趣的卻是兩個硬體的廠商。其一是 <a herf="http://www.ti.com/">TI</a> 可以跑 Linux 的單晶片電腦 <a href="http://beagleboard.org/">beagleboard</a> 。看來等 TI 六月出了這東西，我可能會受不了灑點錢買來玩玩。</p>
<p><a href="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4954.jpg" onclick="window.open('http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4954.jpg','popup','width=400,height=300,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4954-tm.jpg" height="100" width="133" border="1" hspace="4" vspace="4" alt="Img 4954" /></a></p>
<p>另外一個有趣的是我終於看到傳說中的 <a href="http://www.laptop.org/">OLPC</a>，的確是很可愛讓人會不住把玩的東西。可惜這有趣的 laptop 只能看看而已。</p>
<p><a href="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4955.jpg" onclick="window.open('http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4955.jpg','popup','width=400,height=300,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4955-tm.jpg" height="100" width="133" border="1" hspace="4" vspace="4" alt="Img 4955" /></a></p>
<p>今天最後一個演講到五點，本來要 skip 晚上的 party，已打算要回家了。在離開會場前，一個對 amateur biotech 有很大興趣的軟體工程師在得知我在一家 biotech 公司工作後，興高采烈的和我討論有沒有甚麼可以在家裡做的 biotech 的計畫，聊了一個小時後才放我回家。</p>
<p>明天 Lugradio 還有一整天的活動，不過我有其他事要做，不能去了。但今天的一日行倒是收穫不少。意外地得了不少在工作上或是家中得不到得 inspiration 和平常不容易看到的 San Francisco City View!!<br />
<a href="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4960.jpg" onclick="window.open('http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4960.jpg','popup','width=800,height=600,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/IMG_4960-tm.jpg" height="100" width="133" border="1" hspace="4" vspace="4" alt="Img 4960" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/04/12/my-one-day-trip-to-lugradio-san-francsico-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ad$ense or ad$pam?</title>
		<link>http://blogs.infoecho.net/echo/2008/04/02/adense-or-adpam/</link>
		<comments>http://blogs.infoecho.net/echo/2008/04/02/adense-or-adpam/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 02:49:47 +0000</pubDate>
		<dc:creator>Jason Chin</dc:creator>
				<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://blogs.infoecho.net/echo/?p=105</guid>
		<description><![CDATA[
I wish I have a little bit more virtual memory so I can convert virtual money to real one.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/200804022149.jpg" onclick="window.open('http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/200804022149.jpg','popup','width=596,height=173,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://infoecho.net/blogs/echo/wp-content/uploads/2008/04/200804022149-tm.jpg" height="100" width="344" border="1" hspace="4" vspace="4" alt="200804022149" /></a></p>
<p>I wish I have a little bit more virtual memory so I can convert virtual money to real one.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.infoecho.net/echo/2008/04/02/adense-or-adpam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
