很长一段时间以来就看到各种基于 Twitter Bootstrap 主题的博客很清爽,而且对 Tag 的归档也做得很赞,于是很想将自己的博客也换成 Bootstrap 的主题,随着看到的博客越来越多,自己的 Octopress 主题先得越来越臃肿,而 Tags 归档功能也相形见绌,更换主题的欲望越来越强烈了。于是乎,趁这个周末捣鼓了一番,最终大功告成,在这里分享一下具体过程。

Bootstrap 主题的安装

首先下载适用于 Octopress 的 Bootstrap主题 并解压缩到博客的 .theme 目录,然后安装:

rake install['bootstrap']

安装的过程中可能会提示有 sass 或其他依赖库的语法错误神马的,这是因为 sass 的版本过低,可以通过如下命令来跟新:

bundle update sass

在Leetcode上有好几道全排列相关的题,一直以来只是会写基于递归的全排列生成算法,遇到这几道题后,搜了下一些非递归的实现方法,发现其实全排列的生成还是很有规律的有木有!这里就总结一下递归和非递归的全排列生成方法,并分析一下 STL 的实现。

递归和非递归实现全排列生成的方法也分别有多种,递归法有基于交换的,有基于链接的,还有回溯,非递归法有排序、回溯、求模等,关于所有这些方法的具体实现参见 全排列的六种算法. 本文只实现一种递归和一种非递归算法,并在最后对 STL 的非递归算法进行分析。

本文的全部代码下载:code.

递归法求全排列

递归法的基本思路是这样的:

首先选一个元素排在第一个(有 n 中选法); 然后递归的对剩下的所有元素进行全排列; 直到一个元素的全排列是其本身。

假设给定的元素序列为 ,其全排列表示为 P(e1, e2, ..., en),则对递归的第一步展开有:

P(e1, e2, ..., en) = { , , ... ... }

引子

在码代码的过程中,不经意间就会遇到需要交换两个变量的情况,一般情况下都是通过新定义一个同类型的变量来中转,但自己也知道可以不用定义新变量直接原地交换,但具体如何原地交换以及其中可能隐藏的bug却了解得不是很清楚,于是乎google了一下,发现这里面还真是有很多学问呢,这里整理和总结一下。

原地交换两个变量,最主要有加减法和异或法。

本文完整代码链接:20140411.cpp

加减法

加减法最简单、最好理解了,设待交换的两个变量分别为 a 和 b ,首先将两者的和赋给 a ;然后将 a 与 b的差赋给 b ,这样 b 就是 a 原来的值了;最后再将 a 与 b 的差赋给 a ,这样 a 就是 b 原来的值了。具体代码如下:

inline template <class T>
void xswap(T &a,T &b){
    a=a+b;
    //printf("a=%u\n",a);
    b=a-b;
    a=a-b;
}

概述

最近在做的一个项目,需要对大量数据进行一些基本的统计和处理,整个程序的思路很简单,但处理起来却很慢,特别是有二重循环的地方,龟速前进,眼看着16核32线程 的服务器只有一个线程被利用,束手无策。之前一直听说Go是一门对并发编程有很好的支持的语言,七牛的许牛大力推崇Go语言,于是就开始了对Go并行编程的探索之旅。

最近这两年推荐系统特别火,本文搜集整理了一些比较好的开源推荐系统,即有轻量级的适用于做研究的SVDFeature、LibMF、LibFM等,也有重量级的适用于工业系统的 Mahout、Oryx、EasyRecd等,供大家参考。PS:这里的top 10仅代表个人观点。

#1.SVDFeature

主页:http://svdfeature.apexlab.org/wiki/Main_Page 语言:C++
一个feature-based协同过滤和排序工具,由上海交大Apex实验室开发,代码质量较高。在KDD Cup 2012中获得第一名,KDD Cup 2011中获得第三名,相关论文 发表在2012的JMLR中,这足以说明它的高大上。
SVDFeature包含一个很灵活的Matrix Factorization推荐框架,能方便的实现SVD、SVD++等方法, 是单模型推荐算法中精度最高的一种。SVDFeature代码精炼,可以用 相对较少的内存实现较大规模的单机版矩阵分解运算。另外含有Logistic regression的model,可以很方便的用来进行ensemble。

最近在v2ex上发现了一个非常酷的云编程发开平台——Koding,与大家分享一下,主要介绍一下它的基本功能和操作。

What is Koding?

Koding是一个在线的编程开发平台,致力于简化全球化的合作项目开发,并为每个人提供免费计算和开发资源。它已不仅仅是一个在线的编辑器那么简单, 而是通过提供免费的虚拟机(vm),上面安装了ubuntu操作系统,有真实的终端,允许开发者进行go、nodejs、ruby、python、php、js、C/C++等语言的开发, 可以安装各种工具和应用,。更主要的是,它是完全在线的,可以从世界上的任何地方访问,只需要一个浏览器。不仅如此,他还具有完美的社交功能, 可以和团队成员在线协作。

