EverET.org

好记性不如烂笔头

在Android管理远程主机

| Comments

在Android有许多ssh的工具,其中ConnectBot就是一款有趣方便的工具。

我们可以使用它来远程管理我们的主机。

ConnectBot的主界面如下:

screenshot-1328349833982

我们可以把我们的密钥复制到SD卡根目录,然后在ConnectBot里面导入,然后点击密钥右边的那个锁的图标使其变为绿色就可以了。然后我们就可以无密码登录远程主机了。

下图是我登录了远程主机的截图:

使用Git访问SVN

| Comments

想必大家都使用过Subversion吧,也想必大家都对SVN这种脱离了网络和服务器就寸步难行的工作方式嗤之以鼻吧。使用SVN我们看个log首要联网。

在服务器在因特网的情况下,网速让使用SVN变成一件十分蛋疼的事情。因为SVN事事都要联网,没有网络就无法工作,这个是集中式版本控制器十分大的缺陷。

好在后来Linus在BitMover在收回开源社区的BitKeeper这款分布式版本控制器的授权后,开发了Git。这款Linus又一力作又再次改变了世界。

Git有个很好的功能就是可以访问SVN服务器。这点也让我们这些SVN的使用者也稍稍改善了SVN的用户体验。

Git可以将版本先提交(commit)到本地的分支,到时机成熟之时再一次推送(push)到远程服务器。而且查看历史也不需要联网了,因为Git默认会把整个SVN版本库都克隆下来。

像我们使用Google Code来托管我们的开源代码时,我们可以在上面创建SVN的版本库,Git版本库貌似访问不了,没办法。

Google Code对一个项目有4GB的空间,有wiki等等,还可以上传文件供用户下载,这个非常的好。

例如,我的vim和emacs的配置我放到了 http://code.google.com/p/et-vim-setting/

我们可以使用如下命令克隆我们的Google Code上的项目。

git svn clone --username cedricporter@gmail.com -s https://et-vim-setting.googlecode.com/svn vim_setting

减少wordpress垃圾评论的方法

| Comments

自从有http://EverET.org/开始以来,我的留言板每天都有几十条来自世界各国的垃圾评论,好在装了Akismet,否则我的博客就就被垃圾评论塞满了。这些都是某些RP低的人用机器自动发的,毫无价值,有俄文,波兰文等等乱七八糟的语言。

仔细看看,垃圾评论都集中到留言板。我的留言板的url曾经是 http://everet.org/guestbook ,然后我改成了 http://everet.org/guestbooket 还是一样,发现原来用 http://everet.org/guestbook 也可以定向到 http://everet.org/guestbooket ,所以改了等于没改。

于是,我把它改成拼音的,改成 liuyan,果然就没有了垃圾评论。

http://everet.org/liuyana

哈哈。估计垃圾评论的发送器也是用了Google Hack吧。

想起以前在用NBSI注入的时候,也是在里面打开Google页面,然后搜 inurl:asp?= 什么的,然后就让NBSI顺着搜索结果往下测试。

对于垃圾评论发送器我们可以搜索 inurl:guestbook ,然后在搜索结果一部份中就是某些网站的留言板,就可以在那些页面发垃圾评论了。

给Gitweb加上访问密码,保护我们的私有项目

| Comments

Gitweb是Git提供的一个基于web的版本查看工具,可以在网页浏览我们的版本库,挺像Google Code上面的网页浏览版本库。我们可以使用cgi方式,让gitweb运行在apache中,如果在nginx上,我们还需要一个包装才可以运行cgi。

使用Gitweb很方便,但是如果是一些私有的项目,谁都可以访问想必大家都不能接受吧。

所以我们可以通过apache或者nginx给虚拟主机增加一个密码。效果如:http://git.everet.org/

我们首先用htpasswd生成密码:

1
2
3
4
5
htpasswd -cb 文件名 帐号 密码

htpasswd -b 其他帐号 密码

-c代表创建一个新的,-b代表批处理。

我们的图像处理 Imagination Factory

| Comments

Imagination Factory是一款轻巧美观的图像浏览和图像处理软件。这是我们大一时的C++大作业。写下来记录一下以前做了些什么。

我们小组除了俺之外有陈可昕和康磊,两人都是天才少年。陈可昕同学巾帼不让须眉,交给她的几本数千页的WPF英文书籍她都很快就可以消化。康磊同学理科高人,复杂的数学问题他都可以轻松搞定然后去看动漫了,俺有幸可以与此神人同宿舍,只可惜神人已经转专业到了电信。

Imagination Factory的界面采用C#编写,使用了WPF作为界面库。图像处理核心使用C++编写。

项目已经开源,放到 http://code.google.com/p/imagination-factory/ ,有兴趣的同志们可以接着完善它吧。

Imagination Factory运行时的截图:

TortoiseGit访问Gitosis搭建的版本库

| Comments

首先,我们创建好公钥和密钥,如何创建可以参考 http://everet.org/2012/01/management-remote-host.html

然后把公钥id_rsa.pub发给Git版本库的管理员。

因为TortoiseGit使用ppk,所以我们需要用自己密钥重新创建一个ppk的密钥

image

我们首先打开 TortoiseGit 下的 puttygen,然后点击load,把自己密钥加载进来,我们之前创建的密钥,如果没做任何更改,则文件名为id_rsa。

Ubuntu使用Gitosis搭建Git服务器,Windows客户端支持中文

| Comments

更详细的教程请见 《Pro Git》http://progit.org/book/zh/ch4-7.html

安装必备工具

apt-get install git gitweb gitosis

用自己的公钥来初始化Gitosis

1
2
3
root@everet:/var# sudo -H -u git gitosis-init < /tmp/authorized_keys
Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

对该仓库中的post-update 脚本加上可执行权限

root@everet:/home/git/repositories/gitosis-admin.git/hooks # chmod 755 post-update

克隆 Gitosis 的控制仓库

$ git clone git@everet.org:gitosis-admin.git

这会得到一个名为 gitosis-admin 的工作目录,主要由两部分组成:

Python与OGRE之开篇

| Comments

OGRE是什么?百度百科给的解释是:“OGRE(Object-Oriented Graphics Rendering Engine,即:面向对象图形渲染引擎)是一个用C++开发的面向场景、非常灵活的3D引擎,它旨在让开发人员更容易、更直接地利用硬件加速的3D图形系统开发应用。这个类库隐藏了底层系统库(如:Direct3D和OpenGL)的所有细节,提供了一个基于世界对象和其他直观类的接口。 译者注:ogre在英文中意为:食人魔鬼, 怪物, 象鬼的人,故其LOGO是一个怪物头。”

Python是什么?“Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明, 第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。”摘自百度百科。

Python+OGRE=?