今天阅读到一篇非常好的文章,大神Larry的一些关于编程的感悟。

2014年,perl之父Larry Wall到了北京,《程序员》杂志对他进行了一次采访,点击这里查看

程序员只需要对问题做足够的思考,从而向别人解释明白,答案常常就会显而易见。但程序员在状态最佳时也是懒人,而新程序员还不知道自己有多少不懂的,也就不知道如何寻求帮助。他们还处在婴儿水平:“只要哭得够大声,妈妈就会来做好一切。”学会高效地沟通真的会更好。但很多人认为沟通仅仅意味着说出自己所想,却没有认识到它意味着必须考虑怎样才能在别人脑子里产生你希望的结果。你理解自己所说的并不意味着别人也理解。无法沟通时人们应该责怪自己,而不是听的人。当然,与计算机沟通也一样。“为什么这台愚蠢的电脑不肯做我想让它做的?”或许你需要先学会理解计算机。

我最想知道的是 perl 6 何时能真正应用呢?

文章来自: Inverting direction of mouse scroll wheel 的回复,by slhck

There is a registry setting named FlipFlopWheel that does this! HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_???\VID_???\Device Parameters. There might be multiple mouse entries. The default value for FlipFlopWheel should already ready 0. Change into 1 to invert scrolling. Reboot or possibly replug in mouse for changes to take effect.

To get the VID_??? number you have two options:

  1. Go to the mouse control panel, click the Hardware tab, then click Properties.

    Now in the HID-compliant mouse Properties window click the Details tab and select the Device Instance Path property. The registry path is in there. You only have to unplug and plug back in my mouse for this to take effect.

  2. Run this in PowerShell (from Start » All Programs » Accessories » Windows PowerShell):

    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters

 

还有一种方式:[转]使用AutoHotkey在Win下反转鼠标滚轮方向

按照文件结构导出最近的修改

2015.07.07补充:现在一直使用一个PHP文件来导出最近的修改:git_changed_files.php

这样可以比较方便的更新文件。

git archive -o ../latest.zip some-commit $(git diff --name-only earlier-commit some-commit)

来源:Zip latest committed changes only

比如:

git archive -o ../latest.zip HEAD $(git diff --name-only c17ac2c HEAD)

如果是Subversion,并且安装了TortoiseSVN客户端的话,可以试一试这个:如何让TortoiseSVN仅导出新增或修改过(变更过)的文件

 按照指定格式输出提交历史

git log --pretty=format:'%h -%d %s (%cD) <%an>'

更为丰富的颜色显示

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

git log --graph --pretty=format:'%Cred%h%Creset @ %C(yellow)%d%Creset %n Author: %cn <%ce> %n Date: %cd %Cblue(%cr)%Creset %n %n Commit: %Cgreen%s%Creset %n'

git log --graph --pretty=format:'%x09%Cblue%h%Creset @ %C(yellow)%d %n%B %Cgreen(%cr)%Creset%n' --date=relative

git log -p --graph --pretty=format:'%x09%Cblue%h%Creset @ %C(yellow)%d %n%B %Cgreen(%cr)%Creset%n' --date=relative

使用WordPress Database Backup备份wordpress数据库时,如果选择了发送邮件,可能会出现多种种错误。

1、一种是邮件不可发送,这个可能是wordpress托管主机不支持mail服务。这时可以选择smtp的方式发送邮件,下载插件:WP-Mail-SMTP来解决这个问题。网上有很多关于WP-Mail-SMTP的设置文件,可以搜索一下。

2、启用WP-Mail-SMTP后,可能还会出现ereg的错误提示,编辑wp_mail_smtp.php文件,395行,把

elseif (validate_email(get_option('mail_from'), false))

 替换为

elseif (is_email(get_option('mail_from'), false))

 即可。即把validate_email替换为is_email,一是因为validate_email已经过期,而是validate_email使用了过期的方法:ereg。

3、如果还有错误出现,比如:Only variables should be passed by reference,解决方法,把953行,954行:

			$from_email = 'wordpress@' . $sitename;
			$from_name = 'WordPress';

 的$from_email替换为真实的email地址,$from_name可换可不换。便可以解决这个问题。

先看官方文档,安装phpunit:http://www.phpunit.de/manual/current/en/installation.html

 phpunit.phar包几乎包含所有的依赖组件(也包括一些可选组件),所以用phpunit.phar设置单元测试时,无需单独安装其他的可选包了。

wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/local/bin/phpunit

但是凡事都有例外,phpunit.phar里没有测试框架生成器,需要单独安装。

wget http://pear.phpunit.de/get/phpunit-skelgen.phar
chmod +x phpunit-skelgen.phar
sudo mv phpunit-skelgen.phar /usr/local/bin/phpunit-skelgen

最近花时间了解了一下Git,并配置了一个。学习过程中,查阅了一些文章,分享出来。

工作环境:ubuntu

1、《ubuntu上配置git服务器

作者:Xandy
当执行:git clone git@server:gitosis-admin.git,如果出现:fatal: ‘/home/git/repositories/gitosis-admin.git’ does not appear to be a git repository,请参看条目2。
如果 git://eagain.net/gitosis.git 不可访问,可以试一试这个:git://github.com/res0nat0r/gitosis.git。
 

文章最后:Host “host”HostName “host_name”User “git”IdentityFile “/tmp/id_rsa” 的具体例子(出处):

Host github.com
  User git
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gotgithub

3、《浅谈Gitosis实现原理

卢克 /

gitosis通过一个gitosis-admin库来对git库的访问者进行授权。授权通过公钥和私钥实现。访问者的权限配置在gitosis-admin库内的gitosis.conf文件,公钥放在keydir目录。公钥的名字必须和配置文件中的member名字一致。

4、《GotGitHub

Author: Jiang Xin
Version: v0.9.1-8-gf708729
Copyright: Creative Commons BY-NC-SA

5、《nginx gitweb配置

May 10th, 2011

6、《Pro Git》

http://git-scm.com/book/zh

中文PDF下载

中文ePub下载

本来以为就这么简单,下载与Mac匹配的PHP源码,然后

cd ext/gettext
phpize
./configure
make
sudo make install

谁知道遇到错误:configure: error: Cannot locate header file libintl.h

google了一下,这里有解决办法:PHP with Intl and Gettext on OSX Lion

大致步骤是:

1、安装ICU

tar xzvf icu4c-4_8_1-src.tgz
cd icu/source
./runConfigureICU MacOSX
make
sudo make install

2、安装PHP自带的intl扩展

3、如果需要,安装Gettext

4、安装PHP自带的gettext扩展即