Facebook HipHop on ubuntu 12.04安装笔记

December 22nd, 2012 no comment

最近看n多报道说facebook的HipHop的VM性能已经超过的编译版的,所以特意尝试了下Facebook的HipHop,现在把安装笔记记录一下。

回到了村里,见了老同事,吃了火锅,改了bug,记丰富的一天

December 7th, 2012 no comment

好久不写blog,今天写点。 改完了一个js bug,已经到了凌晨1点,已经周5。 昨天是很欢乐的一天,同时也是很让我非常恼火的一天。 晚上如约去中关村找以前的同事吃饭,有月姐,老李,jackos。

同事,朋友,兄弟

December 10th, 2011 no comment
103342_523283038_rotate

晚上回奥运村大屯找了两个半年没见的同事,一起吃饭喝酒聊天。 L和W是09年认识并在一个项目组的,两年过去了,能在一起共事,成为朋友,成为兄弟,…

日志荒废了好久,开始补作业

December 1st, 2011 1 comment

日志好久没写了,最近挺多想写的。但每次想写就写那么几句话,然后就犯懒了。 今天开始补作业。 先把环青海湖的游记完成,明天晚上12点前搞定第一篇,共四篇。 然后再把那些以前说要写的关于技术的一些写了。看了看草稿箱,有大概十来篇。 话这是放出去了,看执行。

2011年款Macbook Pro 15寸笔记本升级SSD和内存图文说明

November 13th, 2011 4 comments
disarm-hard

  ZoomQuiet一直追着我要这个文档,今儿又在buzz上说了一下,今天周末加班搞定这个欠账吧。

这个周二

November 8th, 2011 no comment

今天事情很多,记录一下。

十一年回忆

October 30th, 2011 no comment

今天HY大婚。请ZH和我吃饭。在金百万吃了点,不给力,于是到HY家继续。

纪念乔帮主

October 6th, 2011 1 comment
apple.com.stevejobs

下午到家看到消息,乔帮主已经于太平洋标准时间2011年10月5日去世。 一名优秀工程师的艺术人生就此谢幕,他的产品改变了世界,他的思想影响了我们这代人。 他的产品艺术和技术的完美结合。 他向世人证明了如何用艺术和技术去创造一家公司,改变人们的生活,改变世界。 他向我们诠释了什么是执着创新、理想主义、追求完美、特立独行。 希望未来有更多的人能像乔帮主一样,这样我们会更精彩。 借用乔帮主的名言自勉:“Keep looking, and don’t settle. stay hungry, stay foolish.” 借用今天苹果的主页来悼念乔帮主:

NUMA微架构

September 8th, 2011 1 comment
numa-architecture

现在开始补日志,逐步的扫清以前写了一半的和“欠账未还的”。半年之前开的头,今天先把NUMA说完。 PC硬件结构近5年的最大变化是多核CPU在PC上的普及,多核最常用的SMP微架构:

环青海湖骑行计划

August 7th, 2011 2 comments
物品准备

想了很久的骑车环青海湖今天终于定下来了行程了。PS,现在到青海是旅游旺季,15天之后的票都没有了,赶集网上卖到西宁的票都是票贩子,卧铺一般都要加300 – 400块(中铺票面价416)。 行程:10号14点到达青海西站后,立即找去西海镇的长途车赶到西海镇,并找地方住宿并装车调整车子。

MMORPG网游架构分析

July 14th, 2011 1 comment

近两年的网游开发暂时告一段落,这段有时间总结一下。 试图从四个方面聊聊MMORPG的软件架构,: 整体构架 服务器端架构 3D引擎 游戏逻辑 要说的东西很多,其中也有很多不是我所擅长的,尽力而为吧。

使用GPU加速H.264编码分析

July 14th, 2011 3 comments

继前面的“GPGPU”和“CUDA和OpenCL”的简介后,接下来分析一个具体的使用案例:是否可以用GPU搭建一个高性能的H.264编解码服务器?

CUDA和OpenCL

July 14th, 2011 3 comments
CUDA_Arch

接前文“GPGPU”。 虽然我们可以使用已有的图形API来调用GPU,但是通过前文的分析,这个过程冗长且复杂。严重违反了程序员的优雅、和lazy原则。需要去学习图形学的一些知识,了解texture、shader等图形学专用概念,而且需要学习CGSL或者HLSL等shader着色语言。而且还要熟悉OpenGL和DirectX等图形学API,这一箩筐的知识没有一个一年半载是搞不定的。而且这样的方式不符合正常程序的编写习惯,所以难以优化。

GPGPU简介

July 13th, 2011 no comment
GPUCPU_flops

过去的一周时间研究了一下GPU做通用计算以及CUDA和OpenCL,下面会分几篇文章总结最近的成果。

简述软件包管理系统

July 5th, 2011 no comment

四月份写的一篇blog,就差个结尾,今天补上。 软件包管理是个很大的话题,希望我能说清楚这事。

如何写一个为SSD优化的数据库?

July 5th, 2011 no comment

