射手科技的成立说明暨招聘告示

上海射手信息科技有限公司(Sagittarius Technology Co. Ltd.)于2010年Q2在上海正式成立(虽然我个人更想以基金会的形式作为一个开始,但根据国内的法规,那对我们来说是不可能的),将主要负责推广射手相关产品的研发使用,支持产品开发者和爱好者社区的活动,以及维护包括开发者设计者在内的权利人权益。射手科技秉承开放的理念,通过高度组织化、协作化、透明化的工作流程,研发和推广射手的技术和产品。

射手科技不是传统意义上的软件公司。我们是致力于为中文用户提升影音娱乐体验的社会化组织,是期待能在未来扶植和创造更多深层次技术与应用的花园。射手科技旗下包括射手网和开源的射手播放器(或称射手影音)。

特别说明
射手播放器(或称射手影音)作为射手科技旗下产品根据对应的开放原始码许可(统称“开放原始码许可”)的条款,以原始码的形式在 http://www.splayer.org 上提供。本说明中的任何内容不应诠释为限制任何根据开放原始码授权授予的权利。除上文所述之外,射手科技谨代表本身和其许可人保留本产品中的所有知识产权。惟许可协议另行授予的权利之外,您不得移除或更改产品中或上面的任何商标、标志、著作权或其他专有权通知。我们也并未授权您使用射手或其许可人的商标、服务商标或标志。

对于常年来一直支持和帮助射手的朋友们,我在此特别表示感谢。因为部分朋友没有留下过Email或者联系方式迭失,所以也许我的致谢信没有能送到你的手上。不过我想一纸书信是聊表心意,而如果我们能让射手为社会和文化做出更多的贡献,将是对所有帮助过射手的朋友们的最好的回报。

在射手科技正式成立之时,我们也非常期望拥有共同理想的你来加入我们。如果你在任意一个技术领域(开发:C/C++、UI交互、NSIS;设计:网页、界面;多媒体:DXVA/FFmpeg/DirectShow/算法;或移动及其他平台:Android/iPhoneOS/OSX/嵌入设备、数据挖掘或分析:DM /BI、算法:架构)有浓厚的兴趣并愿意(或已经)投入大量的时间。欢迎随时联络。

简单说,我们需要有创业心态的技术人才。不论在校、应届或者已经参加工作的朋友,只要你觉得自己有快速学习和实践的能力,也愿意在年轻的时候掺和次创业,欢迎面谈。如果是在校或者兼职,我们也可以在研究方向达成共识后,提供实习机会或经费共同学习研究。对于全职员工,公司执行灵活的工作时间制度, 但要求高度自律和专心投入。我们将会进入一个高挑战的时期,也会是整个团队共同学习实践不断进步的良好时期。工作地点将位于上海静安与黄浦区交界处,交通方便,周边繁华,期待你和我们一起喝下午茶。

你可以直接联系沈晟:tomasen@gmail.com

请附上简历并说明你的:
* Email
* twitter/新浪微博
* 博客
* facebook/开心网等的地址

射手科技的招聘流程如下:
1.邮件面试
2.技术面试
3.案例执行和实践
3.入职:劳动合同等

具体职位包括但不限于招聘职位列表

一点点额外的期望
—————-
* 你曾经阅读过《高效能人士的七个习惯》、《Getting Real》、《Rework》,理解其中观点并努力实践。
* 懂得GTD,对平衡自己欲望和工作的艺术有兴趣。
* 有耐心、耐力和勇气面对问题,解决问题。
* 不吸烟或有决心戒烟。
* 如果你是和我们一样有伟大理想却又能够脚踏实地快速做事的Geek,还犹豫什么呢?*射手创业团队在盼望你的加入。
* 辍学者优先 ;)

珍惜现在,努力生活。

29 comments so far, add yours

这里是精炼没有隔阂的耕作空间(多图)

DSC_5667
门口的Logo终于设计好了

DSC_5732
偷拍我们建设中的的小洽谈室兼员工休息室

DSC_5582
有认得出这张沙发的么

DSC_5591
估计没认出来吧,这就是『六人行』中乔伊爱做的那个LazBoy
在力所能及的范围内,我们希望能为同事提供一个尽量舒适的空间。

DSC_5520
这里是精炼没有隔阂的耕作空间 没人看到那台Wii吧。

DSC_5396
所以所有的工作位都有窗哦 :) SAP在最右边那栋楼里面和我们做邻居了

