Archive for 一月, 2013

从阿比鹿音乐奖开始,他们还会走的更远

星期一, 一月 28th, 2013

第二届阿比鹿音乐奖

1月24日,第二届阿比鹿音乐奖公布了获奖名单,在其中你可以找到50多个豆瓣音乐人以及厂牌、DJ的名字。这是“豆瓣音乐人”的又一次集体亮相,某种意义上,他们是过去一年里最重要的“豆瓣之声”。

阿比鹿音乐奖是豆瓣音乐人自己的奖项,开始于2011年。它包括年度音乐人、年度新人、年度唱片、年度单曲、年度厂牌、年度DJ六个单元,下设流行、摇滚、民谣、电子、说唱、世界音乐、轻音乐七个子音乐流派。算法是阿比鹿音乐奖的基础:我们采集了每个音乐人小站在过去一年里的几乎所有数据,比如,歌曲的播放量、新增的歌曲数、新增加的关注人数、相关内容的推荐数、演出活动的数量与参加人数等等,将这些数据配以不同的权重并附加时间效应,通过综合统计得出了最终的结果。

数据自有其生命力,我们相信这些数据能够反映出一个音乐人的综合才能,无论是创作能力,被公众接受的程度还是现场演出的实力。群众的耳朵是雪亮的,因此阿比鹿音乐奖中没有专家与评委,每个音乐人小站的访问者,包括更新内容的音乐人自己,都是这个奖项的参与者。

好的音乐可能就在我们身边,但是它们不应只在乐迷与朋友之间口耳相传,而是应该让更多的人听到。豆瓣上有2万多个音乐人小站,如何让优秀、有趣(但不那么有名)的声音被更多的人听到?这是豆瓣音乐人团队最有兴趣,也一直在做的事。在阿比鹿的获奖名单中你就可以发现很多仅在小圈子里小有名气的新面孔,但是他们的音乐,他们的理念,他们的现场表演绝不输于那些业界资深大牌。阿比鹿可能是他们拿的第一个奖,之后他们还会在音乐的道路上走的更远。

来豆瓣音乐人小站看一看获奖名单吧!

 

 

Life of Py

星期三, 一月 23rd, 2013

标题灵感来自于 Life of Pi,少年Pi在大银幕上经历了一段奇幻漂流,豆瓣的工程师们——让我们称之为少年Python(豆瓣工程师和Python的关系,这个就不用多说了吧^_^)则在不久前的 Happy Day 上体验了一把 geek 才有的快乐。

2013年1月11日,室外是萧杀的寒冬,在花家地附近某报告厅内却热闹非凡。超过90%的豆瓣工程师在这天参加了2013年第一次、也是豆瓣史上参与人数最多的一次 Happy Day 活动。

Happy Day 是豆瓣工程师团队的传统,也是豆瓣自创立以来开放、鼓励创新的工程师文化的重要组成部分。在Happy的同时为全面挖掘工程师潜能而进行的 Team Building,不乏困难和挑战,但也满含着工程师们才能体会到的快乐。Happy Day 通常每季度会举行一次,包括算法竞赛、现场coding对战、新技术学习以及硬件组装等各种主题活动。

这次 Happy Day 的活动内容是动手组装3D打印机。(是的,你没看错,的确是组装当前最新最潮的3D打印机!)

据Chris Lau老师(华人界第一位3D打印机组装者)介绍,3D打印机通常需要花上一天半才能拼装完成。豆瓣的工程师们可不这么想——几人小团队做着其它公司成百上千人做的事情,豆瓣工程师们把他们在工作中一贯的高效也用在了这次 Happy Day 上。不到一天时间,几乎每个小组都完成了组装工作,最终有两台3D打印机能够正常工作!

活动接近尾声的时候,参与的工程师们意犹未尽,仍在认真调试着线路~~~

下面是打印出来的作品(戒指一枚)

在经过进一步的调校之后,会有三台3D打印机永久入驻豆瓣,为工程师和产品同事们源源不断的创意提供可以实现的设备支持——还记得工程师们用树莓派做的远程开门器么,也许他们正在想着用3D打印机做一个仿真的前台mm吧^_^

豆瓣FM付费版今天上线

星期一, 一月 7th, 2013

 

 

今天,我们正式推出豆瓣FM的付费版本——豆瓣FM PRO。目前,PRO提供更高音质以及去除广告这两项服务。未来,我们会逐步增加更多、更有意思的功能,以及更有价值的服务。

豆瓣FM从2009年11月上线公测到现在,已经陪伴我们走过3个年头。为了成为一个更贴心的电台,3年来,它一直在默默努力着——从只有一个私人兆赫到现在有1000多个兆赫,从只有Web端到移动端多平台,以及各种交互的改进,视觉的美化。我们一直希望能带给大家完美的收听体验,但版权和带宽的成本让我们不得不通过插播广告来消化。更高音质,并且没有广告,当然是更完美的体验,但同时也意味着更高的带宽成本和版权支出。基于此,我们推出了豆瓣FM PRO。

