聚合文章

汇集全部已收录博客的最新文章,点击标题前往原文阅读。

排序方式:最新发布

COW 0.5

放寒假之后花一周多的时间改进 COW,修复了些 bug,增加了一些新功能。改动比较大,所以跳过 0.4 版直接发布 0.5。使用说明和配置样例的注释都改成了中文,配置文件选项有些变化,请参考 github 上的说明修改;二进制文件下载还是在 Google Code。(发布之后才想起来 Google Code 貌似也被墙,使用安装脚本的话需要配置代理环境变量。) 感谢 glacjay 的建议,让我把 COW 做的更加自动化一些。0.5 版本最大的变化也在此。 由于没法准确判断超时是由于被墙还是连接状况差导致,被墙网站的判断没法做到非常准确。COW 现在的做法是: 统计访问的 host 被墙和直连…

反汇编 x86 指令

Update on 2013-01-16: 在 Dawson Engler 的主页上看到一篇论文,Reverse-Engineering Instruction Encodings,利用系统的汇编器自动生成指令 encoding 信息。有了这个信息就可以写 code generator, disassembler 了。Dawson 在这篇 paper 的说明里写道: It’s genesis was the fact that writing a binary encoder for the x86 is an unredeemably disgusting experience. 我想说,写…

Valgrind 中用 pipe 实现的 GIL

读 Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation 这篇论文时看到了一种实现 GIL 的方式。 先介绍一下为什么 Valgrind 需要 GIL。Valgrind instrument 二进制文件并且执行采用的方式叫做 Disassemble-and-resynthesise (D&R)。其大概过程如下: 将原二进制代码反汇编到中间代码 Valgrind 插件对得到的中间代码插入做检查的中间代码 对中间代码做优化之后,生成 native 代码 由于中间代码是 RISC like 的,一条 CISC 的读写…

pthread mutex,其实它飞快

Update on 2012-12-27: 知道 xchg 实现的 spinlock 竞争严重时变慢的原因后可以对它做一点优化。拿锁失败,发现锁还没有释放时应该尝试等待一段时间而不是不停的去检查,这样就可以避免同时有太多的核进行拿锁操作。优化之后的 xchg spinlock 性能在单个 CPU chip 上明显超过 pthread mutex,核数变多时也还是会胜过一些。加入 exponential backoff 的 spinlock 实现也放在 github 上了。实现简单 spinlock 时 waiter 一定要加 wait backoff,这个技术对 spinlock 的伸缩性影响…

基于 mmap 的二进制 log 库

之前的项目里写过一个用 mmap 实现的二进制日志库,把代码放到了 github。使用的例子代码可以看这个目录下的测试文件。 用 mmap 写日志的麻烦之处是 log 内容超过文件大小时必须要把文件变大才能继续往后写。这个库主要做的事情除了创建文件,调用 mmap 完成初始化之外就是增大日志文件了。 增大文件现在的处理方式是当文件不够大时通过 truncate 将文件变大,然后将扩大的部分 mmap 上来,同时归还之前 map 的内存。 其实 bprint 就是在写完这个 log 库之后写的。或许有同学会觉得有用。

说说SVM的基础知识(1) - 飞林沙

1. 导言在机器学习和模式识别领域,SVM绝对是除了Boosting之外的又一项重大突破,在一般的应用中,我们都用LibSVM这样已经成熟的库,但是对于内部机理和一些基础知识我们可能很多时候并不清楚,那么我们就把一些基础的知识一点点说清。2. 关于维度首先,我们来说下维度。维度这个概念我们都并不陌生,维度在数学中也称作维数,代表的是参数的数目。我们说零维是点,一维是线,二维是面,三维是立体。我们跳…

时间无爱 时间无爱 2012-12-19

笑忘书。

那些曾经你伤的最痛的地方,会变成你最坚强的。 大三的生活,没有想象中的那样悠闲,无止境的考试和时而触不及防的落Continue Reading

时间无爱 时间无爱 2012-09-15

浮生小记。

? 如果有一天,我老无所依 请把我留在,在那时光里 如果有一天,我悄然离去 ? ? 请把我埋在,在这春天里。 Continue Reading

shun.im shun.im 2012-09-15

壳中少女:燃烧

壳中少女 三部曲之二:燃烧,这 BD 在 7月底就出来了。 前段时间补番无力啊,终于今天把它看掉了。 (话说之前居然还有人向我剧透,哼,对小说早就看完的毫无杀伤力。) 没有看过前作的可以到 壳中少女:压缩 了解一下。[......]继续阅读:壳中少女:燃烧

时间无爱 时间无爱 2012-09-05

奠念。

很多年后,我们都垂垂老矣,而你还活在最美好的年纪。 你的微笑,就这样停在了18岁那年的冬天。 对Continue Reading

时间无爱 时间无爱 2012-09-03

Coffee time.

我们看错了世界,却说世界欺骗了我们。 单方咖啡比想象中的还要苦。 听从服务生的推荐,选了味道温和些的巴西咖啡,Continue Reading

从零开始打造完整评分系统 - 飞林沙

