使用vs2013编译chromium

1. 下载「depot_tools」,两种方式:

a. 下载zip包,链接:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
b. 从代码仓库中下载,命令如下:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 

2. 从官方下载源代码,有两种方法(针对release和代码仓库中最新代码)

a. fetch命令:该命令是直接从“https://chromium.googlesource.com/chromium/src.git”中获取最新代码;
b. gclient命令:先配置(gclient config)欲下载地址,再同步(gclient sync)即可;

gclient config http://src.chromium.org/chrome/releases/39.0.2132.2/ # 配置欲下载代码版本,会在当前目录生成.gclient文件
gclient sync # 下载chromium源代码,如果出现错误无法解决,可附加--force参数以解决

3. 生成vs2013的项目文件

a. 配置环境变量:需要配置的环境变量有DEPOT_TOOLS_WIN_TOOLCHAINGYP_MSVS_VERSIONGYP_DEFINES,可以在控制台下执行如下命令,另外也可配置到系统环境变量:

set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2013
set GYP_DEFINES=component=shared_library  

b. 执行gclient runhooks即可在src/chrome下生成chrome.sln文件

备注:由于国内google被封,所以建议购买一个vpn临时使用,推荐「YesVPN」,地址自己google吧。

参考链接:

http://www.chromium.org/developers/how-tos/build-instructions-windows
http://blog.csdn.net/zpxili/article/details/22609379

终端下使用socks5代理

  1. 首先安装「proxychains」:
brew search proxychains
brew install proxychains-ng
  1. 然后配置proxychains,请参考「在终端下间接使用Socks5代理的几种方法(privoxy,tsocks,proxychains)」,本人的配置内容如下:
cat /usr/local/etc/proxychains.conf | grep -v "#" | sed /^$/d
strict_chain
chain_len = 1
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
socks5  127.0.0.1 1080
  1. 最后通过执行「proxychains4+命令」的方式来通过代理下载文件,如:
proxychains4 brew install tesseract # 通过代理下载安装软件包
proxychains4 svn checkout http://captchacker.googlecode.com/svn/trunk/ captchacker-read-only # 通过代理下载googlecode中的代码

注:
2014-11-23:最近用go get安装package时不能正常下载googlecode中代码(hg代码管理),有能够解决此问题的朋友望指教。

利用openssl加密解密tar包

将文件夹vps_20120109打成tar包vps_20120109.tar.gz并加密,密码是password

加密tar包并压缩

tar czf – vps_20120109 | openssl des3 -salt -k password | dd of=vps_20120109.tar.gz

解密tar包并且解压缩

dd if=vps_20120109.tar.gz | openssl des3 -d -k password -salt | tar xzf -

其中-k password可以不使用,这样执行完命令后会提示你输入,加上 -k参数可运用在程序中,这样可自动设置密码。

本文摘自:http://m114.org/encryption-and-decryption-using-openssl

关于使用CubieBoard开发板进行图像采集的总结

1. CubieBoard 开发板系统安装

首先,下载相关资料,包括系统镜像、Win32DiskImager、SecureCRT等,下载页面见附录。然后将系统镜像解压出来,通过以下工具或方法写到TF卡中。 法1:使用Win32DiskImager工具安装; 法2:使用DD命令恢复,比如:

dd if= cubieboard2-linux3.3-SD-card-image of=/dev/sdX

在执行上述命令前需要将TF卡挂载到linux系统上,并且明确TF卡到底是哪个盘(fdisk -l)。 取出TF,安装到机器上,然后按照要求运行。 系统安装完成后,接下来就需要配置开发环境了。 (1)安装USB2TTL驱动;(2)启动cb,查看串口端口,配置串口相关参数,在端口设置选项卡中设置速率为“115200”;(3)打开SecureCRT,配置相关参数。

- 阅读剩余部分 -

Linux相关积累

终端自动补全:

sudo apt-get install bash-completion

make: yacc: Command not found:

sudo apt-get install byacc

切换至超级用户:

sudo -s

build-essential程序包:

sudo apt-get install build-essential

更新软件:

sudo apt-get upgrade

Linux安全删除文件:

shred -u file
shred -u -z file
shred /dev/sdx

shred命令详细参数:

