数字证书原理

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!   1、基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容。 1.1、公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥、私钥、加密解密算法,它的加密解密过程如下: 加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加密过程需要用到公钥。 解密:通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。注意,由公钥加密的内容,只能由私钥进行解密,也就是说,由公钥加密的内容,如果不知道私钥,是无法解密的。 公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体制的原因),私钥是保密的。大家都以使用公钥进行加密,但是只有私钥的持有者才能解密。在实际的使用中,有需要的人会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥。   1.2、对称加密算法(symmetric key algorithms) 在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的。也就是说,加密和解密都是使用的同一个密钥。因此对称加密算法要保证安全性的话,密钥要做好保密,只能让使用的人知道,不能对外公开。这个和上面的公钥密码体制有所不同,公钥密码体制中加密是用公钥,解密使用私钥,而对称加密算法中,加密和解密都是使用同一个密钥,不区分公钥和私钥。   // 密钥,一般就是一个字符串或数字,在加密或者解密时传递给加密/解密算法。前面在公钥密码体制中说到的公钥、私钥就是密钥,公钥是加密使用的密钥,私钥是解密使用的密钥。 1.3、非对称加密算法(asymmetric key algorithms) 在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的。前面所说的公钥密码体制就是一种非对称加密算法,他的公钥和是私钥是不能相同的,也就是说加密使用的密钥和解密使用的密钥不同,因此它是一个非对称加密算法。   1.4、RSA简介 RSA是一种公钥密码体制,现在使用得很广泛。如果对RSA本身有兴趣的,后面看我有没有时间写个RSA的具体介绍。 RSA密码体制是一种公钥密码体制,公钥公开,私钥保密,它的加密解密算法是公开的。 由公钥加密的内容可以并且只能由私钥进行解密,并且由私钥加密的内容可以并且只能由公钥进行解密。也就是说,RSA的这一对公钥、私钥都可以用来加密和解密,并且一方加密的内容可以由并且只能由对方进行解密。   1.5、签名和加密 我们说加密,是指对某个内容加密,加密后的内容还可以通过解密进行还原。 比如我们把一封邮件进行加密,加密后的内容在网络上进行传输,接收者在收到后,通过解密可以还原邮件的真实内容。 这里主要解释一下签名,签名就是在信息的后面再加上一段内容,可以证明信息没有被修改过,怎么样可以达到这个效果呢?一般是对信息做一个hash计算得到一个hash值,注意,这个过程是不可逆的,也就是说无法通过hash值得出原来的信息内容。在把信息发送出去时,把这个hash值加密后做为一个签名和信息一起发出去。 接收方在收到信息后,会重新计算信息的hash值,并和信息所附带的hash值(解密后)进行对比,如果一致,就说明信息的内容没有被修改过,因为这里hash计算可以保证不同的内容一定会得到不同的hash值,所以只要内容一被修改,根据信息内容计算的hash值就会变化。当然,不怀好意的人也可以修改信息内容的同时也修改hash值,从而让它们可以相匹配,为了防止这种情况,hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改。至于如何让别人可以解密这个签名,这个过程涉及到数字证书等概念,我们后面在说到数字证书时再详细说明,这里您先只需先理解签名的这个概念。   2、一个加密通信过程的演化 我们来看一个例子,现在假设“服务器”和“客户”要在网络上通信,并且他们打算使用RSA(参看前面的RSA简介)来对通信进行加密以保证谈话内容的安全。由于是使用RSA这种公钥密码体制,“服务器”需要对外发布公钥(算法不需要公布,RSA的算法大家都知道),自己留着私钥。“客户”通过某些途径拿到了“服务器”发布的公钥,客户并不知道私钥。“客户”具体是通过什么途径获取公钥的,我们后面再来说明,下面看一下双方如何进行保密的通信:   2.1 第一回合: “客户”->“服务器”:你好 “服务器”->“客户”:你好,我是服务器 “客户”->“服务器”:???? 因为消息是在网络上传输的,有人可以冒充自己是“服务器”来向客户发送信息。例如上面的消息可以被黑客截获如下: “客户”->“服务器”:你好 “服务器”->“客户”:你好,我是服务器 “客户”->“黑客”:你好        // 黑客在“客户”和“服务器”之间的某个路由器上截获“客户”发给服务器的信息,然后自己冒充“服务器” “黑客”->“客户”:你好,我是服务器 因此“客户”在接到消息后,并不能肯定这个消息就是由“服务器”发出的,某些“黑客”也可以冒充“服务器”发出这个消息。如何确定信息是由“服务器”发过来的呢?有一个解决方法,因为只有服务器有私钥,所以如果只要能够确认对方有私钥,那么对方就是“服务器”。因此通信过程可以改进为如下:   2.2 第二回合: “客户”->“服务器”:你好 “服务器”->“客户”:你好,我是服务器 “客户”->“服务器”:向我证明你就是服务器 “服务器”->“客户”:你好,我是服务器… Continue reading 数字证书原理