DSC_5399DSC_5514DSC_5517DSC_5735

最后再打个求贤广告

11 comments so far, add yours

射手科技的 XenServer/XenDesktop 虚拟化应用方案

虚拟化技术的优点无数,节省成本、节约能源、便于管理、易于维护等等都是众所周知。射手科技的开发和办公环境需求,基于开源Xen的企业化版本,实践了一套完整的生产用虚拟化环境。

需求整理
射手科技开发环境需要配置的服务器包括且不限于:版本管理、文件共享、开发测试、模拟生产环境、域控制、VPN服务器等。同时为了配合灵活工时制度,需要一个可以远程登录的开发环境系统阵列。
对于没有虚拟化技术的年代,可能需要十多台服务器和专人维护才能满足这些需求。但是基于虚拟化技术,可以将所有这些需求集中在2-3台服务器来完成。

选型
企业化虚拟环境,除了最出名的VMWare之外就是Xen。但是VMWare的企业版(ESX)价格昂贵,对硬件要求也高。而Xen则有免费版,非常适合射手这种创业型企业。所以我决定尝试一下Xen系列的企业化产品。

方案
Xen系列的产品线也不少,特别分为开源和商业化版本。经过比较,商业化版本的XenServer因为包含XenCenter这GUI的管理工具,更容易管理。且它的免费版本已经包括了所有我所需要的功能,所以我选择了XenServer+XenCenter+XenDesktop的配置方案。

具体的方案配置如上图。2台服务器均通过网络采购配件DIY。XenServer使用4核处理器和SSD硬盘。文件服务器使用5块1.5T SATA硬盘,其中2块组RAID1,另外3块组RAID5,以保证文件系统安全。之间使用千兆交换机互联,实测使用网络存储的瓶颈已不在网络而在硬盘IO,所以性能上并不比原方案低,但是容灾、安全、管理和扩展性等各个方面都更加方便。

波折
万事开头难,期间也有不少意外的波折:
* 因为XenServer基于Linux,所以原计划将存储和文件共享一并做成RAID,与XenServer使用同一台设备,这样只需要配置1台服务器。但是最终我发现所有家用/商用级主板自带的RAID均不能被XenServer识别。经过资料检索发现,家用/商用主板自带RAID均属于FakeRaid,就是说所谓主板自带的RAID其实仅是存储了一些配置信息,真正的RAID分配读写操作均需操作系统的驱动来完成。而XenServer是没有这种驱动的(对应的开源版本Xen Cloud Platform也有同样问题)。好在XenServer的设计可以将虚拟硬盘通过nfs存储在远程文件服务器上。便少许追加预算,另外配置一台基于Centos的Raid1+Raid5的NFS服务器,兼做samba文件共享存储。同时因为将存储和运算设备分离,容灾性能也可以更好。

虚拟池
XenServer的管理有一个最大的优点,就是虚拟池技术(Pool)。简单的说,就是每台Guest虚拟机,并不一定只能在一台XenServer上运行。你可以将多台XenServer配置为一组虚拟池。而Guest虚拟机可以在多台XenServer之间迁移甚至按需分配。而我将文件存储与XenServer分离的方案更加方便了这种池内的迁移。这个好处不仅提高了运算资源的利用率,在维护上也更加方便(硬件维护升级可以做到几乎无缝迁移),而且降低了设备灾难带来的风险。

XenDesktop
Xen系列产品中还有个有趣的XenDesktop,根据官网介绍,使用XenDesktop可以高效的远程登录虚拟机上的桌面环境,同时因为是在虚拟服务器上,非常方便阵列管理。对于射手科技来说,意味着可以配置一台开发环境后,迅速克隆多台。之后可以在任一地点登录到该虚拟环境立刻开始进行工作。且XenDesktop的免费版允许10个用户,非常适合射手科技目前的规模。听上去真是非常美好,所以好奇的我也忍不住动手一试。
不过实际使用的结果并不理想。XenDesktop的配置很大程度上依赖Win的域控制。对于常见的企业环境来说,可能是可以非常快的融入。但对于不熟悉Windows域控管理的我,则是非常痛苦。尽管Xen的企业官网提供了配置向导视频,但缺乏方案上的指导,让我还是感到困难重重:
* 不要听视频中的鬼话,Domain Controller 和 Desktop Delivery Controller 别放在同一台虚拟服务器
* Domain Controller 和 Desktop Delivery Controller 不能Clone,域内不能有2台SID完全相同的设备。所以各自都重头安装才好。
* 每个XenDesktop的远程连接都需要一套虚拟环境资源(这一点在介绍视频中语嫣不详)。所以建议还是使用XP环境为主,因为Win7 x64需要最低2G内存才能运行,一台8G RAM的XenServer最多也只能跑3个桌面了(要留给XenServer系统一点)。
* 免费的产品版本中似乎还不能做到配置1台Guest Desktop即可完成部署的程度。配置好后需要逐台Clone。如果谁有更高效的管理和部署经验,还请指导。

