离开Yahoo已经有1149天,今天收到了阿里校友会的问候,很是亲切,想想自己也是阿里校友。
以下是问候全文:
洪磊,今天是一年一度的阿里日,祝福在外的阿里校友节日快乐,幸福每一天!不联系,不表示忘记,离开了,我们还是同学。【阿里校友会】
确实应该和同学通通电话,聊聊天。
离开Yahoo已经有1149天,今天收到了阿里校友会的问候,很是亲切,想想自己也是阿里校友。
以下是问候全文:
洪磊,今天是一年一度的阿里日,祝福在外的阿里校友节日快乐,幸福每一天!不联系,不表示忘记,离开了,我们还是同学。【阿里校友会】
确实应该和同学通通电话,聊聊天。
Mac上有非常多优秀的软件,但是很多需要购买,但是大家的基本思维就是拿来主义,能有免费的午餐为啥不享用呢?
但是中国Mac普及率较低,到百度上搜索XXX注册码的结果也不佳;很多Mac机友肯定也十分苦恼。
其实Mac有几个序列号集合工具,大家不妨下载来看看,也许里面就有你想要的序列号
以下推荐两个工具:
1、KCNScrew(外星机器人)
他不但提供序列号,还能提供破解补丁。
不过在百度找寻找KCNScrew的结果非常差,我在此提供一个下载地址
http://www.honglei.net/file/kcncrew-04-15-2012.zip(更新至2012年4月15日的包)
使用也很方便,打开程序,在左侧选择要破解的程序名称,或者在搜索框中搜索下,然后在右边可以选择序列号(Serial Numbers)标签和补丁(Patches)标签。
很多软件更新不及时,如果没有你需要的版本的序列号你可以使用老版本的试试,很多是通用的。