Android新漏洞曝光:黑客可假冒正规应用

周二发布的一份研究报告显示,谷歌Android操作系统存在一项安全漏洞,可以让黑客假冒受信任的正规应用,从而劫持用户的智能手机或平板电脑。 安全公司Bluebox Security在报告中表示,根本问题在于Android校验应用身份时采取的方式。 验证身份是网络世界中最根本的问题之一。例如,登录银行账号的人是否是该账号的所有者?某款应用是否真如其所宣称的那样?总部位于旧金山的Bluebox的主要业务是帮助企业保护其移动设备上的数据安全,因此该公司的员工正在研究和了解移动操作系统的架构。 每一款Android应用都有自己的数字签名,也就是ID卡。例如,Adobe(72.27, -0.43, -0.59%)公司在Android上有一个指定签名,而该公司开发的所有程序都有一个基于该签名的ID。但Bluebox却发现,当一款应用亮出Adobe ID时,Android不会却向Adobe核实该ID的真实性。 换句话说,网络犯罪分子可以利用假冒的Adobe签名来开发恶意软件,从而感染用户的系统。当然,该问题并不局限于Adobe:黑客还可以创建一个假冒谷歌钱包的恶意应用,然后访问用户的支付账号和财务数据。系统管理软件也会存在同样的问题,使得黑客能够控制整个系统。 Bluebox表示,该问题会影响到2010年1月发布的Android 2.1系统及更高版本,但最近的Android 4.4奇巧系统已经修复了与Adobe有关的漏洞。 但受影响的设备依然数量庞大,根据美国市场研究公司Gartner的测算,2012至2013年间,新出货的Android设备高达14亿部,预计今年的出货量还将增加11.7亿部。 “我们感谢Bluebox的认真负责,感谢他们将问题报告给我们。第三方研究一直是Android系统进步的方式之一。”谷歌发言人克里斯多夫·凯特萨罗斯(Christopher Katsaros)说。 此次问题凸显出安全研究人员与谷歌对安全漏洞的处理方式,但也表明这类问题十分复杂:不仅需要谷歌方面的协调,还需要众多开发者和设备制造商的配合。 Bluebox表示,该公司在今年3月末完成了这项研究,并在3月31日将漏洞提交给谷歌。Android安全团队于今年4月开发了一个解决方案,并提交给了相关厂商。因此,在Bluebox发布研究结果前,这些企业有90天的时间修补该漏洞。Bluebox已经在大约6300款Android设备中挑选了大约40款进行测试,但似乎只有一家厂商修补了该漏洞。 谷歌发言人凯特萨罗斯表示,该公司已经通过改进Google Play和Verify Apps来提升安全性,让用户免受虚假ID问题的影响。 “我们已经扫描了所有提交给Google Play的应用,以及谷歌谷歌在Google Play之外评估的应用,目前没有发现任何证据显示,有人试图利用该漏洞。”凯特萨罗斯说。 Bluebox计划在下周的黑帽黑客大会上讨论这一问题,预计在此之前还将出现更多与安全问题有关的新闻。(鼎宏) Android新漏洞曝光:黑客可假冒正规应用,首发于博客 – 伯乐在线。

一比特之差:无需利用漏洞的DNS劫持