SSD应该是近几年来硬件技术最nb的革命,困扰计算机性能的最短木板--磁盘IO终于有了巨大的突破。而且SSD在未来的几年中会快速普及(我还琢磨着给我笔记本换SSD)。 前一段cm同学也想做一个MVCC支持的k-v数据库 ,现有的数据库都是根据几年前的硬件水平(小内存、无NUMA、机械磁盘)进行的设计的,不可能针对SSD专门优化,SSD上的MySQL性能提升应该是只用了SSD IOPS超高这一个特性。在SSD未来几年应该能广泛普及的前提下,针对SSD的数据库优化是必须的。集中查了查资料,聊聊想法,有不对的地方欢迎各位补充。

速度与激情5 — All is Team

May 23rd, 2011 no comment

今天终于去看了《速度与激情5》,村里的美嘉欢乐影城好久没去,四号厅感觉一般。 Toretto的团队领导力从《速1》,《速2》,《速4》到这部都表现的淋漓尽致,要是放在正常社会里,这哥一定是个nb的Team Leader。下面就说说这哥。

使用文件系统snapshot做数据库归档备份

May 12th, 2011 no comment
lvm

昨天下午的技术讨论会上说到了数据库的按时间点的进行实时备份和归档,当时的讨论都是基于日志如何来做。 这个问题需要做到以下几点: 因备份而引起的中断数据库服务的时间尽可能短; 能够迅速的让数据库使用备份的数据rollback; 归档的备份数据能在专门的备份机统一保存,方便本机失效后的处理; 如果可能,归档备份的数据能做到增量备份,以节省备份机的磁盘空间,同时方便快速传输。 从数据库本身解决这个问题,可能受困于已有的数据库设计和代码,不非常容易。换个思路,可以基于fs的snapshot来做。 在*nix系统下功能最强的snapshot首推zfs,本身支持文件系统快照,支持增量备份,并内置了zfs send工具能直接把备份快照、或增量备份快照发送到另外一台物理机器上(也必须是zfs)。但必须使用FreeBSD 8以上或者是 OpenSolaris。但是由于公司的机器都是GNU/Linux的,退而求其次选择LVM。 在家里的E8200 + Debian 6.0.0 i386系统上做了测试,首先是使用lvm创建分区,创建了一个名为main的60GB大小的Volume Group,同时在里面建立了一个名为main0的10GB的Logical Volume挂载“/”,并格式化为ext3。 拷入6GB的数据文件,然后创建snapshot: # lvcreate -s -L 7G -n snap-`date +%Y%m%d%H` /dev/main/main0 这一步消耗时间只有0.5s左右,而且测试了拷入20GB的数据文件,snapshot时间基本无变化,详细看截图: 然后在/dev/main/下新加入了snap-`date +%Y%m%d%H` LVM逻辑卷,可以挂载此snapshot分区: # mount /dev/main/snap-`date +%Y%m%d%H` ~/backup 随后就可以tar成gzip包,然后rsync集中保存了。 删除snapshot: # umount -f ~/backup# lvremove /dev/main/snap-`date +%Y%m%d%H` 对于数据库的操作来说,拿MySQL举例: # mysql –uroot –p -h localhost mysql> flush [...]

FreeBSD在线开启ipfw

May 10th, 2011 no comment

在FreeBSD 7.1 amd64版下,由于默认的内核编译选项没有并加入以下内容: options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT 所以在启用ipfw的时候,会启用默认禁止的全部连接的规则,那么直接的后果是把ssh的连接踢下线,并切断外界到这个服务器一切端口的连接请求。 解决方案,在启用ipfw后,马上加入一条允许所有请求的规则: kldload ipfw && ipfw add 65534 allow ip from any to any 另外需要注意一点:绝对禁止使用/sbin/ipfw -q -f flush,会导致把上面这条手动添加的开放规则删除! 同时,如果想在重启后ipfw也开启生效,那么需要这样做: 在/etc/rc.conf里加入: firewall_enable=”YES” firewall_script=”/etc/firewall.sh” 同时/etc/firewall.sh的内容是 #!/bin/sh /sbin/ipfw -q -f flush /sbin/ipfw add 65534 allow ip from any to any 同时自定义的ipfw规则也可以向/etc/firewall.sh中添加,比如阻止118.215.66.135到本机80端口的连接,那么加入 /sbin/ipfw add 1 deny ip from 124.193.167.1 to any dst-port [...]

macports安装db46的jni.h No such file or directory问题解决

May 1st, 2011 no comment

最近在我macbook上安装mercurial和git一直报错,而且都是在安装db46的时候,今天放假实在忍不了了,追了一下日志发现是jni.h头文件找不到:   :info:build /usr/bin/gcc-4.2 -c -I. -I../dist/.. -I/opt/local/include -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -pipe -O2 -arch x86_64 -fno-strict-aliasing ../dist/../libdb_java/db_java_wrap.c -fno-common -DPIC -o .libs/db_java_wrap.o :info:build ../dist/../libdb_java/db_java_wrap.c:123:17: error: jni.h: No such file or directory   这下简单了就是java的开发包需要update一下,于是在此下载最新的 Java for Mac OS X 10.6 Update 4 Developer Package Download 安装,问题解决。