2、SerialBox2(骷髅头)
他提供的是一个序列号的数据库文件,需要相应的阅读器才能使用,很有意思Windows下也提供相应的阅读器。此软件不提供破解补丁,只有序列号。
因为我本人不使用此软件,所以不多介绍。
以前都是在Windows下使用Eclipse做Android的开发,很早就开始使用Mac的系统但是一直没有将Android的开发环境迁移过来,今天突然想Eclipse的Mac版本也很好用,要不索性迁移过来算了;于是就动手。
一、安装Eclipse
1、去Eclipse的官方网站(http://www.eclipse.org)下载Eclipse for Mac X的安装包,一般来说Mac X应该是64位的,所以下载Eclipse IDE for Java Developers 的 Mac OS X 64 Bit版本。
2、下载后解压,然后直接可以使用。
二、安装ADT
1、点击菜单中的Help > Install New Software⋯
2、弹出框中“Work with”右边的输入框中填写:https://dl-ssl.google.com/android/eclipse/ 过一会下面就会出来一个“Developer Tools”,勾选上,然后一路的Next就可以。
三、安装Android SDK
1、去Android开发者网站(http://developer.android.com)下载Mac OS X (intel) 的SDK。
2、解压下载文件,运行tools文件夹下的Android文件,在弹出的Android SDK Manager对话框中选择你需要的Android版本,然后点击右下方的Install Package,如果有升级就Update All下。
3、在菜单栏Eclipse > Preferences,弹出一个Preferences对话框,选Android后在SDK Loaction中填入刚下载的SDK的路径或用Browser选择。
昨天朋友问有没有可能随机排列若干词根的软件?
我还真没有接触过类似软件,但是想了下应该需求不难,就答应帮他写一个。
开始些的时候才发现什么排列组合都还给老师了,连公式都忘记了,于是想偷懒点去Google搜索一个算法了事;一搜索才发现排列算法确实有说,但是也不是很完善,只能实现A(5,5)这样的需求,不能实现A(5,3)这样的需求,组合更加是没有搜索到;无奈只能自己写了。
先从新了解排列组合算法(百度百科中排列组合的知识http://baike.baidu.com/view/738955.htm);惊奇的发现原来排列已经由P:Permutation改成了A:Arrangement,看来以后教育宝宝会出现沟通问题了,哈哈。
文中有对公式的描述:
A(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!
C(n,m)=A(n,m)/m!=n!/((n-m)!*m!)
有这两个公式就能知道结果数量怎么算
排列算法:
<?php
function a($n, $m){
if($n < $m) return false;
$num = 1;
for($i=0; $i<$m; $i++){
$num = $num * ($n-$i);
}
return $num;
}
?>
组合算法:
<?php
function c($n, $m){
if($n < $m) return false;
return a($n,$m)/a($m,$m);
}
?>
应用方法:
<?php echo a(5,3) ?> <?php echo c(5,3) ?>
上面只能得到结果的数量不能枚举所有情况,继续考虑他的逻辑,最后得到枚举算法(似乎说的很简单,不过思考逻辑不好描述,程序中看端倪吧)
排列枚举算法:
<?php
function arrangement($arr, $len=0, $str="") {
global $res;
$arr_len = count($arr);
if($len == 0){
$res[] = $str;
}else{
for($i=0; $i<$arr_len; $i++){
$tmp = array_shift($arr);
arrangement($arr, $len-1, $str."\t".$tmp);
array_push($arr, $tmp);
}
}
}
?>
组合枚举算法:
<?php
function combination($arr, $len=0, $str="") {
global $res;
$arr_len = count($arr);
if($len == 0){
$res[] = $str;
}else{
for($i=0; $i<$arr_len-$len+1; $i++){
$tmp = array_shift($arr);
combination($arr, $len-1, $str."\t".$tmp);
}
}
}
?>
应用方法:
<?php $arr = array(1,2,3,4,5,6,7);//词根 $num = 2;//所需使用词根的数量 $res = array();结果集 arrangement($arr, $num);//进行排列运算 var_dump($res);//输出排列结果 $res = array(); combination($arr, $num);//进行组合运算 var_dump($res);//输出组合结果 ?>
因为PHP的效率问题,不适宜做太大量的运算,程序的效率我个人觉得已经最优,如有不足还望高人指点。
最后给出我做的一个demo的地址 http://www.honglei.net/demo/aandc.php
给朋友后他非常满意,还说这个在Taobao能卖钱,似乎是什么选关键词可以用;如果有需要的朋友就直接用吧,能帮上大家的忙我也很开心。
iPad3(应该说是newPad)没有发布之时就想着搞一台,虽然3月去马来西亚,但是以往经验来看,apple的产品在亚洲只可能在日本首发,也就没有想太多。不过这次错了,newPad在亚洲三个国家和地区首发,新加坡也在其中,并且有发行我想购买的4G版本,但是没有办理新加坡的护照。所以虽然近在咫尺但是也无法购买。
回到国内立即联系朋友看看有没有货源,结果他自己没有订4G版本,只做了香港wifi版本,因为行情不好也就没有打算做4G,不过在我不停的唠叨下,他还是决定订几台试试。(在此非常感谢“52”同学,同时推荐下他的淘宝店 http://feichang.taobao.com)
经过若干天后我的Pad总算到手上,还是没有开封的哦,打开后是非常非常激动啊,我自己的第一台Pad(呵呵,一直觉得没有用,从来没有购买过,其实newPad用处也不大,只是觉得不能脱离时代)。
一眼看去newPad和iPad2没有什么大区别,不过图像确实清晰很多,字显示的很细腻,就想印刷的一样;速度也快了不少,进PvZ不用等待,进度条直接走完;因为购买的是4G版本所有里面有张at&t的Sim卡(一直奇怪开机怎么就显示“中国联通”),为了保护好我的Pad还花“重金”购买了Smart Cover,磨砂后壳,磨砂贴膜(最后发现非常失败,贴了以后效果非常差,如果那个哥们想搞磨砂膜建议还是别想了),发现这个组合不错,非常好用,除了那个磨砂膜(郁闷的)。
下面就是安装软件,也算推荐,可以分享下:
Pages(Apple的文本编辑,$9.99)
Numbers(Apple的电子表格,$9.99)
Keynote(Apple的幻灯软件,$9.99)
iPhoto(比较迷摄影,本以为iPhoto不过,用过发现也一般,$4.99)
iSSH(SSH连接器,做的不错,我是工作需要,$9.99)
AVPlayer(一个不错的播放器,名字看着就很牛,$2.99)
FileExplorer(远程文件访问,支持多平台,比较好用,特别适合有NAS的朋友,$0.99)
Weather HD(网上说很酷的天气软件,就下载了一个,$0.99)
Flipboard(非常好用的订阅工具,免费)
QQ(这个不用说,ipad版本做得挺酷的,免费)
微博HD(sina微博,免费)
鲜果联播(国内的订阅工具,我哥们做的,在此推广下,呵呵,免费)
Google Earth(Google卫星地图,免费)
Translate(Google翻译软件,免费)
Pandora(音乐软件,和Last.fm、Radio.com一样中国用不了,郁闷,免费)
Triposo(旅游指南,还不多,旅游的同学可以下载看看,免费)
Dropbox(云存储,至少我一致用,免费)
Evernote(笔记软件,跨平台,好用,免费)
VEVO HD(看MV的软件,中国能用哦,比较爽,免费)
还有几个经典游戏
PvZ HD(植物大战僵尸,$6.99)
Fruit Ninja HD (切水果,$2.99)
Blitz(宝石迷阵,免费)
还有部分收费软件很好,但是个人感觉用处不大也就没有现在购买,App的价格是有变动的,可以等降价再买。
还有些其他的软件就不说了,个人喜好吧,想装就装。
全部装下来话了大概60刀,看来ipad只是第一步投入,重点在后面的app,Apple真是比较能赚钱,哈哈。
昨天媳妇的Sony笔记本突然系统崩溃,要重装,以前也重装过,知道Sony的热键安装一向是个折腾的事,刚好把安装方法分享给大家。
安装之所以折腾主要在于顺序,以下是正确的安装顺序
一、安装驱动(先安装主板,然后是显卡,其他的无所谓先后)
二、安装Sony Shared Library(安装完成以后需要重启)
三、安装Sony Utilities DLL
四、安装VAIO Event Service
五、安装剩下的一些Sony自带的一些程序
很多人会觉得Windows自带的驱动就能用,但是自带的某驱动功能上可能会有缺失,大家可以自己看着安装。
不同的Sony电脑可能安装的组建也不太一样,但是基本顺序差不多。我的是Sony TZ-13
最后提供一个Sony TZ系列 Windows 7下使用的摄像头驱动
下载地址:http://www.honglei.net/file/sonytz_camera_for_win7.exe
帮朋友搞好服务器,安装完程序,第一想到的就是做个web压力测试,一直用webbench,刚好分享给大家
官方网站:http://home.tiscali.cz/~cz210552/webbench.html
下载地址:http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
1.安装webbench
wget http://www.honglei.net/file/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
如果出现下面错误提示:
ctags *.c
/bin/sh: ctags: command not found
解决方法:安装ctags
yum install ctags
如果安装了ctags, 仍然报错:
install -s webbench /usr/local/bin
install -m 644 webbench.1 /usr/local/man/man1
install: cannot create regular file `/usr/local/man/man1′: No such file or directory
make: *** [install] Error 1
解决方法
mkdir -m 644 -p /usr/local/man/man1
2.运行
webbench -c 500 -t 30 http://www.baidu.com/
参数说明:-c表示并发数,-t表示时间(秒)
刚好需要配置朋友服务的中的FTP功能,网上搜索后,整理了以下资料,分享给大家。
1.查看是否安装vsftp
[root@localhost ~]#rpm -qa | grep vsftpd
2.安装vsftp(如果没有安装)
[root@localhost ~]#yum -y install vsftpd
3.启动vsftp
[root@localhost ~]#service vsftpd start
4.连接测试
[root@localhost ~]#ftp 192.168.1.100
连接不上可以查看防火墙需要开放21以及需要使用的端口
5.修改配置文件/etc/vsftpd/vsftpd.conf
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
取消下面内容前面的注释或添加
anonymous_enable=YES/NO 是否允许匿名用户访问
chroot_list_enable=YES 限定用户不可以离开主目录
chroot_list_file=/etc/vsftpd/chroot_list
local_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的
pam_service_name=vsftpd pam认证文件名 在/etc/pam.d/vsftpd
guest_enable=YES 启用虚拟用户功能
guest_username=ftp 指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)
user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件(此文件后面不能出现空格)
以下为指定被动连接端口(方便设置防火墙)
port_enable=yes
pasv_enable=yes
pasv_min_port=10000
pasv_max_port=10100
6.查看是否安装 db4 db4-utils
[root@localhost ~]#rpm -qa | grep db4 (主要是 db4-utils)
6-1.安装db4-utils
[root@localhost ~]#yum -y install db4-utils
7.创建 chroot_list_file=/etc/vsftpd/chroot_list文件
[root@localhost ~]#vim /etc/vsftpd/chroot_list (把 /etc/vsftpd/vsftpd.conf中guest_username的值写到文件中,此文中用的是ftp)
ftp
8.创建虚拟用户目录(密码文本)
[root@localhost ~]#vim /etc/vsftpd/vftpuser.txtx (奇数行为用户名,偶数行为密码)
username
password
9.生成虚拟用户的db文件
[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db
10.生成虚拟用户的认证文件
[root@localhostvsftpd]# vim /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=denyfile=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
注释掉/etc/pam.d/vsftpd中所有的内容 反正已经不要本地用户的认证了
特别注意 以下区别
查看系统是多少位的命令
[root@bogon ~]# getconf LONG_BIT
64 (64|32)
32位系统增加以下两句:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
64位系统增加以下两句:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
注:db=/etc/vsftpd/vftpuser 中的vftpuser 是你生成的虚拟用户的db文件
11.创建每个虚拟用户自己的配置文件,配置文件的路径是/etc/vsftpd/vsftpd.conf中的
user_config_dir=/etc/vsftpd/vuser_conf路径
在 /etc/vsftpd/vuser_conf/下面创建以用户名为名称的文件(名称是/etc/vsftpd/vftpuser.txtx 下面的奇数行)
[root@localhost vsftpd]# cd /etc/vsftpd/
[root@localhost vsftpd]# mkdir vuser_conf
[root@localhost vsftpd]# vim /etc/vsftpd/vuser_conf/name
内容如下
local_root=/var/www(虚拟用户的根目录根据实际修改)
write_enable=YES(可写)
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
12.给文夹权限(否则不能上传 权限可自定 本人给的是 777)
[root@localhost vsftpd]# chmod 777 /var/www/
13.重启vsftpd
[root@localhost vsftpd]# service vsftpd restart
14.登录测试
[root@localhost vsftpd]#ftp 192.168.1.100
15.bug解决
如果连接不上查看
[root@localhost vsftpd]# getenforce
Enforcing 如果出现(Enforcing)
关闭方法:[root@localhost vsftpd]#setenforce 0 (0|1 开|关)
此文参考了前辈们的文章后做了整理和修改,感谢前辈们经验。
到达马来西亚后的第一站就是马六甲(MELAKA),说到马六甲可能很多人第一个想到的就是马六甲海峡;其实马六甲市是马来西亚历史最悠久的古城,位于马六甲海峡的北岸,曾是马六甲王国的都城,先后沦为葡萄牙,荷兰,英国的殖民地。马六甲离吉隆坡很近,只有140KM;相当与北京到天津的距离。
4号我们一早(其实也没有很早,既然是度假何必让自己累到)准备坐LCCT到MELAKA的车子(早饭就是Old Town的黄油面包,确实非常好吃)。

我们做的大巴是TRANSNASIONAL
买票在LCCT国内到达厅中,票价RM21.9,还需要保险RM0.2
一路上所见所闻,他们也有否费站哦;要交过路费,呵呵
第一次看到马来西亚的天空,真是非常蓝,非常干净(同样是首都,北京怎么差距就这么大呢……);大概两个半小时后,我们到达马六甲的中心车站,随后打车去酒店;酒店是FEINX。

FENIX还是非常不错,地理位置也很好,有朋友要去可以选这家
随后拿张免费地图,看后发现马六甲其实很小,看着这么好的天气,决定走路浏览马六甲。按照自己设计的路线走,结果先到了购物中心,反正也饿了,就吃点东西,看到有小吃,就去看了看,点了三个咖喱饺,还点了一个烧包(呵呵,名字很特殊哦)
随后又去了马六甲的部分景点,开始看图说话:(图稍后上传)

马六甲的旋转观光塔,据说有27米高,能鸟瞰马六甲整个城市,单次耗时8分钟,票价是成人RM20,还送照片两张。

鸟瞰马六甲海峡

马六甲的木船

河这边是船舶博物馆,对面就是鸡场街

他们的城市中心,英雄广场周周边

进去的时候已经快要关门,也没有好好看,出门才知道这是“苏丹城”
晚上去著名的唐人街鸡场街吃饭,很巧刚好赶上了鸡场街夜市(不是每天都有的),唐人街买的都是中国的小商品,国人看了会感觉很一般,直奔主题去吃饭,找找当地特色,在街的尽头有很多吃饭的小摊子,我们觉得就在这里吃了。

我门到马六甲很巧,刚好是当地唐人街开夜市的日子,很热闹,都是中国老歌,很亲切

一个是海南鸡饭(那个圆圆的是饭团),一个是炒粿条,都是马来小吃哦
次日,我们中午才起床,去了著名的newton(中文叫牛顿)吃了中饭,很马来风格的小吃。
之后我们要赶中午12点的大巴车回LCCT,然后去兰卡威,在仁爱医院正门等车(酒店离仁爱医院很近),等到12点10分还没有看到车,最后发现大巴只停靠医院侧门(还是当地的一个华人告诉我们的,而且还帮我们打了车)。无奈只能打车去中心车站坐其他车,因为到LCCT的车耗时比较长,我门最后选择了去吉隆坡市区的车,然后再转快轨去机场,这一路真是和时间赛跑,好在最后赶上了飞机。