Bitsquatting表示去注册一个域名,它和知名的域名只有一个bit的差别。这个单词源自typosquatting,意为注册一个和知名域名只有一字之差的域名。在解析域名时,bitsquatting可能通过DNS导致计算机上的硬件错误。关于bitsquatting更详细的信息,可以参看我的Blackhat 2011 whitepaper。YouTube上有人发布了我在DEF CON 19上有关此话题的演讲视频,当时使用的幻灯片可以在这里下载。 引言 计算机常常由于一个或多比特的内存损坏出现错误,而造成这些错误的原因可能是制造上的缺陷或者宇宙射线、高温之类的环境因素。虽然单个机器中出现这样的错误的可能性是极小的,但是整个互联网上设备的总量却非常庞大:2010年时就有大约50亿个设备连接到互联网。我们可以将这种存在于各个设备上的小概率错误更加形象地描述,那就是买彩票。赢得头奖的概率是极小的,但是只要有足够多的人去买,总有人会成为赢家。 研究人员之前就在很多惊人的地方利用了比特错误(bit-errors)。现在,在互联网尺度上,我们又有新的办法去利用它。Bitsquatting是其中之一,也就是注册和某个常被访问的域名仅一比特之差的新域名。 工作原理 当比特错误发生时,内存中的数据会被修改。计算机内存的内容可能代表各种意义,有时,它刚好就表示域名。如果程序使用这块内存,就会读取到错误的域名。 下面的图解能够更清楚的说明这个问题,表中是cnn.com的二进制表示方法: 01100011 01101110 0110111 0101110 01100011 01101111 01101101 c n n . c o m 现在假设你使用的计算机含有损坏的内存模块,你打开一个包含超链接到cnn.com的网页,然后你点击了这个链接。会有多少个操作将cnn.com的二进制数据保存到你的内存?写这篇文章时,我想到了下面这些: TCP/IP协议栈由核心态向用户态转化时(根据操作系统的具体实现各有区别) 在浏览器解析HTML时 在创建DOM树的内部表示时 在创建新的HTTP请求时 在操作系统解析域名时 更进一步,假设其中有一次将域名写入到了损坏的内存模块,它的二进制形式被修改了1bit,现在表示为: 01100011 01101111 0110111 0101110 01100011 01101111 01101101 c o n . c o m  这样一来,当你点击链接时,浏览器将会跳转到con.com,而不是cnn.com。 实验 这个实验背后的概念很简单:如果比特错误确实改变了设备内存中的域名,那么这些设备会访问到和正确域名一比特之差的bitsquat域名。因此很多频繁解析的域名的bitsquat域名会被全球各地的设备访问到。 然而这个实验实施起来却没有那么容易,首要的问题是选择合适的域名来进行比特修改。流行的网站和常被解析的域名是不太相同的,很多鲜为人知的域名实际上会被频繁解析。这类域名一般属于内容分发网络或者广告网络,例如fbcdn.net,、2mdn.net和 akamai.com。由于很少有人实际在浏览器中输入这些域名,它们也成为本次实验中最合适的目标。还有个问题就是每次DNS查询必须有两次响应:一次是原本的域名,一次是经过比特修改的域名。因为原始的请求可能会得到正确域名的响应,而丢弃对无效域名的响应。这方面更多的信息,请参考白皮书或者幻灯片。 为了这次实验我注册了下面这些域名。 注:目前它们全都已经过期,不再属于我了。 Bitsquat Domain… Continue reading 一比特之差:无需利用漏洞的DNS劫持