我们将豆瓣FM PRO定价为10元/月,是半杯咖啡的价格。同时,还提供50元/半年的价格供你选择。现在你可以点这里马上升级你的账号进行体验了。几天后,Android和iPhone版的豆瓣FM移动应用也将同步升级,你在智能手机上也可同时享受PRO的服务。目前,大家还只能通过Web端付费购买PRO的服务,未来,则可以直接在移动端上付费购买。

当然,如果你选择暂不升级账号,你的豆瓣FM仍可照常使用,不受任何影响。

豆瓣FM一周岁生日时,我们曾说过:“豆瓣电台坚持正版原则,我们期待的市场是一个多方共存共赢的市场,我们愿为这个行业的健康发展尽绵薄之力。” 如今,我们初衷不改,希望豆瓣FM能一直为大家带去好的音乐,好的服务。

使用树莓派制作的远程开门器

星期一, 一月 7th, 2013

背景
话说自从我厂的商务部门搬到旁边的商务楼之后,工程师发现漂亮的前台MM也搬走了,在新前台到来之前,某区只留下冷冷清清的鱼缸。然后,工程师们发现开门成了个问题。鉴于进门需要刷卡,所以没有带卡的工程师就不得不摁下门铃,等待其他人从座位上起身为自己开门。经历过多次不得不让别人来开门以及不得不为别人开门之后,终于有工程师不能忍受了(我就是其中一个),于是,决定自己动手解决问题。要知道,地球上没有能难住工程师的问题!

研究与选择方案
我厂的电子门锁的开门设备是通过一个带弹簧的开关(门内,类似墙面上开灯的开关)控制的,按下开关就能打开门,按下开关的时候能够听到明显的继电器闭合的声音,因此,趁着没人的时候我把开关拆开看了一下,证实的确是通过触电控制的一个继电器。按下开关时,两个金属触电接触,继电器动作,门打开。继电器在动作后延时4秒左右恢复。这样看来,硬件层面的开门实现就非常简单了:跨接一个数字继电器,要开门时,通过电平信号控制继电器闭合并保持2秒即可。

但要实现远程控制,必须设置一台可以通过TCP或是HTTP协议接受用户命令,并能控制开门硬件(继电器)的设备。最初考虑过Arduino,作为一个开源的硬件平台,Arduino的电平输出非常易于控制和操作。而且Arduino也有RJ45或是无线的接口模块。不过在查看了Arduino的无线模块的操作方式之后,我发现要让Arduino接入一个WPA加密的无线网络并实现一个web server并不容易。所以最终还是选择了树莓派(Raspberry PI),虽然RPI的硬件成本更高一点。

RPI与Arduino的设计目标不同,它主要是一个超小的PC主机。幸好RPI本身提供了若干个GPIO的输出口(3.3V),用来操作数字继电器倒是没有问题。

参考资料
1. RPI的GPIO引脚的定义
2. 引脚的输出规格
3. RPI的GPIO教程

请特别注意:由于GPIO的引脚是没有保护电路的,不当的硬件连接很可能会导致整块RPI板子烧掉,连接和操作时务必慎重。在确定方案时,我个人使用了面包板,电阻和二极管等电子元件搭建实验电路,并反复用万用表验证过输出电压和电流(主要是对RPI的每个脚的输出不确定)。

 

操作步骤

在RPI上安装操作系统
拿到RPI后,首先要在RPI上安装操作系统。请参考这份文档,安装完操作系统后,确保重新启动成功(RPI的视频输出口是HDMI接口,可以直接连接在支持HDMI的显示器或是电视上,或者可以通过HDMI转VGA/DVI的连接线连接到支持VGA/DVI的显示器上。注意:无源的HDMI转VGA的线可能会损坏RPI板)。

配置网络
RPI本身的网络支持已经比较完善,通过有线方式接入的话,只要直接插入网线就可。考虑到无线方式部署比较方便,我采用的是无线连接的方式。

RPI仅对部分网卡支持较好,利用RPI的官网上的无线网卡兼容信息,最终选择了一款相对便宜且能得到较好支持的网卡:TP-LINK TL-WN823N,该网卡在网上就能买到,购买地址见本文最后的列表。

插入网卡后,修改网卡的配置信息:

修改其中与wlan0相关的部分:

这里我选择了使用静态地址,原因是我们不希望开门的服务器地址老是变来边去。设置好网络并确认能够正常工作后,就可以着手进行下一个步骤了。

连接硬件
下图是具体的连接方式,注意连在RPI上的三条线,白色(电源)、黑色(GND)、灰色(信号)分别连接在RPIGPIO的2号、6号与7号针脚上。

编写代码
RPI的操作系统缺省已经有一个Python的安装了。因此,我们可以使用Python来设置Web Server并控制开门的硬件设备。我选择了web.py作为Web server的开发基础,加上GPIO的python库来完成工作。