其实很早之前就买了这本书,是在13年6月份和『看见』、『黑客与画家』等一起买的吧,看完这两本书后也就开始看『创客』了, 但都是断断续续的看,没有花比较集中的时间,而且感觉前面几章将的内容没有那么大的吸引力。后来双11做活动,又买了10来本书, 其中有雷军、周鸿祎等IT大佬的传记,还有几本成功励志类、文学类的书,就又跳着去看这些书了。开学初闲着无聊就又拿起这本书 来看了,看到了第二部分后,才发现原来这本书是如此之好,特别是开源硬件、众筹、云工厂等新兴工业和商业模式,让人印象深刻。

作者&内容简介

这本书的作者是克里斯•安德森,一个很多人耳熟能详的名字。现任『连线』杂志主编,是3D Robotics和DIY Drones的联合创始人, 也是『纽约时报』畅销书『长尾理论』及『免费:商业的未来』的作者。

『创客:新工业革命』一书以独特的视角分析了传统的制造业在汹涌澎湃的互联网浪潮中发生的翻天覆地的变化。在互联网这个广阔媒介的 笼罩下,每个人都可以分享自己的idea、设计方案和产品原型,也可以评论和完善他人的idea、方案和产品,每个人都可以DIY,都可以自己动手 创造出新的东西。只要你敢想敢做,nothing is impossible!在长尾效应无法避免的情况下,每个人都可以设计个性化的产品,解决个性化的 问题,新发明不断涌现。3D打印的兴起,使得新产品的制造更加模块化,更加便捷。硬件设计的开源,又加剧了产品的分化和个性化,也使得其 更新换代和性能提升更快。云工厂又使得发明者可以不用白手起家建立加工厂,从而更加便捷的将自己的设计付诸实践。而众筹这种新的集资模式 又解决了发明者自尽缺乏的后顾之忧,而且提前为之提供了市场需求情况。所有的这些因素,使得制造业空前的繁荣,一场新的工业革命正在萌发。

一篇很唯美的文章,来自豆瓣相册:如果长颈鹿哭了,它会不会要哽咽好久,有微小删改。
在酷我调频的莫萱日记“关于我爱你这件小事”这一期中听到的,分享给大家,顺祝大家圣诞快乐!

长颈鹿的脖子那么长 哽咽的时候是不是很难受
我没有长长的脖子 却哽咽的说不出话
章鱼有三颗心脏 心痛的时候是不是很疼
我没有三颗心脏 体会不到无法忍受的痛再多三倍
乌鸦可以学人说话 尴尬的时候会不会装咳嗽
我假装咳嗽 假装被沙子迷了眼 你也没有看我一眼
骆驼有长长的睫毛 想哭的时候能不能说眼睛进了沙
我假装咳嗽 假装被沙子迷了眼 你也没有看我一眼
蛇没有宽宽的肩膀 她累的时候给不了能够依靠的温暖
是因为我太弱小 没有很可靠的肩膀么
小强有两个大脑 孤单的时候会不会一起想着谁
无时无刻的清澈的想念 一定比两个大脑一起想你还多吧
蜉蝣只能活很短 可能一辈子都来不及和心里珍藏的那个人说一些想说的话
我又能活多久 时间会不会给我可以开口的勇气
把人生看做是自己独一无二的创作 便不会频频回首
你会不会忽然地出现 在旧时光的风景里 成为珍藏一生的美丽

11月10日,36氪开放日第二次来到杭州站,首次进入大学,进行互联网行业创业和投资的机遇、观点和经验分享。这次开放日主要包含三个部分:
(1)成功创业者/投资者的主题分享;
(2)初创团队的产品发布与展示;
(3)观众参与: 10位观众每人1分钟demo展示。
本文回顾并总结一下这次活动的主要观点。

主题分享的特邀嘉宾有来自阿里的副总裁纪纲,来自阿米巴的资本合伙人、挖财董事长李治国,来自丁香园的CTO、微信「小道消息」作者冯大辉@Fenng, 毕业于浙大的个推创始人方毅@方毅_个推,来自网易杭研院的产品经理、目前负责易信的章行,来自Nokia的体验创新中心总经理傅蕾。

初创团队的产品展示有7个,分别是——金亦冶-Kivvi收银平板:时尚店主的POS收银机,徐文俊-找大巴:首创BO2O大巴招投标预订直销模式、大巴预订神器,何翱翔-九漫:交互式动态漫画, 袁一伦-要出发旅行:主打周边自驾游,李军-微洽:面向企业的社交化工作平台,胡笃晟-阿姨厨房:为厨艺爱好者提供在家创业、P2P模式的餐饮服务电子商务平台,凌曙-同船渡:位置景点 创建和结伴出游的旅行产品。

昨天360高调推出安全手环,延续着去年以来互联网公司进军硬件行业的风气。小米手机一炮而红后,互联网公司纷纷进军手机硬件行业, 百度、阿里、盛大、360等等都推出了自己的定制手机,不过巨头们发现原来硬件并没有想象中那般好玩。但不好玩也得玩,你不玩别人也 会玩。

但今年,巨头们不玩手机了,改玩其他了,有的是自己独立生产,有的是与厂家合作,内嵌自己的服务。这其中的玩家包括百度、360、小米、盛大、乐视等。