树莓派的联合创始人访谈——我们是怎么让大家都成为DIY黑客的

  请记住它是为喜欢折腾的人准备的只要35美元的计算机   我永远不会忘记我第一次看到树莓派的情形。那个小巧的,信用卡大小的计算机,性能却足够强劲,可以作为一般家用PC,媒体中心,电视游戏机,或是其他任何你能够想像的东西。只有35美元的价格,它是任何年龄段的动手爱好者都可以拥有的小东西,可以在上面捣腾硬件和软件试验,而不用担心会弄坏昂贵的家庭电脑。 Eben Upton,是树莓派基金会的共同创始人,通常被誉为这个神奇机器背后的魔法师。在剑桥大学的计算机实验室攻读哲学博士学位的时候,他费尽苦心地手工打造了树莓派的原型机。 如今,Upton是树莓派基金会下面贸易公司的CEO,监督着树莓派的生产和销售,目前销量已经达到250万台。 天上的派 ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何偶然地引导你创建树莓派项目的? Eben Upton: 在我还是孩子的时候就开始对技术感兴趣了。我有个对工程技术有很大兴趣的父亲,他自己不是工程师,而是一个英语老师。我们的房子里经常到处堆着各种电子器件,在还不知道这些东西是干嘛的时候,我就开始摆弄了。都是些小玩意,比如在床头装个灯,在“关灯”后还可以继续看书之类的。   之后我有了一台计算机。在英国,我们把这种机器叫做BBC微计算机,实际上是8位单片机,做教学用的。我们在学校的时候接触到这种机器,我之后就学会了编程,而且还蛮喜欢的。 这些机器在学校里并不一定是用来编程的,或者说他们根本不是用来编程的,一般都运行教学软件。但是我却给它编程,之后我还买了一台回家,在我买了这台BBC微机后,我就泡在了房间里,再没出来过。[笑] 编程对于小孩来说太神奇了。当你还是小孩的时候,并没有太多力量。没有听话的随从,反而身边有很多的限制。编程最伟大的地方在于,这是一个可以让你随心所欲的小世界。而这当然让我无法抗拒。 我一直都对科学和数学,以及理科感兴趣。我在我的BBC微机上做了大量的计算和编程,之后我拥有了一台Commodore Amiga。 在大学里我学习了物理,工程和计算机科学。这是激发树莓派项目想法的原因,因为当我在学校呆了10年的时候[当时在读博士学位],我发现那些新来的孩子们在他们小时候并没有机会获得这方面的经验。你也许仍然能拥有乐高玩具,但是它不是我们要的梯子。 在一定程度上我们把身后的梯子撤掉了。我们造出了这些非常复杂而且用户友好的计算机给小孩使用,或者不仅仅是计算机,还包括电视游戏机,电话和平板,以及一些家用电器。但是,人们却没有机会自己动手改一改。所以实际上,树莓派是回到最初的一种尝试,当然也不会过于原始,希望找到在过去25年里计算机发展中迷失掉的那种感觉。 RW: 你需要克服的最大的障碍有哪些? EU: 好吧,我们没有任何投资者,当然这也是一件好事情。我们从2006年就开始尝试做这件事情,你可以看到它花了我们很长时间才把树莓派从一个想法变成一件能卖的东西。在价格和性能之间或是价格和可编程性之间找到平衡,是一件很重要的事情。 另外一件麻烦事是募集资金。我们是非营利组织,所以我们得去找人赞助,而这最后都变成了董事会中的几个人自掏腰包。我们有25万美元的启动资金是从我和其他几个成员自己借的。所以我觉得,当初这样做还挺有勇气。   从东方到西方 为了找到价格合适的生产方式,我们选了一条不同寻常的路线。通常人们生产更传统的产品时,当量不大的时候都会选择在本地生产,然后[制造商]再制定较高的价格。大多数都能获得比树莓派丰厚的利润。 所以他们开始会在西方生产。然后,为了追求更高的利润,当产品有一定的量就会想减少生产成本,所以转到远东地区。 我们的问题是,因为我们没有足够的利润来支撑这种模式的订单,所以我们在中国制造了第一批产品。当然一开始会有一点不好的预感。我一点也不了解中国制造,最后,我们把价值5万美元的芯片和5万美元现金交给一个香港人,他需要还给我们2000片可以工作的树莓派。 之后交期出现了延时,我们甚至都开始相信自己被骗了。然后终于有一天,现在250万台树莓派中最早的2000台放在托板上来到了门口。 那个UPS快递员从卡车里拖出一个托板,并拉到我们车库里。托板上放着2000台树莓派,它们中每一台都比我小时候用过的计算机强多了。我们随机抽查了几台,都可以完美地工作。 所以我觉得还挺幸运,中国你懂的。然后我们的产品终于开始有量了,我们选择了跟其他所有人不同的方向。我觉得这是这个项目中的另一个决定性时刻,我们认识到,以目前的订单量,我们可以用和在中国同样的成本在西方生产。所以我们可以回归,把所有的生产制造搬回威尔士,也是我出生的地方。像是一个美妙的圆圈。 RW: 有没有一些树莓派的前身没有被制造出来的? EU: 有的,我们做了许多不同的原型机。我们希望做出一个可以编程,也能吸引小朋友兴趣的东西。“吸引小朋友兴趣”意味着,在某些方面要足够强大。比如,播放视频,玩游戏,以及上网。 我们有许多能够达到价格目标和可编程目标的原型,但是等我们确定一个合适的方案,它足够强大能够吸引孩子们的热情,已经挺晚了,都到2010年底2011年初了。 派是从哪儿烤好的 RW: 跟我们说说发明树莓派的故事 EU: 我们尝试过基于所谓的微控制器技术做了几台机器。不知道你有没有听过一个叫Arduino的[开源电子原型]平台?它们的性能跟Arduino是一个级别的,优点是很容易买到,是常用的元器件,非常便宜,也很容易掌握。   所以我们试了一下。最后的成品只能从技术上来说还是计算机,你可以把它接到电视机或其他显示设备上。但是,它太原始了,很明显不能吸引孩子们的兴趣。这个是一号原型机,它在爱尔兰一家博物馆的叫“失败”的展览中展出[笑]。我下个月会去看看。它现在被装载一个玻璃盒子里,作为一次辉煌失败的典型。 好的一面是它是手工制作的,你不可能手工制作一块现代的树莓派。但是,这个原型太原始了,你实际上可以把所有器件手工焊接到一起,它就是我一个星期里做好的,是个挺好的小玩具。 我在大学里呆了差不多10年以后,进入到一家叫Broadcom的公司工作,总部在南加利福尼亚但是在剑桥有个大办公室,主要生产手机芯片。然后,我意识到这种手机芯片非常适合,它是制作像派这样的设备的非常合适的平台,因为它有优秀的图形性能。 我基于Broadcom开发工具制作了一个原型。这次的原型非常强大,也有更多功能,价格也差不多。不过问题是,它有一套定制的开发环境,而不是一个标准的平台。 我们得写自己的SD卡驱动,自己的文件系统,自己的文本编辑器。你会发现你得做大量基础工作,虽然最后你能够得到一个强大的可编程的平台,但是它却是完全非标准的[而且]和其他设备完全不一样。从而无法重用那些已经在台式机系统中已经做过的工作。这个是二号原型机。 真正的突破是三号原型机。我们从Broadcom拿到了另一种应用了ARM处理器的芯片,可以直接运行标准Linux。我们意识到终于可以做出能够满足所有的需求的机器了,这就是我们推向市场的产品。 黑一黑下一代黑客 RW: 八岁的孩子就开始用树莓派做项目了。这在你意料中吗,还是说让你意外了? EU: 八岁是很好的年纪。我想每个人都会把自己开始编程的年龄定义成合适的年龄。我就是八岁开始编程的。某种程度上来说,孩子们所需要的只是年龄大到拥有相对完整的认知技能,或者说是解决问题的技能。也许在学校学一点数学就够了。   年龄大到可以计划任务,编程就是终极的计划任务。还是得有一定的智力基础去做这个事情。八岁的时候,大多数孩子在自己的思维上已经非常成熟了。另外还需要敏捷的身手,对更小的孩子来说还存在一个问题就是,他们还不够灵巧去使用键盘。 所以说,八岁是很好的年纪。你有合适的身体,有合适的心智,而且还处于生命中能轻松学习新知识的时候。你的大脑还具有非常大的可塑性,可以学习语言。。。 我的意思是,你要是想让你的小孩学习法语的话,八岁就开始教他,不要等到16岁才开始。正式的计算机教育有一个历史性的缺点,就是太晚开始了,然后就很惊讶为何学生们理解起来概念有困难。所以我认为越早接触越好,而八岁是奇妙的年纪。八岁,十岁,十二岁,十二岁可能都有点晚了。 我们基金会的CEO,Lance [Howarth],对初级教育特别热心。他真的认为这是一个实际的机会来做点非常特别的事情。 RW: 所以这是树莓派项目的目的,让小孩子们编程? EU: 我想我们一直认为可以让孩子们玩编程只是举个例子。但是树莓派的目的是把这个东西做出来看看谁会买它。我们一直相信至少有一部分年轻的孩子会觉得它令人激动。现在我们已经有知识宽度和规模来支持孩子们玩它了。… Continue reading 树莓派的联合创始人访谈——我们是怎么让大家都成为DIY黑客的