迁移
人生难免留下一些之前VMWare上的虚拟机,迁移到XenServer可不算是一件容易的事情。甚至可以说是最大的一个麻烦。这个问题上我尝试多次,也没有找到可以称为最好的方法。只是一些积累的经验分享出来以免更多的人犯同样的错误。
* 最好的格式转换工具应该是VMWare自带的导入、导出工具,而不是XenConverter。VMWare为了便于虚拟机在多个产品之间迁移,大部分产品都可以导出到ovf(一个开放标准的虚拟机配置及存储格式)。例如 http://support.citrix.com/article/CTX116603 。但是这个导出有一些先决条件,如果条件没有满足,就不会出现可以导出到ovf的选项,也没有明显提示。
* 一篇详细的迁移参考 http://forums.citrix.com/message.jspa?messageID=1465589
* VMWare的虚拟机最好是单硬盘的。如果不是,最好想办法合并一下。
* VMWare的虚拟机硬盘千万不要“按2G大小分割”,其结果就是不能导出到ovf。如果木已成舟,可以用VMWare自带的 vmdisk-manager 命令行先转换为单文件存储。
* 迁移前移除VMWare-Tool,比迁移后移除方便。
* 能不迁移就不迁移(难以预料的问题太多)

后记
使用虚拟化产品部署后,整个服务器环境成本大幅下降:
XenServer配置:AMD 4核+8G内存+SSD 约3000元
文件服务器配置: 最低端的CPU+1G内存+5x 1.5T硬盘 约5千元
总成本控制在1万元内,却完成了原本需要超过10台硬件设备才能完成的功能。同时非常易于维护,并因为硬件设备的减少,能耗也大幅降低。

Tips
* Xen企业产品的官网提供了很多详细指导视频,建议先进行直观的了解。部分教程可以下载回来,协助配置。
* XenServer的免费版也是需要注册激活的,不收钱,但是也别忘记了。
* 如果需要安装GUI的Centos,不要选默认的Centos模板,要选择”Other Install Media”才能识别显卡 :(
* 个人观点:lvm是非常不适合虚拟机环境的文件系统。难以迁移和管理,硬件变化对lvm的影响可能是灾难的。我很迷惑为什么现在的Linux都要以lvm为默认的文件系统。

14 comments so far, add yours

关于SPlayer项目中 rev#1374-1382 的一些结构变化

射手播放器项目在最近一段时间经历了一些项目管理上的改变,并降低参与门槛:
首先,引入了SVN版本管理系统的trunk/branches/tags机制,以应对此后对多人多线开发的需求,并降低各自开发任务的互相依赖。
其次引入了WTL,为项目整体的架构迁移和重建作准备,使得射手播放器逐渐脱离对MFC的依赖,迈向更理想的程序架构,以追求更简洁高效的代码和程序效率。
在项目管理上,新导入的WTL头文件作为一个第三方依赖,不进入播放器项目的版本管理,在rev#1382后,遵循国际通行的做法,许多项目中使用的第三方依赖类库将逐渐全部从目前的版本管理系统中脱离,并作upstream处理。因此单独从SVN checkout的源代码树将不能直接通过编译。而为了方便新人入手,在开发指南另外提供一个通过Zip打包的项目文件压缩包。这个项目文件压缩包,已经包含全部完成预编译的第三方类库,所以可以直接开始编译。
这样一来,爱好者可以不必安装svn进行checkout,而只要通过http直接下载源码包后,解压即可完成编译(仍需Win7 SDK和DirectX SDK)。

One comment so far, add another

射手科技将为参与SPlayer开源项目的志愿者提供资助

或许是因为SPlayer的项目结构过于复杂,或许是因为国内开发者的压力较大可自由支配的时间少,或许还有其他的原因,射手影音播放器作为一个立足于中文环境的开源项目,公众开发者的参与度长期以来并不算高。

因此射手科技将尝试为参与开源项目的志愿者,建立个机制,使志愿者可以获得资助,更轻松的参与到项目中来。当然这可能是一个略带争议性的话题,因为作为自由软件或者说开源项目的参与者,似乎应该是出于自愿,是否有必要设计利益关系呢。事实上,从很多大型国际开源项目的经验上说,开发者可以获得回报的机制虽然并不明显,但也并非不寻常。包括对项目捐助的分配,或者开源项目背后的服务等等。引用Google Summer of Code中FAQ的一段:

# Isn’t it unusual for open source developers to be paid?(开源开发者获得报酬是否不寻常?)
Not really(并非如此). Many of our mentors get paid to work on open source. Some run their own consultancies, others tinker for some cash on the side, others work for large companies. Some profess to code for cotton.
That said, we do know it is tricky to introduce cash into the mix of Free and Open Source, but that is why we’re working with external organizations with years of collective experience in this kind of thing.

就我个人来说,对这种模式是否有效心里也没底。不过在能力范围内或者逻辑下无法求得最优解时,也许最好的方案确实是follow your  heart。即便错了,至少可以说无怨无悔。

射手科技为参与SPlayer项目的志愿者,包括开发、测试或其他方面的志愿者,提供多种资助模式。虽然数量并不多,但是已是能力所及。:
A) 基于成就的资助模式
针对解决特定TODO条目和技术难题的开发者,按解决的复杂度和时间,获得对应的资助。
优点:时间管理比较灵活,可以从兴趣出发。

