• Covid Report


    • 2014年04月10日
    • job

    想跳槽?学学人猿泰山


  • 用Python做文本摘要

    最近在公司做了一些python的技术分享,都是比较基础的东西,用到的一些题材还挺有意思的,和大家分享。
    本文是系列的第三篇。

  • Python web api

    最近在公司做了一些python的技术分享,都是比较基础的东西,用到的一些题材还挺有意思的,和大家分享。
    本文是系列的第二篇。

  • python 初探

    最近在公司做了一些python的技术分享,都是比较基础的东西,用到的一些题材还挺有意思的,和大家分享。
    本文是系列的第一篇。

  • 程序调试心得

    必须保证你改的代码,可以很方便地看到结果(或影响)。
    一次改动太多的地方,就无法判断结果的变化是哪处改动造成的。
    - 分离有问题的部分,做手术的创口尽可能小。
    问题的出现往往是重构的机会,一个bug往往能牵出更多的bug。

  • 如何使用互联网解决编程问题

    有的时候用关键词描述问题能更好地帮你看清问题的本质,即:要描述或定义我的问题,哪些词是**不可能绕过去**的?
    这时候,对结果的分析就很重要,有助于你认识到自己做了哪些假设,哪些假设是符合意图的,哪些是不合理的。
    2.你提问的方式正确,但是问题本身,不是你想的那样,你需要重新审视你的问题。
    再如,位置相关的搜索,如北京周边的美食、酒店什么的,百度的服务一般优于google的。

  • 电子游戏让你上瘾的5个可怕方法

    作者是微软的一个游戏研究人员,行为学和脑科学博士,讲的是如何把玩家钩在游戏上,欲罢不能。
    > “每个游戏场景都是时间、行动与奖励的有机体,你可以随意操控它们之间的排列组合,让玩家按预先设定的模式来行动。
    请注意,他的文章根本没提到“好玩”或者“愉悦”,这不是他的研究领域。
    所以他们必须改变游戏的机制,让玩家重复地做同样的事,一遍又一遍,欲罢不能。
    只能通过花费时间、精力和技巧才能得到的东西,必定是有价值的,无论是它是钻石做的,还是二进制码或者牛肉筋。
    设计者绝对是故意的,迎合人们收集的自然本能,让玩家是为了收集而收集。
    游戏中充满了各种宝箱,里面可能有一个随机的物品,要打开箱子,你需要钥匙。
    除了利用到人的赌博天性,成千上万的玩家都在彼此竞争,看谁能开最多的箱子。
    同样的,竞技性的游戏,如现代战争2,是缺乏强健体魄的人们的运动。
    大多数人,尤其是年轻的游戏人群,都缺乏这三样东西,工作中如此,生活中的其他方面亦如此。

  • nest介绍之音乐地图

    节点的颜色由数据实体的`type`属性决定,不同type即颜色之间的节点,使用一种特殊type的节点连接,这种节点的type是relationship(关系)。
    传统的展示元素和关系的视觉组件有列表、树等,但是所能展示的拓扑关系必须是有向无环图(DAG),通俗的比喻,张三的儿子的儿子不可能是他爹。
    现实生活中很多元素间的关系满足DAG, 但是不满足例子也很多,比如朋友关系,张三的朋友的朋友可能也是张三的朋友,这在关系上就形成了一个环,不满足DAG。
    * 左键单击节点: 选中该节点,可能会弹出可供扩展的关系节点(如选中歌曲节点,弹出歌曲所在的专辑和歌手)

  • 凯撒方阵

    加密字符串的第一位是选定的数字n,接下来按从左往右、从上往下的顺序把方阵中的字符写下来,如果方阵的最后没有写满的话,最后要写下空位的个数m。
    该字符串长度为84,m = n - (84 + 1) % n =3 。

  • 虾米下载介绍

    下载高音质歌曲是收费的,而且官方软件(虾客)不好用。
    原因是我有在手机听歌的习惯,但是没有开通3G服务,据说地铁里信号不好。
    然而如果你想下载某张精选集里的歌曲,或者歌曲的歌词等,这个软件爱莫能助,当时的LKM没有这些功能。
    界面部分LKM采用.NET 3.5下的WinForm,而我们用的是WPF(.NET 4.0推出的界面库)。
    xiami_downloader经过了几次大的重构,增加了很多新的功能,界面更是换了不知道多少次。
    做自己每天都会使用的软件,是一件很快乐的事。
    百度网盘采用的是更为标准的、继承自dropbox的RESTful API,即所谓的PCS。

  • 删除github pages的master分支

    在两个分支间切换很不方便:在gh-pages写了一些blog, 然后切回master进行一次push,才能让服务器重新build。
    首先到github.com的repo设置里面把默认分支设为gh-pages,然后删除master分支,最后回到本地,用 `git branch -D master` 删除master分支。

  • jquery.fracs

    - d3.parsets.css
    - d3.v3.min.js
    - d3.parsets.js
    {% highlight text %}
    {{ page.title }},d3
    {{ page.title }},visualization
    {% endhighlight %}
    {% highlight javascript %}
    {%raw%}
    var csv="post,tag";
    {% for post in site.posts %}
    {% for tag in post.tags %}
    csv+=" {{post.title}},{{tag}}";
    {% endfor %}
    {% endfor %}
    {%endraw%}
    {% endhighlight %}
    {% highlight javascript %}
    var chart = d3.parsets()
    .tension(0.8)
    .width("800")
    .height("480")
    .dimensions(["tag","post"]);
    var vis = d3.select("#vis").append("svg")
    .attr("width", chart.width())
    .attr("height", chart.height());
    var parsed_csv=d3.csv.parse(csv);
    vis.datum(parsed_csv).call(chart);
    {% endhighlight %}
    {% highlight javascript %}
    {%raw%}
    var posts={};
    {% for post in site.posts %}
    posts["{{post.title}}"]={
    "url":"{{post.url}}",
    };
    {% endfor %}
    vis.selectAll(".category text").on("click",function(d){
    if(!

  • forced graph

    - d3.parsets.css
    - d3.v3.min.js
    - d3.parsets.js
    {% highlight text %}
    {{ page.title }},d3
    {{ page.title }},visualization
    {% endhighlight %}
    {% highlight javascript %}
    {%raw%}
    var csv="post,tag";
    {% for post in site.posts %}
    {% for tag in post.tags %}
    csv+=" {{post.title}},{{tag}}";
    {% endfor %}
    {% endfor %}
    {%endraw%}
    {% endhighlight %}
    {% highlight javascript %}
    var chart = d3.parsets()
    .tension(0.8)
    .width("800")
    .height("480")
    .dimensions(["tag","post"]);
    var vis = d3.select("#vis").append("svg")
    .attr("width", chart.width())
    .attr("height", chart.height());
    var parsed_csv=d3.csv.parse(csv);
    vis.datum(parsed_csv).call(chart);
    {% endhighlight %}
    {% highlight javascript %}
    {%raw%}
    var posts={};
    {% for post in site.posts %}
    posts["{{post.title}}"]={
    "url":"{{post.url}}",
    };
    {% endfor %}
    vis.selectAll(".category text").on("click",function(d){
    if(!

  • 用d3.js来呈现post-tag的多对多关系

    - d3.parsets.css
    - d3.v3.min.js
    - d3.parsets.js
    {% highlight text %}
    {{ page.title }},d3
    {{ page.title }},visualization
    {% endhighlight %}
    {% highlight javascript %}
    {%raw%}
    var csv="post,tag";
    {% for post in site.posts %}
    {% for tag in post.tags %}
    csv+=" {{post.title}},{{tag}}";
    {% endfor %}
    {% endfor %}
    {%endraw%}
    {% endhighlight %}
    {% highlight javascript %}
    var chart = d3.parsets()
    .tension(0.8)
    .width("800")
    .height("480")
    .dimensions(["tag","post"]);
    var vis = d3.select("#vis").append("svg")
    .attr("width", chart.width())
    .attr("height", chart.height());
    var parsed_csv=d3.csv.parse(csv);
    vis.datum(parsed_csv).call(chart);
    {% endhighlight %}
    {% highlight javascript %}
    {%raw%}
    var posts={};
    {% for post in site.posts %}
    posts["{{post.title}}"]={
    "url":"{{post.url}}",
    };
    {% endfor %}
    vis.selectAll(".category text").on("click",function(d){
    if(!

  • github pages 配置

    comments :
    provider : disqus
    disqus :
    short_name : YOUR_DISQUS_SITE_NAME

    你需要去disqus.com注册一个用户,然后在dashboard中新建一个站点,注意把`short_name`设置为配置文件中的那个`YOUR_DISQUS_SITE_NAME`。
    $ CHCP 65001
    如果是在git bash中的话,需要设置如下环境变量:

    export LC_ALL = enUS.UTF-8
    export LANG = enUS.UTF-8
    然后就可以 `jekyll serve --watch`了。
    comments :
    provider : disqus
    disqus :
    short_name : YOUR_DISQUS_SITE_NAME

    你需要去disqus.com注册一个用户,然后在dashboard中新建一个站点,注意把`short_name`设置为配置文件中的那个`YOUR_DISQUS_SITE_NAME`。
    如果是在git bash中的话,需要设置如下环境变量:

    export LC_ALL = enUS.UTF-8
    export LANG = enUS.UTF-8

  • 为gem install 提速

    ```
    :bulk_threshold: 1000
    :backtrace: false
    gemcutter_key: XXXXX
    gem: --no-ri --no-rdoc
    :benchmark: false
    :verbose: true
    :update_sources: true
    :sources:
    - http://gems.rubyforge.org/
    - http://gems.opscode.com
    ```
    主要起作用的是`gem: --no-ri --no-rdoc`,少下载了很多文档。