LM居英雄传 – 第一章

第一章 罗兰传 罗兰兄“非死不可”曰:曾经的全球最大电信运营商——中国电信工程师、当前的IT企业管理者,留过欧下过洋、品过红酒醉过清酒、漂过塞纳躺过富士,现流落美国。生活中的我:不太帅但很可爱、不太高但很对菜。 罗兰兄厨艺颇佳。 二少、三爷、四爷同至春田,本以为罗兰兄能在吾等三人之前打点好,谁知其偷懒赖在芝城,做隐身态。吾等无奈,联系师兄在一猪圈寄宿一晚,翌日搬至如今LM居。 为犒劳三爷四爷辛苦劳作搬家具,二少承担烹饪之职,三爷四爷享受几日二少悉心照料。 不日,罗兰兄携包至LM居,吼,吾至,速接驾!掏出若干牛肉干,收买人心,转瞬消失在自己房中,翻箱倒柜,不知所终。后从一师姐处购买锅碗瓢盆桌椅,曰,此乃宝贝,吾赚大也! 夕,罗兰牛刀小试,厨艺高于二少,从此LM居之饮食、采购均由罗兰负责。 罗兰用料极省,凡骨肉必须分离,肉炒,骨炖汤。二少三爷炒肉之际,每每提醒,肉多,需省。罗兰系广府人,煲汤煲粥乃家常之菜,汤汁美味令吾等欣喜不已。后因吾等拷贝其作品,甚有超过罗兰之势,遂罗兰罢做汤粥,非友人到访之际不做,非逢年过节不做。 凡蔬菜水果均可烧汤,有西瓜三吃之法,囊生吃,内层皮炒菜,外层青皮炖汤,一时传为美谈。每每食瓜毕,吼,瓜皮勿仍,可食。无奈,内层皮为吾LM居保留菜系,在米国友人诞辰之日,中米朋友均有幸品尝三爷之瓜皮肉片。对于青皮,三爷无语,留与罗兰处理。 罗兰创苹果核瓜皮汤。一夜,与二少三爷四爷散步,见一苹果树,盗若干,曰,吾可炒苹果与尔等食用。翌日,吾等同窗至LM居,炒苹果、核皮汤伺候。同窗挑起一核,曰,此何物?罗兰答,猜!同窗研究许久,曰,似苹果核,然否?答,高!遂将核、皮捞出,盘中无一物,实清汤也,味鲜美,但因口味外观独特,无人提起,成为罗兰千古绝唱。后盗若干沙果,罗兰欲重操旧业,吾等速生食沙果,遂罗重操之望破灭。 另因喜食盐味,善做卤汤。卤汤者,酱油也,入小锅煮,鸡胗、猪肉、牛肚、生菜心均可入汤,加盐鸡精,武火煮沸,文火煎熬。一日,四爷弃剩余卤汤,罗兰怒骂,此汤乃宝,可重用,知否?罗兰对卤汤不离不弃,食毕,必小心包好,放入冰箱保存,次日加入新料重新熬煮,直至泛白长菇,叨,实可食也,不忍弃,后倒入茅厕,感慨不已,由奢入俭易,由俭入奢难。 罗兰兄喜吃,素有食物粉碎机之称,凡见桌上之菜,执筷如飞,盘中碗中之物统统扫光。尤食面之际,声音大作,面已无踪影。三更,时常念叨,三爷,夜宵何在?三爷善做蛋,做蛋之际,罗兰兄便立于一旁,垂涎三尺。三爷无心夜宵之时,速食面冰激凌水果一扫而空。唯四爷亦好速食面,常听二人厨房烧水泡面,卿卿我我,郎情妾意,恩爱如漆。 罗兰兄喜午睡,准备午饭之时,速,吾欲睡!风卷残云,便挺尸于床上,鼾声如雷,得睡神之名。午时二刻,醒,曰,睡毕,学习之,遂与四爷一同图书馆中苦练葵花宝典,必得11B,立争11A。此刻周公正传授二少三爷梦中武林绝学与罗兰四爷抗衡。 罗兰兄性情敦实,至M大后,绯闻不断,男女通吃,老少不限。传一七岁女童对罗兰仰慕之至,竞相献吻,得水果叔叔美名。传凡见花甲老太,必得拥抱,又得尊老之名。后又传临幸小四,无果。据传对F下手太晚,唏嘘不已。另传经三爷介绍,又转对L心存爱慕,但因与三爷赌气,时时不肯出手,暂无果,只待缘分。 罗兰名之来历,说来话长,因喜在沐浴之后裸奔,且经常将红内挂于房内与大家观赏,由二少赐予“裸男”之名,后谐音罗兰,增添一丝罗曼蒂克之意,也期待罗兰兄能够少许罗曼蒂克,早日陷入情网。 终结,待毕业之际,赠与罗兰兄缅怀LM居点点滴滴。