B) 固定参与的资助模式
对于长期参与项目的开发者或设计者,可以按月获得相应的资助。同时还可参加由射手科技定期组织的培训和课程。
优点:可以有相对稳定的收入,可以共同学习提高。
凡是并有意愿投入时间加入的志愿者,且成功提交patch或进行功能改进的开发者,均可申请成为项目的固定参与者。
射手科技可为每位固定参与者每月提供高至800元资助。

C) 资深参与者
每1-3个月,我们会对参与者的工作进行评估,对于有突出贡献的参与者,可以获得更多的资助。
射手科技为每位资深项目参与者每月提供高至2000元开发资助。

D) 高级参与者
成为射手科技的固定雇员,长期从事SPlayer相关开发。

具体的参与流程:
开发者在TODO列表和技术挑战中选择一项或几项
向SPlayer项目管理组进行登记,对于需要一定开发周期的条目,预估开发所需消耗的时间。
SPlayer项目管理组对条目和消耗时间进行评估,并与开发者约定可提供的经费金额。
开发者完成开发,提交patch或commit,并领取经费。
完成至少2条TODO列表或1条技术挑战中的项目后,可以申请成为固定参与者,并按月领取开发资助。

SPlayer项目管理组的联络方式:
Email: tomasen@gmail.com

3 comments so far, add yours

射手影音播放器以最快速度加入VP8(Webm)高清格式播放支持

近日Google I/O大会上,Google确认收购On2,开始推广VP8高清视频编码技术,并将VP8相关代码开源,项目命名为Webm。

目前绝大部分高清编码文件,均为H264标准所统治。尽管至今为止所有用户都可免费使用所有H264技术下诞生的产品或视频。但是多数人所不知道的是,H264包含千余项的来自微软、苹果等大公司专利。而作为H264的专利授权负责组织的MPEG-LA,也只不过将针对客户端播放的应用免费授权期延长了几年而已,而并不是说永久免费。所以H264的专利问题,真可谓暗潮涌动+盘根错节,一直是业界悬而未决的达摩克利斯之剑。因此Google选择在H264阵营之外的VP8技术,并将其开放授权给公众使用,也可算是一项利己利人的义举。而各大公司和厂商,也都乐于将H264的专利授权甩开,纷纷表示将加入对VP8视频的支持。

射手影音播放器,也已于今日最新的Build 1341前卫版中直接支持VP8格式的高清文件。

下载最新版的射手影音播放器: http://splayer.org/more.html

VP8测试文件下载: http://lachy.id.au/lib/media/elephantsdream/Elephants_Dream-720p-Stereo.webm

针对VP8技术而言,根据On2的宣传资料表示,画质会比H264更高(宣称画质高出50%)。根据目前的技术分析来看,可以确认VP8技术不会逊于H264。可以从一些底层算法逻辑看出,不管是借鉴也好,不告而取也好,VP8的算法和H264有不少相似之处。至于是否真的要比H264好那么多,仍然存疑。但是多一个开放免费的标准永远不是坏事。

47 comments so far, add yours