<?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>白勺的博客</title>
	<atom:link href="http://www.baishaode.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.baishaode.com/blog</link>
	<description>紫罗兰花语</description>
	<lastBuildDate>Tue, 31 Aug 2010 06:45:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>漫画：为何你应该假装自己是一个电脑白痴</title>
		<link>http://www.baishaode.com/blog/?p=448</link>
		<comments>http://www.baishaode.com/blog/?p=448#comments</comments>
		<pubDate>Tue, 31 Aug 2010 06:45:30 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[SoftWare]]></category>
		<category><![CDATA[感悟]]></category>
		<category><![CDATA[转帖]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=448</guid>
		<description><![CDATA[很长时间不写文章了，先转发一篇吧。看过之后深感切入生活，符合常理，意味深长啊！看来以后我要加以预防了。 点击查看大图 转自这里，图文原作：The Oatmeal 汉化：fall_ar... ]]></description>
			<content:encoded><![CDATA[<p>很长时间不写文章了，先转发一篇吧。看过之后深感切入生活，符合常理，意味深长啊！看来以后我要加以预防了。</p>
<p><a href="http://www.baishaode.com/blog/wp-content/uploads/2010/08/computerService.png" rel="lightbox[448]"><img class="alignnone size-large wp-image-449" title="为何你应该假装自己是一个电脑白痴" src="http://www.baishaode.com/blog/wp-content/uploads/2010/08/computerService-118x1024.png" alt="" width="118" height="1024" /></a></p>
<p>点击查看大图</p>
<p>转自<a href="http://jandan.net/2010/08/30/about-computer.html" target="_blank">这里</a>，图文原作：The Oatmeal 汉化：fall_ark</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=448</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>美国人这样教育小学生</title>
		<link>http://www.baishaode.com/blog/?p=442</link>
		<comments>http://www.baishaode.com/blog/?p=442#comments</comments>
		<pubDate>Sun, 16 May 2010 08:16:44 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[My Time]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[感悟]]></category>
		<category><![CDATA[转帖]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=442</guid>
		<description><![CDATA[看到一篇这样的文章，描述了美国怎样教育儿童成材，转载过来。我想我们需要吸取的教训太多了，但是就目前来看是无法改变的，可以改变的只能是我们自己。故，多培养一些自己的自学能... ]]></description>
			<content:encoded><![CDATA[<p>看到一篇这样的文章，描述了美国怎样教育儿童成材，转载过来。我想我们需要吸取的教训太多了，但是就目前来看是无法改变的，可以改变的只能是我们自己。故，多培养一些自己的自学能力，培养自己的创新能力，培养下一代不像我们这样呆板。</p>
<p>当我把九岁的儿子带到美国，送他进那所离公寓不远的美国小学的时候，我就象是把自己最心爱的东西交给了一个我并不信任的人去保管，终日忧心忡忡。这是一 种什么样的学校啊！学生可以在课堂上放声大笑，每天至少让学生玩二个小时，下午不到三点就放学回家，最让我大开眼界的是没有教科书。</p>
<p>那个金发碧眼的美国女教师看见了我儿子带去的中国小学四年级课本后，温文尔雅地说：“我可以告诉你，六年级以前，他的数学不用学了！”面对她充满善意的 笑脸，我就像挨了一闷棍。一时间，真怀疑把儿子带到美国来是不是干了一生最蠢的一件事。</p>
<p>日子一天一天过去，看着儿子每天背着空空 的书包兴高采烈的去上学，我的心就止不住一片哀伤。在中国，他从小学一年级开始，书包就满满的、沉沉的，从一年级到四年级换了三个书包，一个比一个大，让 人感到“知识”的重量在增加。而在美国，他没了负担，这能叫上学吗？一个学期过去了，把儿子叫到面前，问他美国学校给他最深的印象是什么，他笑着给我一句 美国英语：“自由！”这两个字像砖头一样拍在我的脑门上。</p>
<p>此时，真是一片深情怀念中国教育。似乎更加深刻地理解了为什么中国孩子 老是能在国际上拿奥林匹克学习竞赛的金牌。不过，事已至此？也只能听天由命。</p>
<p>不知不觉一年过去了，儿子的英语长进不少，放学后也 不直接回家了，而是常去图书馆，不时就背回一大书包的书来。问他一次借这么多书干什么，他一边看着借来的书一边打着电脑，头也不抬地说：“作业。”</p>
<p>这叫作业吗？一看孩子打在电脑屏幕上的标题，我真有些哭笑不得――《中国的昨天和今天》，这样大的题目，即使是博士，敢去做吗？</p>
<p>于是我严声厉色地问是谁的主意，儿子坦然相告：老师说美国是移民国家，让每个同学写一篇介绍自己祖先生活的国度的文章。要求概括这个国家的历史、地理、 文化，分析它与美国的不同，说明自己的看法。我听了，连叹息的力气也没有了，我真不知道让一个十岁的孩子去做这样一个连成年人也未必能做的工程，会是一种 什么结果？只觉得一个十岁的孩子如果被教育得不知天高地厚，以后恐怕是连吃饭的本事也没有了。</p>
<p>过了几天，儿子就完成了这篇作业。 没想到，打印出来的是一本二十多页的小册子。从九曲黄河到象形文字，从丝路到五星红旗……热热闹闹。我没赞成，也没批评，因为我自己有点发楞，一是因为我 看见儿子把这篇文章分出了章与节，二是在文章最后列出了参考书目。我想，这是我读研究生之后才运用的写作方式，那时，我三十岁。</p>
<p>不久，儿子的另一篇作文又出来了。这次是《我怎么看人类文化》。如果说上次的作业还有范围可循，这次真可谓不着边际了。儿子真诚地问我：“饺子是文化 吗？”为了不耽误后代，我只好和儿子一起查阅权威的工具书。费了一番气力，我们完成了从抽象到具体又从具体到抽象的反反覆覆的折腾，儿子又是几个晚上坐在 电脑前煞有介事地作文章。我看他那专心致志的样子，不禁心中苦笑，一个小学生，怎么去理解“文化”这个内涵无限丰富而外延又无法确定的概念呢？但愿对 “吃”兴趣无穷的儿子别在饺子、包子上大作文章。在美国教育中已经变得无拘无束的儿子无疑是把文章作出来了，这次打印出来的是十页，又是自己的封面，文章 后面又列着一本本的参考书。他洋洋得意地对我说：“你说什么是文化？其实超简单――就是人创造出来让人享受的一切。”那自信的样子，似乎发现了别人没能发 现的真理。后来，孩子把老师看过的作业带回来，上面有老师的批语：“我安排本次作业的初衷是让孩子们开阔眼界，活跃思维，而读他们作业的结果，往往是我进 入了我希望孩子们进入的境界。”问儿子这批语是什么意思。</p>
<p>儿子说，老师没为我们感到骄傲，但是她为我们感到震惊。“是不是？”儿 子问我。</p>
<p>我无言以对，我觉得这孩子怎么一下子懂了这么多事？再一想，也难怪，连文化的题目都敢作的孩子，还有什么不敢断言的事 吗？</p>
<p>儿子六年级快结束时，老师留给他们的作业是一串关于“二次世界大战”的问题。“你认为谁对这场战争负有责任？”“你认为纳粹 德国失败的原因是什么？”“如果你是杜鲁门总统的高级顾问，你将对美国投原子弹持什么态度？”“你是否认为当时只有投放原子弹一个办法去结束战争？”“你 认为今天避免战争的最好办法是什么？”――如果是两年前，见到这种问题，我肯定会抱怨：这哪里是作业，分明是竞选参议员的前期训练！而此时，我已经能平心 静气地循思其中的道理了。</p>
<p>学校和老师正是在这一个个设问之中，向孩子们传输一种人道主义的价值观，引导孩子们去关注人类的命运， 让孩子们学习思考重大问题的方法。这些问题在课堂上都没有标准答案，它的答案，有些可能需要孩子们用一生去寻索。看着十二岁的儿子为完成这些作业兴致勃勃 地看书查资料的样子，我不禁想起当年我学二战史的样子，按照年代事件死记应背，书中的结论明知迂腐也当成《圣经》去记，不然，怎么通过考试去奔光明前程 呢？此时我在想，我们在追求知识的过程中，重复前人的结论往往大大多于自己的思考。而没有自己的思考，就难有新的创造。</p>
<p>儿子小学 毕业的时候，已经能够熟练地在图书馆利用电脑和微缩胶片系统查找他所需要的各种文字和图象资料了。有一天，我们俩为狮子和豹的觅食习性争论起来。第二天， 他就从图书馆借来了美国国家地理学会拍摄的介绍这种动物的录像带，拉着我一边看，一边讨论。孩子面对他不懂的东西，已经知道到哪里里去寻找答案了。</p>
<p>儿子的变化促使我重新去看美国的小学教育。我发现，美国的小学虽然没有在课堂上对孩子们进行大量的知识灌输，但是他们想方设法把孩子的目光引向校外那个 无边无际的知识海洋，他们要让孩子知道，生活的一切时间和空间都是他们学习的课堂；他们没有让孩子去死记硬背大量的公式和定理，但是，他们煞费苦心地告诉 孩子怎样去思考问题，教给孩子们面对陌生领域寻找答案的方法；他们从不用考试把学生分成三六九等，而是竭尽全力去肯定孩子们一切努力，去赞扬孩子们自己思 考的一切结论，去保护和激励孩子们所有的创作欲望和尝试。</p>
<p>有一次，我问儿子的老师：“你们怎么不让孩子背记一些重要的东西呢？” 老师笑着说：“对人的创造能力中有两个东西比死记硬背更重要：一个是他要知道到哪里里去寻找所需要的比它能够记忆的多得多的知识；再一个是他综合使用这些 知识进行新的创造的能力。死记硬背，就不会让一个人知识丰富，也不会让一个人变得聪明，这就是我的观点。”</p>
<p>我不禁记起我的一个好 朋友和我的一次谈话。他学的是天文学，从走进美国大学研究所的第一天起，到拿下博士学位的整整五年，他一直以优异的成绩享受系里提供的优厚奖学金。他曾对 我说：“我觉得很奇怪，要是凭课堂上的学习成绩拿奖学金，美国人常常不是中国人的对手，可是一到实践领域，搞点研究性题目，中国学生往往没有美国学生那么 机灵，那么富有创造性。”我想，他的感受可能正是两种不同的基础教育体系所造成的人之间的差异。中国人太习惯于在一个划定的框子里去旅展拳脚了，一旦失去 了常规的参照，对不少中国人来说感到的可能往往并不是自由，而是慌恐和茫然。</p>
<p>我常常想到中国的小学教育，想到那些课堂上双手背后 坐得笔直的孩子们，想到那些沉重的课程、繁多的作业、严格的考试……它让人感到一种神圣与威严的同时，也让人感到巨大的压抑和束缚，但是多少代人都顺从着 它的意志，把它视为一种改变命运的出路。这是一种文化的延续，它或许有着自身的辉煌，但是面对需要每个人发挥创造力的信息社会，面对明天的世界，我们又该 怎样审视这种孕育了我们自身的文明呢？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=442</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>你知道快递公司是怎样快递的吗？我来告诉你</title>
		<link>http://www.baishaode.com/blog/?p=438</link>
		<comments>http://www.baishaode.com/blog/?p=438#comments</comments>
		<pubDate>Thu, 13 May 2010 01:36:16 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[My Time]]></category>
		<category><![CDATA[其它]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=438</guid>
		<description><![CDATA[啥话都不说，上图 点击查看大... ]]></description>
			<content:encoded><![CDATA[<p>啥话都不说，上图</p>
<p><a href="http://www.baishaode.com/blog/wp-content/uploads/2010/05/yto.jpg" rel="lightbox[438]"><img class="alignnone size-medium wp-image-439" title="快递公司是这样快递的" src="http://www.baishaode.com/blog/wp-content/uploads/2010/05/yto-300x211.jpg" alt="" width="300" height="211" /></a><br />
点击查看大图</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=438</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>使用ZXing进行二维码的生成</title>
		<link>http://www.baishaode.com/blog/?p=436</link>
		<comments>http://www.baishaode.com/blog/?p=436#comments</comments>
		<pubDate>Tue, 11 May 2010 15:31:14 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[SoftWare]]></category>
		<category><![CDATA[Study]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=436</guid>
		<description><![CDATA[ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。于此同时，它同样提供cpp，ActionScript，android，iPhone，rim，j2me，j2se，jruby，C#等... ]]></description>
			<content:encoded><![CDATA[<p>ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。于此同时，它同样提供cpp，ActionScript，android，iPhone，rim，j2me，j2se，jruby，C#等方式的类库。zxing类库的作用主要是解码，是目前开源类库中解码能力比较强的（商业的另说，不过对于动辄成千上万的类库授权费用，的确很值）。</p>
<p>由于工作需要，需要进行二维码QR的生成和解码工作，首先是进行编码，即使用zxing类库对需要编码的字符或字节进行编码成QR码，并把这些编码出的内容变成图片（一般是png格式）。</p>
<p>首先，到zxing的项目首页<a href="http://code.google.com/p/zxing/downloads/detail?name=ZXing-1.5.zip" target="_blank">下载</a>类库的完整包。解压缩后会出现如下诸多目录：</p>
<ol>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>core</strong>:  The core image decoding library, and test code </a>主要用来做测试和一些演示代码，大部分为解码测试。</li>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>javase</strong>:  J2SE-specific client code 有一个GUI形式的解码器代码</a></li>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>android</strong>:  Android client, called Barcode Scanner. For Google的android系统</a>代码，内容较多，需要引入<a href="https://dl-ssl.google.com/android/repository/android-2.1_r01-windows.zip" target="_blank">android的SDK</a>。</li>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>androidtest</strong>:  Android test app 测试代码和应用示例</a></li>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>android-integration</strong>:  Supports integration with our Barcode Scanner app via Intent </a></li>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>zxingorg</strong>:  The source behind <tt>zxing.org/w</tt> </a>,zxing.rog的网站代码</li>
<li><a name="ZXing_(&quot;Zebra_Crossing&quot;)"><strong>zxing.appspot.com</strong>:  The source behind our web-based barcode generator, zxing.appspot.com网站代码，可以用来参考做web方式的编码生成器，不过它使用的是</a><a href="http://code.google.com/intl/zh-CN/apis/chart/docs/gallery/qr_codes.html">Google Chart Tools</a>做的生成工具，据我测试，Google Chart Tools对中文无法生成（可能有出入，未进行深入实验）</li>
</ol>
<p>虽然，Google Chart Tools已经可以很方便的生成QR码，不过受局限性较大，并且目前国内的防火墙经常处于不稳定时期，说不定何时chart就无法访问了。同时，生成速度上也会受网络局限，生成器也必须联网工作，故还是自己写一个生成应用较为稳妥。</p>
<p>我们可以 有两种方式来生成QR码，一种复杂一种相对简单，我的研究步骤是由复杂至简单。</p>
<p><strong>方法1：</strong></p>
<p>我们最先看到的应该是<a href="http://zxing.org/w/docs/javadoc/com/google/zxing/qrcode/package-summary.html" target="_blank">com.google.zxing.qrcode</a>包和<a href="http://zxing.org/w/docs/javadoc/com/google/zxing/qrcode/encoder/package-summary.html" target="_blank">com.google.zxing.qrcode.encoder</a>包，通过查看com.google.zxing.qrcode.encoder包的源码我们可以了解到encoder包是用来把我们提供的一系列字符编码成为二维码的矩阵形式，并且可以由我们打印出来。有此，我们可以用它生成的矩阵，来使用java.awt类库生成图像的方式生成QR码图像。（不要想着zxing会向目前收费类库一样，你提供字符，它生成图片那样傻瓜式，不过第二种方法对于这种傻瓜式的调用有过之而无不及。）</p>
<p>代码如下，这个代码对生成的图片会有问题，会造成解码器无法解码的情况，之所以我未继续进行修改是因为我发现了第二种方法：</p>
<p><em>//生成的字符型二维码有误，待调整</p>
<p>public class TestEncode {</p>
<p>public static void main(String[] args) throws Exception {<br />
String str = &#8220;test&#8221;;//二维码内容<br />
QRCode qrcode = new QRCode();<br />
try {<br />
Encoder.encode(str, ErrorCorrectionLevel.H, qrcode);<br />
} catch (WriterException e) {<br />
// TODO Auto-generated catch block<br />
e.printStackTrace();<br />
}<br />
int magnify = 1; //QR码放大倍数，默认高宽为21px<br />
byte[][] matrix = qrcode.getMatrix().getArray();<br />
int size = qrcode.getMatrixWidth()*magnify;<br />
//打印一下二维码<br />
//                ByteMatrix byteMatrix = qrcode.getMatrix();<br />
//                byte[][] bArray = byteMatrix.getArray();<br />
//                for (int i = 0; i &lt; bArray.length; i++) {<br />
//                        for (int j = 0; j &lt; bArray[i].length; j++) {<br />
//                                System.out.print(bArray[i][j] + &#8221; &#8220;);<br />
//                        }<br />
//                        System.out.println(&#8220;&#8221;);<br />
//                }</p>
<p>//Make the BufferedImage that are to hold the QRCode</em> <em><br />
BufferedImage im = new BufferedImage (size,size,BufferedImage.TYPE_INT_RGB);<br />
im.createGraphics();<br />
Graphics2D g = (Graphics2D)im.getGraphics();<br />
g.setColor(Color.WHITE);<br />
g.fillRect(0, 0, size, size);</p>
<p>//BitMatrix for validation<br />
BitMatrix bm = new BitMatrix(qrcode.getMatrixWidth());</p>
<p>//paint the image using the ByteMatrik<br />
for(int h = 0;h&lt;qrcode.getMatrixWidth();h++){<br />
for(int w = 0;w&lt;qrcode.getMatrixWidth();w++){<br />
//Find the colour of the dot<br />
if(matrix[h][w] == 0)<br />
g.setColor(Color.WHITE);<br />
else{<br />
g.setColor(Color.BLACK);<br />
bm.set(h, w);//build the BitMatrix<br />
}</p>
<p>//Paint the dot<br />
g.fillRect(h*magnify, w*magnify, magnify, magnify);<br />
}<br />
}</p>
<p>//Try to decode the BitMatrix<br />
Decoder decoder = new Decoder();<br />
DecoderResult result = null;<br />
try {<br />
result = decoder.decode(bm);<br />
} catch (ReaderException e1) {<br />
// TODO Auto-generated catch block<br />
e1.printStackTrace();<br />
}</p>
<p>//Compare the decoded BitMatrix with the input string</em></p>
<p><em> if(!result.getText().equals(str))<br />
throw new Exception(&#8220;Error encodeing the QRCode&#8221;);</p>
<p>//保存图像文件<br />
try {<br />
ImageIO.write(im, &#8220;png&#8221;, new File(&#8220;d:/testimg.png&#8221;));<br />
} catch (IOException e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
}</em></p>
<p><strong>方法2：</strong></p>
<p>我在zxing的诸多类库包中查找的过程中发现<a href="http://zxing.org/w/docs/javadoc/com/google/zxing/client/j2se/package-summary.html" target="_blank">com.google.zxing.client.j2se</a>类库中的<a href="http://zxing.org/w/docs/javadoc/com/google/zxing/client/j2se/MatrixToImageWriter.html" target="_blank">MatrixToImageWriter</a>类很是符合上面我们写的图片生成过程的口味，于是导入后试用发现原来zxing的生成QR码竟然如此简单。</p>
<p>代码如下：</p>
<p><em>public class MyTestEncode {</p>
<p>public static void main(String[] args) {</p>
<p>String str = &#8220;test&#8221;;//二维码内容<br />
String path = &#8220;d:/test&#8221;;</p>
<p>ByteMatrix byteMatrix;<br />
try {<br />
byteMatrix = new MultiFormatWriter().encode<br />
(str,BarcodeFormat.QR_CODE, 200, 200);</p>
<p>File file = new File(path + &#8220;.png&#8221;);</em> <em><br />
MatrixToImageWriter.writeToFile(byteMatrix, &#8220;png&#8221;, file);<br />
} catch (IOException e) {<br />
e.printStackTrace();<br />
} catch (WriterException e1) {<br />
e1.printStackTrace();<br />
}<br />
}<br />
}</em></p>
<p>由于zxing包括很多支持各种语言和开发环境的类库，所以对于zxing的使用方法没有更加详细的阐述，只是给了我们api文档查询，当我们了解它熟悉它以后才会发觉原来zxing用起来竟然如此舒服。</p>
<p>同时，zxing的core部分为代码的测试部分，在测试时需要使用到junit，用eclipse导入后，右键你想运行的方法名run as junit即可。</p>
<p>目前工作只涉及到编码部分，相应的解码部分的编写，以后涉及的时候我会写出。以上部分代码，参考、提取自<a href="https://groups.google.com/group/zxing" target="_blank">zxing group</a>(由于墙的不稳定，这个地址不容易访问).</p>
<p>本人编程菜鸟，抛砖引玉，希望以上文字能够帮助需要的人。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=436</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>手机号段归属地数据库</title>
		<link>http://www.baishaode.com/blog/?p=434</link>
		<comments>http://www.baishaode.com/blog/?p=434#comments</comments>
		<pubDate>Tue, 11 May 2010 11:54:59 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[SoftWare]]></category>
		<category><![CDATA[Program]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=434</guid>
		<description><![CDATA[近来由于工作需要，在网上搜集了一些手机号段归属地数据库，在查找的过程中发现有很多人使用这些数据库赚钱，多者几千，少者几百。在此把我搜集的一些数据库发布出来，希望给有需要... ]]></description>
			<content:encoded><![CDATA[<p>近来由于工作需要，在网上搜集了一些手机号段归属地数据库，在查找的过程中发现有很多人使用这些数据库赚钱，多者几千，少者几百。在此把我搜集的一些数据库发布出来，希望给有需要的人以帮助。</p>
<p>压缩包内包含若干数据库文件，发布的时间不同，大家可以打开查看，根据里面的条数来确定使用哪个。推荐使用 手机号段.txt文件，这个包含18和15号段的，较新。</p>
<p>这些数据库文件全部从网上搜集，未做任何更改，如果侵害到了您的利益请联系我，我将去除。谢谢！</p>
<p><a href="http://www.rayfile.com/files/bf72a568-5cf3-11df-8a6c-0015c55db73d/" target="_blank">手机号段归属地数据库下载</a></p>
<p>注：由于文件过大，遂使用网络硬盘提供下载，如果您发现链接失效，请告知我，我将修补。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=434</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>父亲</title>
		<link>http://www.baishaode.com/blog/?p=432</link>
		<comments>http://www.baishaode.com/blog/?p=432#comments</comments>
		<pubDate>Mon, 03 May 2010 05:54:55 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[情感]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=432</guid>
		<description><![CDATA[无意中听到了一则这样的录音，颇为感动，希望同为人子女的你我听一听，当我们的父母慢慢老去的时候，我们能够增加一分耐心，保持我们的孝心... ]]></description>
			<content:encoded><![CDATA[<p>无意中听到了一则这样的录音，颇为感动，希望同为人子女的你我听一听，当我们的父母慢慢老去的时候，我们能够增加一分耐心，保持我们的孝心。</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="420" height="363" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="wmode" value="opaque" /><param name="src" value="http://www.tudou.com/v/gWzbukLNLzg" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="420" height="363" src="http://www.tudou.com/v/gWzbukLNLzg" wmode="opaque" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=432</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3G &amp; GPRS 在嵌入式Linux下的集成</title>
		<link>http://www.baishaode.com/blog/?p=430</link>
		<comments>http://www.baishaode.com/blog/?p=430#comments</comments>
		<pubDate>Thu, 22 Apr 2010 07:30:28 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[SoftWare]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=430</guid>
		<description><![CDATA[由于近一段时间，公司项目需要在嵌入式系统中使用Linux拨号对外通信，故做了这方面的研究，现在写出来希望对你有用。 Linux的图形模式下的驱动安装或者拨号我就不再写了，毕竟都很简单的... ]]></description>
			<content:encoded><![CDATA[<p>由于近一段时间，公司项目需要在嵌入式系统中使用Linux拨号对外通信，故做了这方面的研究，现在写出来希望对你有用。</p>
<p>Linux的图形模式下的驱动安装或者拨号我就不再写了，毕竟都很简单的事，下面说一下在嵌入式系统中的集成方式。由于和产品提供公司签有保密协议，故在这里无法透露具体的产品名称、型号以及具体的modem数据，请见谅。我只大体上说明一下集成的流程。</p>
<p>首先说一下开发环境：使用ARM嵌入式开发板，Linux内核2.6.28，某公司3G modem模块，3G使用联通WCDMA。</p>
<p>1、从www.kernel.org 这里下载相关内核，不用太新，版本号稍微大一些，这样基本上就集成了你用的modem的驱动。如果你必须使用小版本的，可以找供应商索取集成文档，下载下来源码后作修改。</p>
<p>2、对集成了驱动的内核做交叉编译，在编译中不要忘记选择ppp协议（这个一般会自动集成）。</p>
<p>3、把bin文件烧录到ARM中。</p>
<p>4、到ppp.samba.org/ppp/download.html 这里下载ppp和chat软件，交叉编译，你用wvdial也可以，我在pc机上拨号试验成功，但是交叉编译起来需要另外很多其他的库文件，太过于麻烦，所以走ppp这条脚本拨号路子。</p>
<p>5、编写拨号脚本，这个网上有很多，copy下来改改即可。一般设备厂家也会给你拨号脚本的。</p>
<p>6、copy把以上编译的和脚本拷贝到开发板上，请注意编写好的脚本最好放在/etc/ppp/的目录下，另外，脚本文件最好不要在windows下编写，应用vim来做，不然有可能会出现找不到文件的情况。</p>
<p>7、使用 ./scriptName 方式运行脚本拨号即可。</p>
<p>当出现如下提示</p>
<p>Beginning&#8230;<br />
Dialing up&#8230;*99#<br />
Logging&#8230;<br />
Serial connection established.<br />
using channel 5<br />
Using interface ppp0<br />
Connect: ppp0 &lt;&#8211;&gt; /dev/ttyUSB_*（这里根据设备不同而不同，我用的usb口）<br />
下面一大串sent和rcvd，太多不贴了，然后再往下<br />
local  IP address 172.*.*.*（这些IP根据环境不同而不同）<br />
remote IP address 10.*.*.*<br />
primary   DNS address 10.*.*.*<br />
secondary DNS address 10.*.*.*</p>
<p>运行ifconfig -a命令后出现ppp0，并且也有IP地址，则你已经拨号成功了。下面就是基于tcp/ip的编程，和用局域网一样。</p>
<p>本人Linux刚刚学起，以上抛砖引玉。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=430</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>哀悼同胞 祈福玉树</title>
		<link>http://www.baishaode.com/blog/?p=428</link>
		<comments>http://www.baishaode.com/blog/?p=428#comments</comments>
		<pubDate>Wed, 21 Apr 2010 05:11:12 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=428</guid>
		<description><![CDATA[哀悼同胞 祈福玉树 默哀…... ]]></description>
			<content:encoded><![CDATA[<p>哀悼同胞 祈福玉树 默哀……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=428</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>项目管理的“六拍”</title>
		<link>http://www.baishaode.com/blog/?p=421</link>
		<comments>http://www.baishaode.com/blog/?p=421#comments</comments>
		<pubDate>Sat, 03 Apr 2010 05:48:27 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[SoftWare]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=421</guid>
		<description><![CDATA[项目管理的“六拍”并非本人原创，最开始我是从我的领导那听到的，我觉得很有意思，很形象，很贴合实际。下面介绍一下什么是项目管理“六拍”，以及 我的一些感受。 作者：张传波 软... ]]></description>
			<content:encoded><![CDATA[<p>项目管理的“六拍”并非本人原创，最开始我是从我的领导那听到的，我觉得很有意思，很形象，很贴合实际。下面介绍一下什么是项目管理“六拍”，以及 我的一些感受。</p>
<p>作者：张传波</p>
<p>软件知识大学 首席专家</p>
<p><a href="http://www.umlonline.cn/school/">www.umlonline.cn/school/</a></p>
<p><strong>第一拍：拍脑袋</strong></p>
<p>客户领导与软件公司领导在一起，“拍脑袋”确定了一个项目，于是项目马上就要开始了，你的麻烦马上就要来了。<br />
“拍脑袋”主要说明的问题是没 有想清楚为什么要做这个项目，不怎样考虑可行性和最终效果，就冲动地让项目上马了。</p>
<p>我的感受：<br />
作为项目经理的你，往往无法干预这个“拍脑袋”的过程，你想你的领导下次拍脑袋能拍好一点，恐怕也不太可能。你能做到的事情就 是，搞清楚项目的背景、搞清楚你的领导和客户的领导做这个项目的动机是什么？<br />
项目要成功，你必须同时满足你的领导和客户的想法。当然双方领导的想 法可能都不确定，这可能会让你很被动，但也给你带来机会来“控制”这些事情，前期虽然是“拍脑袋”安排这个项目，但你可以在后期充分与双方领导沟通，逐步 将领导脑袋中不明确的东西明确（当然难度超高），让项目有成功的机会。</p>
<p><strong>第二拍：拍肩膀</strong></p>
<p>领导安排项目工作给你时，往往是语重心长地说类似这样的话：这个项目对公司如何如何重要，你是公司中非常重要的人物，这个项目没有你不能成 功&#8230;&#8230;拍你的肩膀，就是和你套亲切和信任，有时候还会请你甚至是项目组吃饭，表示对大家的感谢和信任。</p>
<p>我的感想：<br />
咱们做软件开发的，其实不是傻的，这些门面功夫其实让我觉得很恶心，而你遇到这样的情况时，你又必须虚伪地做下面的第三拍的事 情，更加恶心！但如果我是领导，我会如何安排项目工作下去呢？会不会也是这样做这些恶心的门面功夫？</p>
<p><strong>第三拍：拍胸口</strong></p>
<p>有些朋友，可能真的是以为领导很重视你，义无反顾的“拍胸口”保证没有问题！<br />
有些朋友就比较聪明，他知道这个项目你是不可能推脱的（除非你 想走人），但他又知道任务艰巨，他会在拍胸口的同时，要求增加人手和延长工期，往往会得到老板的一些妥协。<br />
而我是属于比较蠢的一种，我会直接跟领 导说这个项目的一些重大问题，有些项目我了解到项目“拍脑袋”过程后，我甚至会说这个项目不可能成功。我这样做往往惹领导不高兴，觉得我不听话，认为我对 本项目没有信心等等。</p>
<p>我的感想：<br />
做人真难，我不是随便承诺的人，我能列出项目的具体问题，说明已经认真思考了，有问题自然有努力的方向，没有问题其实问题更大， 不知道领导是怎样想的？拍胸口真的是很痛苦的事情啊！</p>
<p><strong>第四拍：拍桌子</strong></p>
<p>项目进展不理想，领导拍桌子骂人！<br />
领导拍桌子骂人，可能是真的很火，忍不住拍了，也可能是要给你一种威慑感，让你更有压力的干活。<br />
也 有的领导很厉害，会忍住怒火，他知道目前只能靠你，等项目完了后才“收拾”你！</p>
<p>我的感想：<br />
用工厂模式来管理软件项目，其实是很傻的做法。软件项目是充满创造力的事情，无聊的高压，往往让项目组不思考如何更简单，更少工 作量，而疲于奔命，不断返工。而老板见到你拼命加班，虽然工作成功不尽理想，但至少老板心里会舒坦一些。这是多么无聊的怪现象啊！<br />
如果遇到厉害的 领导，暂时忍住怒火，继续对你“以礼相待”。有人会趁机“要挟”一把，这时候要求加薪，90%是没有问题的，但你等着项目后被开掉吧，而且可能会被开得很 惨。</p>
<p><strong>第五拍：拍屁股</strong></p>
<p>现在不是奴隶社会，我又不是终身卖给你的，老子不打东家可以打西家，你可以发飙，老子何尝不可以！老子走人，你自己管你这个破项目吧！</p>
<p>我的感想：<br />
不管东家还是西家，其实家家都是一个鬼样，你只是从一个火坑跳到另外一个火坑而已。不要轻易拍屁股，要思考自己是否值得留下来！ 凡事没有完美，出来打工更加不可能事事顺意，从你的职业规划思考，你值不值得继续为这个项目奋斗？当然要记住，做人要有基本的职业道德，他不仁，我不会不 义！</p>
<p><strong>第六拍：拍大腿</strong></p>
<p>领导将项目经理气走了，项目无人打理，于是拍大腿后悔。</p>
<p>我的感想：<br />
早知如此，何必当初呢？但很多领导还是不断地重复着“六拍”，领导还真的是不好当啊！</p>
<p>&#8212;&#8212;全文完&#8212;&#8212;</p>
<p>转自<a href="http://www.cnblogs.com/umlonline/archive/2010/04/01/1702461.html">这里</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=421</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何阅读信息和提高阅读效果？</title>
		<link>http://www.baishaode.com/blog/?p=419</link>
		<comments>http://www.baishaode.com/blog/?p=419#comments</comments>
		<pubDate>Mon, 29 Mar 2010 03:38:38 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[转帖]]></category>

		<guid isPermaLink="false">http://www.baishaode.com/blog/?p=419</guid>
		<description><![CDATA[当我订阅的feed越来越多后，每天最大的问题就是如何消化掉这些信息。阅读占了我生活很大的一部分，能不能获得新知，那就得看阅读的效果了。这 里，借用两篇文章说明一下如何阅读信息和... ]]></description>
			<content:encoded><![CDATA[<p>当我订阅的feed越来越多后，每天最大的问题就是如何消化掉这些信息。阅读占了我生活很大的一部分，能不能获得新知，那就得看阅读的效果了。这 里，借用两篇文章说明一下如何阅读信息和提高阅读效果。</p>
<p>第一篇：明城的<strong><a href="http://www.gracecode.com/archives/3017/" target="_blank">生活、读书、新知</a></strong></p>
<p>记得中学的时候从书店的角落中不经意翻到本“野史”， 自此就对教科书外介绍的另一面历史感到情有独钟。书的名字自然已经不得不被遗  忘，但书的出版社却已经记得清清楚楚。</p>
<p>由此，喜欢上“野史”的同时，也爱屋及乌得喜欢上这 家名叫<a title="http://baike.baidu.com/view/62481.htm" href="http://baike.baidu.com/view/62481.htm" target="_blank">三联书店</a>的图 书。同时，它的“生活、读书、新 知”这三个词语，也深深得烙进了我的灵魂中。</p>
<p>读书能获得新知，从而充实自己的生活，但现世的浮躁，已经很难让人静下心来慢慢得咀嚼完一本好书。想起在某本书中碰 到的段话：</p>
<blockquote><p>“我们生活在信息爆炸的社会，我们所遇到的问题不是信息汲取的困难，而大脑无法辨认真正我们想要的信息。</p>
<p>我们习惯每天上网拿着鼠标面对冰冷的显示器查找我们所需要的信息，却忽略了我们身边随时可以‘请教’的老师。”</p></blockquote>
<p>每天面对 <a title="https://www.google.com/reader/" href="https://www.google.com/reader/" target="_blank">Google Reader</a> 的信息爆炸，甚至是 1000+  的未读信息，是不是有强迫自己继续读下去生怕自己会遗漏某些重要的信息？</p>
<p>相信我，如果真的有那么多信息，你也不可能全部消化，更不用说找到有用处的信 息。那么，你还不如直接 Shift + A  让这些“多余”的信息直接在面前消失，然后去做更加有意义的事情。</p>
<p>是的，我承认曾经我也碰到了这样两难的境地，甚至我怀疑我有强迫症的倾向。</p>
<p><img title="http://pic.yupoo.com/feelinglucky/5260790a5175/medium.jpg" src="http://pic.yupoo.com/feelinglucky/5260790a5175/medium.jpg" alt="http://pic.yupoo.com/feelinglucky/5260790a5175/medium.jpg" /></p>
<p><a title="http://notinventedhe.re/on/2010-3-9/comic" href="http://notinventedhe.re/on/2010-3-9/comic">via</a></p>
<blockquote><p>A： 在我的新闻阅读器中，大概有 300 个种子。<br />
B：什么是新闻阅读器？<br />
A：你不知道 RSS、ATOM 这些玩意？<br />
A：你到现在 还不会直接访问他们的站点每个挨个去阅读吧？<br />
B：当然不会，我会把它们打印出来然后吃饭的时候慢慢阅读。<br />
A：好吧，这是你的信仰。</p></blockquote>
<p>其实上面的可能不仅仅是个笑话。所以，如果你能明白下面这些道理，那么我相信你会知道自己需要的是什么：</p>
<ol>
<li>看过的信息不代表就是你的，好记性不如烂笔头</li>
<li>时间和精力都是有限的，但它们都是资源</li>
<li>永远不要强迫自己做什么，如果真的需要如此，那么至 少努力让自己不会厌恶它</li>
<li>如果觉得自己没时间，那么尝试在厕所扔本书，即便是杂志也好</li>
<li>睡觉前半小时不要碰任何电子设备</li>
<li>…</li>
</ol>
<p>还是那句话，大道理其实谁都明白，做与不做是另外一回事情。</p>
<p>第二篇：同人于野的<strong><a href="http://www.geekonomics10000.com/437" target="_blank">新闻全是鸡肋</a></strong></p>
<p>“新闻”，是个听起来相当正面的词，看新闻代表关心时事，就好像是个正事儿似的。但事实是大多数新闻都是垃圾。娱乐和社会新闻不提，就算是正经的新 闻，有时候  也只是让人只恨时间过得不够快。先是 Goolge 说不干了，然后是 Google.cn 不审了，然后是 Google.cn  又审了，然后是  Google 不走了，然后是 Google 说还要谈，现在终于谈不拢了。可以想象，如果将来有人写本书，其中把  Google.cn   的故事当个例子谈，看那本书显然比全程跟踪这些新闻要有效率的多。有些比赛的确值得看现场直播，但有些比赛直接告诉我最后比分就行了。</p>
<p>网上文章大多数都是鸡肋信息。这些信息价值不大却都很有趣，吸引我们一条一条的读过去，实际上等于被动上网。但另一方面，我们的确很关心一些事件的 进展，而且 担心错过万一有一篇真正值得仔细研读的文章。怎么办呢？</p>
<p>我认为处理鸡肋信息，应该如同选拔超级女声。关键思想是要分阶段一层一层地选，不要  试图在第一轮就决定谁是冠军。给每个前来报名的女孩机会，但初选的时候每人只有极短的表演时间。</p>
<p>时代周刊的书评栏，给新书评价等级的标记方 法很有意思，不是评“好、中、坏”，而是按“值得怎么读”分类，三个等级是 toss  （随便翻翻），skim （略读），和 read  （精读）。本文借鉴这个名目，提出一种高效看新闻和论坛博客文章的办法。</p>
<p><strong>第一步，toss.</strong></p>
<p>关键是集中。比较 好的做法是在 firefox 浏览器的 bookmark toolbar  上建立一个文件夹，其中包括所有每天必去访问的新闻站点和论坛。</p>
<p>选 择一个集中的时间专门看新闻。鼠标右键点击这个文件夹，选择全部在 tab   中打开。然后浏览所有这些站点的标题。看到感兴趣的就用鼠标中键点击，这么点的好处是点中的文章会在新的 tab 中打开而不必离开当前页。</p>
<p>这 一步要做的不是读新闻，而是挑选新闻。只点不读，直到把所有要去的站点都浏览一遍为止。</p>
<p>据说美国曾有一个后来很有名气的女演员，当年参加海  选的时候刚刚表演不到一分钟就被评委叫停。事后才知道这是因为评委一看就知道她行，认为不必浪费时间了。这就是海选的要点。</p>
<p>集中的最大好处 是让各条新闻在一起互相竞争，就好像排队选美一样，好的文章容易突出，不行的文章很难因为偶然因素获得点击。</p>
<p><strong>第二步，skim.</strong></p>
<p>等  到挑选出来要读的这十几或者几十条新闻之后，一条一条地快速浏览其内容。这里我比较喜欢用一个插件，FireGestures，使用鼠标手势的最大好处是  关闭 tab 特别快。给每条新闻一个极短的时间，大概扫视一遍就可以了，然后迅速关闭这个 tab。</p>
<p>在这一步一定要追求快。看到真正好， 值得仔细读的文章也要速读。推荐使用 “Read It Later”   插件。把要细读的文章点击一下自动保存网址，以后看的时候会有一个文章列表，而且是云计算的可以跨机器使用。</p>
<p>完成了 skim  这一步就等于所有的鸡肋信息都被处理完毕。什么中国足球抓赌又抓了谁，什么 Google  今天又说了走还是不走，我们已经统统了解了。Toss 和  skim 这两步要快速集中地完成，比如我通常在每天早上半小时之内就这样 debrief  了互联网。</p>
<p>一篇文章进入 Read It  Later 列表，就等于进入了超女前十名总决赛。这样做的另一个好处让好文章有机会被读两遍，加深印象。</p>
<p><strong>第三步，read.</strong></p>
<p>这 样的文章应该随便找空闲休息时间读，因为每天工作中不上上网也不行。一旦发现有的内容真的好到了必须保存的程度，推荐使用 Evernote   在线保存，方便日后查找。</p>
<p>上述方法也适用于 Google reader。用 J  键一条条读过去很浪费时间，应该从列表快速选择几个值得看的看看，好的文章统一进入  read it later 列表。</p>
<p>使用  toss-skim-read 方法，可以确保在比较短的时间内把所有想要知道的东西都知道，每天做过一次之后就再也不惦记看新闻了。</p>
<p>这个 方法可能还有一个特点，就是长期使用可以提高一个人的阅读品味。你可能会发现越来越少有文章能有资格进入你的 Read It Later  列表，而  Evernote 中则更多的是你“主动上网”– 自己搜索出来的技术文章。</p>
<p>我猜，看一个这样读新闻的人上网是个很有意思的事情。只见此人 把一只鼠标使得上下翻飞，噼噼啪啪一阵猛点之后，他已经把一切了然于胸。</p>
<p>转载自<a href="http://www.zreading.cn/archives/1676.html">左岸读书</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baishaode.com/blog/?feed=rss2&amp;p=419</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