LM居英雄传 – 序

序 LM居者,盖因国内L大四位高人在米国M大研习西洋奇计,命府邸为LM居。LM者,与某一网络用语接近,诸位均可随意想象发挥。LM居四大高人,由厨艺排名,罗兰居首,依次二少,三爷,四爷。 本传主角罗兰,二少,三爷,四爷,此外,将有11,HH等角色登场,情节纯属虚构,请勿自我套用。 罗兰兄,姓X名XX,字Michael,号罗兰,另号(你)大爷,广东汕头人士,目前单身,芳龄3x,待字闺中。之前在广东某电信公司任VP职位,就读于春田M大。必杀技–你大爷。喜吃,喜睡,性情敦厚,表面不擅言辞,但内心火热,钻石王老五类型。对罗兰兄有意之女性,请先与四爷联系,然后由三爷把关,最后由二少定夺是否能够喜结连理,四爷米国的联系电话是911,中国的联系方式是110,其他国家女性暂不接待。 二少,人称霸王花,经考察亦是路霸,诸位有车人士如遇二少,体谅安危请务必回避,必杀技–貌美如花夺命三声笑。善闹腾,自L大到M大,目前在G国,不曾消停,喜唆使别人做出惊天地泣鬼神之事。 三爷,已昏,虽年长于二少,厨艺不如,屈居第三,善现代算盘。喜给罗兰张罗终身大事。曾因中秋佳节二少唆使之下出演某一颠覆形象,被罗兰戏弄,调侃至今。幸万圣节之夜,罗兰亦有出格之事,不再取笑三爷。 四爷,人称小四、江湖小虾米,入M大之前,除炒蛋之外只会炒蛋,名副其实炒蛋王子小四是也,自称四爷,时时欲篡三爷之位,毕生之愿是出书立传《小四泡妞记》,因迟迟不敢出手,自然无法得手,呜呼哀哉。在大爷和三爷调教之下,目前已经由炒蛋升级至炒肉了。另外兼职给大爷接听女性朋友电话。 11者,凡面先生必睡,考试之时却顺利过关,果天才也。另身怀绝技,从白发苍苍返老还童。遗传母基因,善会计。善川菜。粉丝团无数。后因陷入情网,不能自拔,几乎消失于江湖。 HH者,亦神人也,将稀疏平常之事说的惊天地泣鬼神,山伯和英台听到11的爱情故事也要羡慕不已。因思夫人,邀至美国,夫人归,不料留下一顽童,HH手忙脚乱,从此退出江湖。 13Y者,盖因礼帽出场,似某戏中花旦,因此得名。 其他众人,此处暂且不表。 待续。