1. 概述 大多数的网站都需要一个评分系统,来考量该网站条目的质量,例如时光网: 那么在本文中,我们就来学着如何打造一个可用的评分系统。 2. 构建简单的评分系统 其实最初做一个评分系统很简单,我们首先先设计评分系统所需要的数据表,即用户评分表(user_rating): CREATE TABLE `user_rating` ( `id` int(11) unsigned NOT NULL AUT…

shun.im shun.im 2012-09-02

匿了好久,现状报告

这次匿了好久~ 居然有两个多月没有更新,惭愧。 例行的现状报告证明我还活着。 这几个月也没有太多值得一提的事情。 去过的地方倒是不少,在不变的大环境下换了许多小环境。[......]继续阅读:匿了好久,现状报告

LvWind Blog LvWind Blog 2012-07-18

强制更新戴Dell Inspiron双显卡驱动

去年六月份买的 Dell Inspiron N4110,看中的就是能在 Intel HD 3000 和 AMD HD6630M 之间随意切换的双显卡,之后经常有莫名其妙蓝屏的问题,我也没怎么在意,这是Windows经常有的问题(?)。上学期写作业经常用 C-free 敲代码,十次编译有六次蓝屏,没办法只好装上臃肿的 Visual Studio 2010,也没去深究。后来有次在家用HDMI连电视,用Windows的“扩展”方式双屏显示,上bilibili看动画,结果就卡死了有时候甚至会蓝屏(又来了),实验了好多次都是这样。 分析 mini dump,确定是 igdpmd32.sys 导致,这个是…

LvWind Blog LvWind Blog 2012-07-17

无题

今天扫Google Reader的时候,看到@wzyboy的博客更新了,本站不幸中枪。知错要改嘛,打算把这个高危警告修复掉,打开自己博客,发现距离上次更新一年多了,都长草了。。 小修小补是很快就弄好了,然后想登录后台看看,结果密码忘了(什么烂记性),重置掉密码后总算是进来了,看到有几十条被Akismet屏蔽的spam,真是长草了。。

shun.im shun.im 2012-06-18

姗姗来迟的 Opera 12.00

代号为 Wahoo 的 Opera 12.00 在前几天终于迎来正式版,详细更新内容请见 Opera IM。 可以说这一代经过了相当漫长的开发和测试周期,更新的内容相当的多,版本号依然有意义。 现在让我们来看看,这条近一年时间才养肥的大鱼是否可口。 当然,这也是一篇姗姗来迟的博客更新,惭愧啊。[......]继续阅读:姗姗来迟的 Opera 12.00

shun.im shun.im 2012-06-04

在不存在的日子更新一下刷存在感

在很久以前,其实也没那么久嘛(还好意思说 ←_←) 。 这个博客走过了三周年的里程碑,然后一直就这个样子,沉默。这是有多方面的原因的。 但我从未真正离开,只是躲在角落里观望这网络上的事物。 好吧,进入正题,本文其实也可以叫做“又一篇现状报告”。[......]继续阅读:在不存在的日子更新一下刷存在感

说说Python程序的执行过程 - 飞林沙

1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊! 为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清。 2. 解释型语言…

关于排行榜的算法经验谈 - 飞林沙

好久不来博客园了,前几天更新个人状态时,也把“技术博客”四个字改成了“荒废已久的博客”。好久不总结自己的工作和学习了,怎么说也过不去,就来这写一篇浅显的文章,没什么新鲜的内容,算是一篇经验的汇总把。1. 关于排行榜各大网站一般来说都少不了排行榜这个东西,一者是提供给商业合作方的数据排行榜,另一者是提供给用户的榜单。例如豆瓣的新书榜:2. 打造一个最简单的排行榜我们先用豆瓣的新书榜为例,看看我们如何…

ShadowMov's Blog 2012-04-22

成功编译Wine1.4

看着Ubuntu PPA源里的Wine很久没升级了,于是跑到Wine官网瞧了瞧,发觉Wine Stable到了1.4,Wine Unstable到1.5.2了。 早就不满意Wine1.3.X后期版本的效率了,果断sudo aptitude remove wine1.3,然后从官网下了1.4和1.5.2的源码包。 由于是编译安装,编译以后将较难变动,我选择了Wine Stable,也就是Wine1.4

鬼仔's Blog 鬼仔's Blog 2012-04-20

鬼仔Robot(Wi-Fi小车)

先上图,左边的是一代,2010年做的,右边的是二代,去年年底做的。一直想发一下,希望能够跟有相同爱好的同学做一些交流,但是拖延症太厉害了,我实在斗不过他,一直拖到现在才发。

shun.im shun.im 2012-04-15

博客三周年,我依然在

A.shun Blog 走到了今天,已经三周年了。撒花~ 虽然去年底开始脱宅,从事的工作也用不到计算机,各方面的原因导致了博客的更新频率大幅度下降。(话说本来就是文囧星人嘛) 但即使如此,我也有信心让博客延续下去,因此出现这篇日志是毫无疑问的。[......]继续阅读:博客三周年,我依然在

shun.im shun.im 2012-03-25

又一篇现状报告 @济南

更新一下博客刷点存在感- -。 时间过得真快哪! 在济南已经待了接近一个半月,从各种困扰到逐步适应。 还在去年的那家公司,但今年的工作地比较远。第一站是济南。[......]继续阅读:又一篇现状报告 @济南

virtualenv搭建虚拟环境 - 飞林沙

Python的背后有着庞大的开源社区支持,但是有一个缺点就是每个包的质量都参差不齐,如果我们在工作服务器上去测试安装每个包,就会造成整个的服务器形成庞大复杂的第三方包依赖。 virtualenv就是为了解决这个问题而生,他可以在我们的目录上生成若干个独立的虚拟环境,这些虚拟环境和正式环境一样。 安装virtualenv非常简单: 首先安装virtualenv: 然后我们就可以创建一个虚拟的环境了:…

鬼仔's Blog 鬼仔's Blog 2011-11-23

Proxmark3 & Teensy团购活动

#鬼仔:详细信息可看: http://radiowar.org/hardware/proxmark3.html Proxmark3主要是作为RFID开发以及研究之用,是国外称之为“神器”的研究平台! 第四期的Proxmark3团购结束之际,Proxmark3第五期团购开始了,这一次和每次团购一样,都是需要大家支付设备的订金,从而再从海外购入相关的设备的,耗时大概是两个星期到三个星期,因为临近国内农历新年,所以需要年后才可以发货(三月底)。可选择订购裸板,待发货后再选择是否需要全套配件或某些配件!

《浪潮之巅》读书笔记汇总 - 飞林沙

其实我是没有做读书笔记的习惯的,但是这本书只是借来看的,而且这种杂谈性的书,也比较容易扯开去,就随便写了一些东西,大多是自己的一些乱七八糟的想法。现在给汇总一下发出来把。。1. 第一章AT&T的兴起感谢于美国的反垄断法不断地强迫公司做着技术革新,帮助公司修枝剪叶以删除掉那些无用的业务,而衰败同样是由于反垄断法使公司不得不做着不理智的拆分从而使一个巨型帝国迅速的滑落。当一个公司到后期被投行以及他人所…

R对MongoDB的性能测试——RMongo - 飞林沙

在九月初的时候,RMongoDB正式发布了修订版本,这也就意味着,从事数值计算的语言也可以于Nosql产品相接轨了,但是鉴于我身边并没有公司真的在使用R和MongoDB的结合,所以在效率问题上,我们也不敢掉以轻心,所以就做了一个这样的测试。测试环境是8核,64位机。 用于测试的库是一个未经Sharding,大概30G左右的Collection。用于存储用户的喜好信息,标签信息等数据。 1libra…

鬼仔's Blog 鬼仔's Blog 2011-08-01

新浪招聘安全工程师(长期有效)

一直在招人,这次增加了新的职位。 此信息求各种转载,:)。 联系方式(邮箱&Gtalk):[email protected] 欢迎有兴趣的同学!欢迎各种简历! 工作地点:北京 安全检测工程师 职位描述: 负责公司产品和业务的安全检测和安全加固,引导开发人员修复安全问题 负责各类安全问题和安全事件的跟踪和分析,支持公司各部门日常安全工作 负责公司定期的安全风险评估和检测 负责WEB代码检查,WEB漏洞检测 突发安全事件的应急响应 跟踪和分析新的安全漏洞、安全技术