-f,--force,更改权限允许写入(如有必要);
-n,--iterations=N:重写N次,默认为3次;
--random-source=FILE:从指定文件读取数据;
-s,--size=N:将文件粉碎为固定大小 (可使用后缀如KMC等);
-u,--remove:重写后截短并移除文件;
-v,--verbose:显示进度;
-z,--zero-add:用0覆盖数据;
–help:显示帮助;
–version:显示版本信息。

gcc相关

-E 预处理(Only run the preprocessor)
-S 编译为汇编代码(Only run preprocess and compilation steps)
-c 生成目标文件(Only run preprocess, compile, and assemble steps)
-o 写到文件(Write output to

利用ffmpg转换图片格式

ffmpeg -f image2 -i ffc5948a99b0d622ce749c807073cb8b.png ffc5948a99b0d622ce749c807073cb8b.jpg

利用ffmpg提取图片

ffmpeg -i "video.avi" -r 12 -vf "transpose=2, transpose=2"  "out/%07d.jpg"

注:

-r 12 设置帧率为12fps
transpose=2 表示旋转90度

git添加submodule

git submodule add <url> <path>
git submodule add git://github.com/ejmr/php-mode.git .emacs.d/plugins/php-mode

将github中的submodule更新到最新revision

cd submodule_name
git checkout master && git pull
cd ..
git add submodule_name
git commit -m "updating submodule to latest"

Mac下压缩忽略一些文件,如“.DS_Store”

tar -c --exclude='._*' --exclude='.svn' --exclude='.git' --exclude='.DS_Store' --exclude='*.bak' --exclude='*~' -vjf "$@"

Emacs中转换文件编码(转为utf-8)

C-x C-m f utf-8-unix RET

也可另存为:C-x C-m c RET C-x C-w RET

利用pip更新服务端shadowsocks

pip install --upgrade shadowsocks

linux查看端口被哪个进程占用

lsof -i:<port number>

VPS上编译安装emacs 24.4

# wget http://ftp.gnu.org/gnu/emacs/emacs-24.4.tar.xz
# tar xJvf emacs-24.4.tar.xz
# ./configure --disable-largefile --with-x-toolkit=motif --without-toolkit-scroll-bars   --without-xaw3d --without-xim --without-sound --without-pop --without-xpm --without-tiff --without-rsvg --without-gconf   --without-gsettings --without-selinux --without-gpm --without-makeinfo --without-x

mosh在Linux下遇到的locale问题:

The locale requested by LANG=en_US.UTF-8 isn't available here.
Running `locale-gen en_US.UTF-8' may be necessary.

The locale requested by LANG=en_US.UTF-8 isn't available here.
Running `locale-gen en_US.UTF-8' may be necessary.

mosh-server needs a UTF-8 native locale to run.

Unfortunately, the local environment (LANG=en_US.UTF-8) specifies
the character set "US-ASCII",

The client-supplied environment (LANG=en_US.UTF-8) specifies
the character set "US-ASCII".

locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=
Connection to onijiang closed.
/usr/bin/mosh: Did not find mosh server startup message. 

解决方法:

  1. 使用mosh时添加参数--server="LANG=$LANG mosh-server"
  2. 使用命令设置本地locate为``en_US:localedef -v -c -i en_US -f UTF-8 en_US.UTF-8

博客自动备份脚本(使用ssmtp和mutt):

#!/bin/bash
now_date=$(date +"%F")

#Email recipient(s), separated by space
recipient="i@jiya.io"

#Email subject and message 
subject="jiya.io_$now_date"
echo $subject

message="此邮件为博客定期备份邮件,每周六00:00启动,此次备份时间:$(date +"%F %T")"

#Motion target files path
backpath="/tmp/"

#Motion target directory path
blogpath="/var/www/htdocs"

####################################
echo "Running backup_jiya.io.sh ..." `date`

# compress usr directory
destfile="$backpath$subject.tar.bz2"
echo $destfile
rm -rf $destfile

echo "Creating tar file... " `date`

pushd $blogpath
tar jcf $destfile jiya.io
popd

# send mail
echo "Sending mail to recipient... " `date`
echo $message | mutt -s $subject $recipient -a $destfile

iterm配置utf8编码,本地终端中文不乱码,ssh远程中文乱码,编辑~/.vimrc文件,加上如下几行:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8