树莓派 B+ 发布,售价 35 美元

应对HummingBoard在内的开发主板的挑战近日树莓派(Raspberry Pi)推出了性能更加强悍的新版本B+,相比较前代产品功耗更低,对专用电源的依赖大大降低,不再需要专用的适配器;此外提供了更加丰富的接口,为用户连接更多的设备,提升移动终端和智能家居环境的友好度。 在硬件规格上树莓派B+采用了相同的Broadcom芯片和512MB的内存。模拟和复合视频连接器已经被一个四极连接器端口所替换。更强悍的性能允许用户在没有额外电源和分线器的情况下同时连接4个USB设备。目前树莓派B+的售价为$35,约合217元。 树莓派 B+ 发布,售价 35 美元,首发于极客范 – GeekFan.net。

将树莓派打造成音乐播放服务器

几个月前,我发布了一篇文章《我对探寻终极音乐播放器的探寻》(My Quest to Build the Ultimate Music Player),在那篇文章里面描述了我对一款开源的音乐播放服务器Groove Basin断断续续将近4年的痛苦折腾过程。 它的客户端基于web页面,如下图: 你也可以在这里尝试它的在线demo版本。 如果你把它安装在树莓派里面,你可以把speakers附加上去,使用它你可以远程控制,也可以通过在浏览器中的点击“stream”就可以远程收听自己的音乐。 然而,在鼓捣这个之前,我需要指出的是,如果你在决定是否入手一台树莓派,答案是,不要。树莓派被过度夸大了,其实还有更好的选择。这就是为什么我写这篇教程。在这里我要提到一个,就是Beagle Bone Black 。 你可以用这个来代替的原因如下: 更快的cpu和内存 1GHz处理器,而非700MHz DDR3内存,而非SDRAM 它可以直接运行Debian和Ubuntu armhf,而非运行类似Respbian的系统。在Debian已经有armhf端口的情况下仍然存在Raspbian简直就是愚蠢的行为。如果你只是安装普通的armhf Ubuntu在Beagle Bone Black上,这篇文章的剩余部分就没有必要再看下去了,你只需 # apt-add-repository ppa:andrewrk/libgroove # apt-get update # apt-get install libgroove-dev 然后你就已经做完了。 实际上,libgroove在Debian Testing和Ubuntu Utopic Unicorn两个版本上面已经存在了,所以一年半载之内这些发行版升级了,你也无需添加额外的个人软件包档案 Debian官方不推荐树莓派,因为它在运行时候需要非自由软件。Debian特别推荐了Beagle Bone Black。 如果你像我一样,同时在你收到更好建议之前不幸的买了一台树莓派,你需要跳过很多坑来让它运行起来。这篇文章就会手把手的交给你怎么绕过所有的坑,而无需自己浪费时间去自己费劲琢磨。 这篇文章开始时会假设你手上有一台全新的甚至还未装操作系统的树莓派。如果你已经做过了这一步,可以直接跳到下一部分。 目录 目录 安装Raspbian并获取SSH连接 安装Groove Basin 安装Raspbian并获取SSH连接 转到树莓派下载页面,下载Raspbian Debian Wheezy种子(或者直接下载,如果你不是大虾的话) 解压压缩包,得到img文件后将其刷入你有的最大的SD卡上面。因为你需要很大的空间存放音乐! 我是在Ubuntu上面,我所需要做的仅仅是在文件管理器中右击img文件,… Continue reading 将树莓派打造成音乐播放服务器