鬼仔's Blog 鬼仔's Blog 2011-07-04

安氏领信招聘安全服务工程师

#鬼仔:抱歉,一直没有更新,更新了几次却都是招聘的信息。不过招聘的信息也有可能帮到大家。 :) 职位:安全服务工程师 工作职责: 1. 负责对客户网络、系统进行周期性的安全评估与加固; 2. 当客户网络出现安全事故时,提供及时的响应服务; 3. 针对客户的网络架构,提出合理的网络安全解决方案; 4. 服务项目文档整理和定期报告撰写 5. 跟踪和挖掘客户需求,及时整理和上报; 6. 负责对公司SOC项目中安全运维内容的支持

鬼仔's Blog 鬼仔's Blog 2011-06-14

人人网招聘安全工程师

招聘人数:3 工作地点:北京 待遇:面议 岗位职责: 负责公司核心业务及产品的安全测试、安全审核、安全风险评估与分析 对产品代码进行审视,找出安全漏洞并提出修改建议 研究各种安全技术,编写和维护用于安全测试的攻击工具、防御工具和分析工具 根据公司安全的需要开发安全辅助工具或平台 维护公司现有的安全程序,系统 负责公司Web产品涉及到的安全性研究 负责响应公司的安全事件

谈谈开放平台 - 飞林沙

不知道从什么时候起,开放平台越来越多地走近了我们的视线,从最初的开心开放平台,人人开放平台,新浪开放平台,再到即将发布的飞信开放平台,腾讯Q+开放平台,似乎在这么一瞬间,开放平台成了各个互联网的一个标配。如果你没有这么一个开放平台,你都不好意思说我是一个互联网公司。 那么这里,我们就来谈谈这个所谓的开放平台。 1. 什么是开放平台 首先,让我们来了解下什么是开放平台。 也许对于程序员来说,...