参考资料
1. Web.py的下载、安装与教程
2. RPI GPIO的python库安装和使用

接下来就是在RPI上设置Web server了。遵循我厂的传统,使用Python作为Web server的主要开发语言。

开门硬件控制相关代码:

Web server代码(基于web.py):

这样就在RPI上建立了一个web server,用HTTP POST方式输入正确的用户名和口令就能实现开门。

为了更方便地应用远程开门(例如,用手机开门显然更cool),可以编写iOS或是Android上运行的开门应用。当然,由于开门只需要发送一个HTTP POST请求,直接写成一个可以在Mac/Linux/Win下运行的命令行也可以。

部署后的全景

  豆瓣开门                                                  豆瓣开门widget

后记与感谢
感谢所有参与这个项目的我厂同学们,豆瓣的确是个有着独特的技术文化的环境,这里不仅有许多可以互相交流想法的技术geek,还有着庞大的对所有新鲜事物感兴趣的工程师群体。欢迎各位喜欢这个环境的其他非我厂同学们加入这个群体 ^_^

成本与硬件列表(为方便想要动手的同学,带购买链接,点击请慎重)
1. 树莓派(MODB-512M):带运费,税费,约300元;
2. TP-LINK TL-WN823N 300M迷你型无线USB网卡: 55元;
3. 连接线:2元;
4. 两路数字继电器:5元;
5. 其它:约60元,导线,4G SD卡一张。

 

线上活动App1.1版本发布

星期日, 一月 6th, 2013

从风靡一时的“将爱p到一起”到“小李子,你不要这样淡定好不好啊”,豆瓣上每天都会有大量像它们一样趣致、鬼马、有爱的线上活动源源不断的出现。今天,我们把线上活动App带给大家,从此,你可以随时随地参与和发起欢乐的线上活动了。

其实,早在2012年8月底,线上活动App1.0版本就悄悄问世了。它也是豆瓣神秘组织—“豆瓣实验室”发布的第一款移动产品。在并未做任何推广的情况下,线上活动App已经累积了上万用户,让实验室的成员们颇感欣慰。今天发布的1.1版本,主要支持以下功能:

1、浏览热门线上活动列表;

2、浏览/上传/分享/回复照片;

3、发布照片同步到新浪微博;

4、照片回复提醒。

点我可以立即下载/更新应用。

在你灵感迸发的一瞬间,赶快点开线上活动App,下一个网络潮流的创造者说不定就是你哦~

 

iOS版App截屏

 

Android版App截屏

 

生活在此处 – 豆瓣周边生活发布

星期六, 一月 5th, 2013

2012年的最后一个月,豆瓣周边生活悄悄开启了小范围试用。我们邀请了几千位用户,来分享北京一些片区的生活信息。仅仅一周的时间,已经有数百家商户、大学、公共设施的地点被创建,数千条高质量的内容以及内容的互动产生,这个数字是我们之前没有预想到的。

还没有用过“周边生活”的朋友会问,到底什么是“周边生活”呢?其实“周边生活”是延续了豆瓣一贯的想法——“帮助你发现生活中最适合自己的好东西”。好东西可以是一本书、一张CD、一部电影,也可以是一间街角的书店、一家藏在巷子深处的小饭馆。在这些地点里发生的新鲜事——好吃的东西、有趣的活动、打折,甚至店主新养了一只猫——是有价值的。这些源于你和他人的“生活发现”的新鲜动态信息,构成了周边生活独特的、有人情味的活力之源。

怎么用“周边生活”呢?不妨从你生活的“片区”开始吧!你在10分钟内通过步行、乘车、搭地铁(或移形幻影)等可以到达的范围,难道还不是“你的地盘”么?这里一定有被你称之为“食堂”的小饭馆,你知道它每道菜的口味;也有定期打折的服装店,大约多久上一次新货呢?这里的电影院特惠场时间表你一定都烂熟于心啦~现在,这些信息你都可以通过“周边生活”和大家分享了,大家会给你点“有用”,甚至会报以热烈、热情、内牛满面的回复;当然,你也可以浏览别人分享的最新/有用的发现,还可以添加新的地点,更可以结识到周围同样热爱生活的朋友。

到今天,我们已经开启了7个城市的“周边生活”服务,分别是:北京、上海、广州、武汉、杭州、成都、深圳。如果你是这七个城市的居民,可以在豆瓣二级导航看到周边生活的入口。希望你在使用周边生活这个服务的时候,能感受到,有了大家发布的动态信息,生活中常见的那些稀松平常的事物开始焕发探索的魅力和发现的乐趣,而你也能感受到通过分享及时信息让更多人得到生活帮助的乐趣。

你的豆瓣二级导航还看不到“周边生活”?别着急,“周边生活”会很快来到你身边的!^_^