Adafruit的树莓派教程第十一课:DS18B20温度传感器

概览 树莓派操作系统Occidentalis以及2012年12月之后的Raspbian系统已经能够支持DS18B20单总线(1-wire)温度传感器。这种传感器由半导体包裹的头和三个引脚组成,它是一种精确地数字设备。 这节课里,你将学习如何在树莓派上使用DS18B20来读取温度。 因为树莓派没有数模转换器(ADC, Analog to Digital Converter),因此它不能够直接读取像TMP36这样的模拟信号温度传感器,因此,DS18B20是比较合适的。 另外的代码库 如果你是一个Python爱好者,这有另外一种在树莓派上使用DS18B20的类库。 地址在这里:https://github.com/timofurrer/ds18b20(作者是Timo!) 你需要的 要完成这个项目,你需要下面的东西: 树莓派 DS18B20数字温度传感器 + 延长线,也可以是湿度或者高温型号的。另外你需要一个4.7k或者10k欧姆的电阻。 一小块面包板 一把跳线 扩展板 硬件部分 下图展示了基本的DS18B20接法。 DS18B20单总线(1-wire)传感器可以以非并行连接接入,这一点几乎与其他市售的传感器都不同!所有传感器共享相同的针脚,所以你只需要一个4.7k的电阻就够了。 电阻被用于拉高数据输出线(data-line),并且保持数据输出的稳定。 要注意DS18B20的方向,弧形的一边在图中的左侧。如果你接反了,有可能会烧坏传感器。 尽管DS18B20+和TMP36都是温度传感器,但是它们完全不同,因此TMP36不适用于这篇教程! 如果你是用的是防水版的DS18B20,那我们需要连接3个针脚,红,黑,黄,身下一个引脚不用连接。 如果你是用的是高温版本的DS18B20,把橙色引脚接入3.3V,白色接地,蓝色与数据针pin 4相连。 你同样需要一个4.7k~10k的电阻接在3.3v和数据针之间。 DS18B20 尽管DS18B20看上去就像一个普通的传感器,但它内部其实大有文章。 它的芯片包含了一个特别的单总线串行接口,逻辑控制部分以及一个温度传感器。 它的输出针输出数字消息以便Raspbian/Occidentalis能够在某一针上阅读。你可以在运行这个项目之前自己通过命令行或者SSH(参见第六课)先试验一下。 在终端窗口里输入下面的命令。当你执行到”devices”目录下时,目录名称开头的”28-”可能与你的不一样,所以cd到你看到的目录下吧。 sudo modprobe w1-gpio sudo modprobe w1-therm cd /sys/bus/w1/devices ls cd 28-xxxx (change this to match what serial number pops up)… Continue reading Adafruit的树莓派教程第十一课:DS18B20温度传感器