Happy Hacking!

Jan 20 2015
Master Dissertation: Foreground-Constrained Eulerian Video Magnification

    Master Dissertation: Foreground-Constrained Eulerian Video Magnification

    前言

    10个月前,我写了一篇解读欧拉影像放大技术的文章 Eulerian Video Magnification,这篇文章自发布以来,点击率超过了1300次,评论数达到了29篇。如果你在 baidu 上搜索“Eulerian Video Magnification”,我的文章排在第二名(第一名是原论文的链接)。而如果你在 google 或 baidu 上搜索 “欧拉影像放大” ,那么第一名的位置就是我的文章。

    一个促使我写出这篇博文的原因是因为我的毕业课题就和 EVM 算法有关。当时想着既然一直在钻研这个算法,不如干脆写成博文,一来帮助自己思考,二来也能够通过与其他人交流,加深自己对这个算法的理解。我的论文的想法也很简单,EVM 对于存在大幅度移动物体的细微变化的放大效果并不理想,于是我想到通过与拉格朗日视角的框架相结合,先对感兴趣区域进行跟踪(拉格朗日视角),然后对跟踪结果进行局部的欧拉视角的动作放大,最后再进行多分辨率混合。整个算法框架我称之为“前景约束的欧拉影像放大算法”(Foreground-Constrained Eulerian Video Magnification, FCEVM)。

Read More

Jan 15 2015
Write a Tiny Shell-based Test Framework

    Write a Tiny Shell-based Test Framework

    参与过服务端的后台开发和测试的同学对服务器压力测试应该都不陌生了。为了对线上服务进行模拟测试,往往需要编写自动化的测试工具。一个常见的原型通常是这样的:

    1. 从指定地址下载待测的服务器程序,完成本地化配置和部署;
    2. 使用事先构造好的压力词表生成一系列的请求,并以指定的速率(QPS)向服务器发送这些请求;
    3. 解析服务器的日志,统计压力测试结果。

    当然,实际上的测试环境可能更加复杂。比如,有些服务还要防止同一个 ip 地址在短时间内发出大量请求,相应的就要通过伪造 ip 等手段覆盖这种 case 。但“万变不离其宗”,基本的流程不会有太大的改动。

    无需借助其他语言,以上的工作其实只需用 Linux 自带的 Shell 就可以实现了。这给大多数 Linux 服务器开发测试人员所带来的好处就是完全轻量级,省去了配置开发环境的环节。本文就围绕如何基于 Shell 编写一个简单的测试框架,完成上面的所有工作。

Read More

Jan 4 2015
介绍 GodEyes-iOS

    介绍 GodEyes-iOS

    GodEyes-iOS 是一款针对 iOS App 的源码 crash 隐患扫描工具。特点包括:

    1. 专注于 iOS APP 代码的 Crash 隐患静态扫描。
    2. 扫描规则提取自 APP 的典型 crash 案例代码,并且在持续增加中。
    3. 扫描规则可定制,提供多种格式的扫描报告。

    一个典型的过程是每次完成你的 iOS 项目的迭代后,就使用 GodEyes 扫描一次你的工程的代码。然后打开扫描结果,定位到上面列举的存在隐患的代码,确认一下是否存在隐患,然后对问题代码进行修改。你也可以很轻松地将它作为持续集成的其中一步,通过解析生成的 json 结果文件,得到当前的代码隐患情况,并作为判断持续集成状态的其中一个项目。

    GodEyes-iOS 还有一个兄弟 GodEyes-Android,顾名思义,GodEyes-Android 所针对的是 Android APP 源码的静态扫描。

    下文将重点介绍 GodEyes-iOS。1 1出于方便,下文一律将 GodEyes-iOS 简称为 GodEyes。

Read More

Jul 13 2014
Wixo - a wiki theme for Hexo

    Wixo - a wiki theme for Hexo

    自从我将博客的主题 Freemind 开源了之后,我收到了很多朋友的来信,希望我也能把博客里的 Wiki 部分也开源。

    当初没有将 Wiki 的部分放进博客,主要是考虑到主题的简单性。原来的主题包含了很多我个人的特殊定制,虽然自己用着方便,但对别人就不见得适用了。比如,由于我的博客有 post 和 wiki 两套主要的 layout,为了创建草稿的时候有所区分,原来的 hexo new 就不适用了,于是我都是用自己写的工具来创建草稿。再比如,由于是自己用的东西,也就无所谓代码的模块化,有些 hard-code 的地方要做到灵活可定制又得折腾一顿功夫,而且太多定制项又会增加用户的学习负担。考虑再三,我决定将 Wiki 部分去除,尽可能保证主题整体的简单和模块化。本来我开源了 Freemind 主题后也不打算再写其他主题了,但因为来信询问 Wiki 主题的朋友实在太多,于是也给了我动力编写第二个主题 Wixo

Read More

May 4 2014
五四魂

    五四魂

    又到五四青年节,想起了大三时为了参加一个纪念五四青年节视频制作大赛所完成的一个动画《五四魂》。当时为了做这个动画,活活烧死了俺散热极差的惠普V3000笔记本。虽然最后拿到了一等奖,但两百块奖金实在是血本无归呀有木有。

    分享下当时创作这个动画的idea:既然主题是一个历史事件,我决定从视觉上突出“过去”和“现在”的对比。前面一部分介绍历史事件,所以用了水墨风格;后面一部分介绍这个历史事件对人们的影响,所以用了潮流风格。当时刚好2008年北京奥运刚结束不久,所以大量引用了奥运会的元素,包括介绍历史时所使用的画卷。也许是因为这一点比较接地气吧,所以博得了评委老师们的青睐。

    当然,从美工上,这个动画还是有很多不足之处的,毕竟俺不是学美术的,手绘能力很有限。尤其是神舟七号的绘图,不知道被吐槽过多少次……

    Anyway,趁着青年节,在这里发布这个动画,顺便纪念我即将逝去的校园时光…… 1 1评论请勿涉及政治哈!

Read More

© 2016 Joseph Pan with help from Hexo and .