<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.5.2" -->
<rss version="0.92">
<channel>
	<title>Mic's Blog</title>
	<link>http://blog.thinklet.net/mic</link>
	<description>About Life hacking, coding, and make things difference</description>
	<lastBuildDate>Mon, 31 May 2010 23:57:36 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>TripPanda.com is open for beta!</title>
		<description>今天，在人手一直不足的情况下，忙乎了两个月的新网站 TripPanda.com，开始上线测试了。



熊猫走天涯 是由上市公司首旅集团（沪市代码：600258）旗下深圳市康辉旅行社有限公司创建的网络品牌，是其唯一官方直销平台。“康辉”注册商标在2010年1月被国家工商行政管理总局认定为“中国驰名商标”， 深圳康辉在延续其“高质量的服务、高素质的员工、高水平的旅游”的宗旨下，把握当今网络时代的趋势，创建了 熊猫走天涯 ，为顾客提供更便捷、更创新的旅游产品、服务和在线体验。

The Panda Team是一个年轻的、充满激情的团队，我们通过一次次的头脑风暴、一遍遍的推倒重来、一天天的辛勤工作，创造出熊猫走天涯旅游网。 The Panda Team是一个精英团队，我们的核心高层人员均来自于全国最优秀的互联网公司之一。我们的团队人数虽不多，却集合了多方人才，除了有海外留学归来拥有多年互联网行业经验的管理专才，以及互联网技术开发人才外，还拥有资深的旅游产品策划专家、网络公关及传讯等方面的专业人士。 我们拥有着改革旅游电子商务的决心和热情，势将以创造出新颖、便利、优异的旅游电子商务网站作为团队的奋斗目标!

您现在看到的只是我们的宏伟计划的第一步，感兴趣？即刻发送简历加入我们团队。 </description>
		<link>http://blog.thinklet.net/mic/2010/06/01/trippanda-com-is-open-for-beta/</link>
			</item>
	<item>
		<title>Postfix维护与管理技巧笔记</title>
		<description>
1,快速查出系统有那些值得注意的事情:
#egrep ‘(reject&#124;warning&#124;error&#124;fatal&#124;panic):’ /var/log/maillog

2,检查main.cf配置文件是否正确:
#postfix check

3,重启Postfix服务与重新载入配置:
#service postfix restart
#postfix reload

4,一封邮件最多几位收件人限制,默认1000,修改main.cf
smtpd_recipient_limit = 100

5,单封邮件容量上限,默认10MB,修改main.cf
message_size_limit = 10000000

6,客户端出错或恶意错误连接可用以下限制main.cf
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20

7,改变投递地址,假如用户kevin@23day.com更换了新地址,使用以下方法提示其它用户:
(1)在/etc/postifx/main.cf中添加relocated_maps = hash:/etc/postfix/relocated参数
(2)touch /etc/postfix/relocated
在relocated中添加以下信息
kevin@23day.com   chen@23day.com
#postmap /etc/postfix/relocated
#postfix reload

8,网域更换
(1)在/etc/postifx/main.cf中添加relocated_maps = hash:/etc/postfix/relocated参数
(2)touch /etc/postfix/relocated
在relocated中添加以下信息
@23day.com   23day.cn
#postmap /etc/postfix/relocated
#postfix reload

9,邮件队列管理工具postqueue与postsuper
#postqueue -p查看邮件队列
如果队列序号加了*号表示为活动队列
如果队列序号加了!号表示为延期队列
如果队列序号没有*与!号表示为等待队列
#postsuper -d DBA3F1A9删除队列里的邮件
#postsuper -d ALL删除队列里所有的邮件
#postsuper -r ALL重新排队所有邮件
#postcat -q DBA3F1A9查看邮件内容

10,邮件转发设置将所有出站邮件转发到192.168.1.1服务器上main.cf
relayhost = 192.168.1.1

11,针对某个域的转发
#vi /etc/postfix/main.cf 新增transport_maps = hash:/etc/postfix/transport
#vi /etc/postfix/transport
gmail.com  smtp:[192.168.1.10] 设定寄往gmail的邮件从192.168.1.10机器转发出去
#postmap /etc/postfix/transport
#postfix reload

12,CentOS4.7下挂载共享目录
#mount -t ...</description>
		<link>http://blog.thinklet.net/mic/2010/04/18/postfix%e7%bb%b4%e6%8a%a4%e4%b8%8e%e7%ae%a1%e7%90%86%e6%8a%80%e5%b7%a7%e7%ac%94%e8%ae%b0/</link>
			</item>
	<item>
		<title>Web 地理定位（Geo-Location）知识大全</title>
		<description>
在线地图已经是很平常的应用，Google Map 甚至可以用作驾驶导航仪，然而，这些应用的实现涉及到千丝万缕的艰辛工作，仅仅是定位你现在的位置，就有很多技术，有幸的是，如今在你的 Web 站点中，你可以通过短短的几行代码，获得一个用户的地理位置，本文介绍的是用在 Web 中的各种地理定位技术（完整图文版）。
通过 IP 地址获得用户的地理位置信息

互联网不过是一个巨大的网络，上面的每一台电脑对应一个 IP 地址，通过这个 IP 地址，可以知道这个用户在什么位置，我们可以通过查询 Maxmind GeoIP 数据库 获得，Maxmind 还提供了一个 JavaScript 接口让你在网站上实现这一功能。 

这个方法（演示）有一个问题，就是说，你获得的 IP 地理位置信息未必非常准确，因为这个 IP 是你的 ISP 分配给你的，你获得的事实上是 ISP 的地理位置，另外，如果你使用 VPN，你实际的得到可能是十万八千里之外的地方了。

通过 W3C Geo API 获得用户地理位置

通过 IP 地址获取用户地理位置还有一个棘手的问题，就是安全和隐私问题，毕竟，并不是每个用户都愿意自己的地理位置信息被别人知道，鉴于此，人们开发了很多技术，Google Gears 拥有一个 Geo-Location 服务，Plazes 帮助你保存你的位置，而 Yahoo Fire Eagle 算得上这类技术中最顺手的一个。然而这些技术共同的问题是，它们要求用户要么安装一个插件，要么需要访问特定的 Web 服务，这有些麻烦。

W3C 有一个 Geo-Location API 可以帮助浏览器制造商，在浏览器中集成地理信息功能。Firefox 3.5 以上的浏览器支持 W3C ...</description>
		<link>http://blog.thinklet.net/mic/2010/03/21/web-%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d%ef%bc%88geo-location%ef%bc%89%e7%9f%a5%e8%af%86%e5%a4%a7%e5%85%a8/</link>
			</item>
	<item>
		<title>Change the format of a Subversion working copy</title>
		<description>When you copy a subversion working copy from someone else and perform a `svn up` command, you may meet error like this:
svn: This client is too old to work with working copy './'; please get a newer Subversion client.
You can choose to update your svnclient version, or simply use this ...</description>
		<link>http://blog.thinklet.net/mic/2009/11/28/change-the-format-of-a-subversion-working-copy/</link>
			</item>
	<item>
		<title>automake,autoconf使用详解</title>
		<description>from: http://www.linuxcomputer.cn/jishuwendang/xinshourumen/200902/03-3029.html

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了.

在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的 Makefile,这样就可以象常见的  GNU程序一样,只要使用”./configure”,”make”,”make instal”就可以把程序安装到Linux系统中去了.

这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的Toy程序,那么这个文章对你也会有很大的帮助.
一.Makefile介绍
Makefile是用于自动编译和链接的 ,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是  所有的文件都需要重新编译,Makefile中纪录有文件的信息,在 make时会决定在链接的时候需要重新编译哪些文件.

Makefile的宗旨就是 ：让编译器知道要编译一个文件需要依赖其他的  哪些文件.当那些依赖文件有了改变,编译器会自动的发现最终的生成文件已经过时,而重新编译相应的 模块.

Makefile的 基本结构不是  很复杂,但当一个程序开发人员开始写Makefile时,经常会怀疑自己写的 是 否符合惯例,而且自己写的 Makefile经常和自己的  开发环境相关联,当系统环境变量或路径发生了变化后,Makefile可能还要跟着修改.这样就造成了手工书写Makefile的  诸多问题,automake恰好能很好地帮助我们解决这些问题.

使用automake,程序开发人员只需要写一些简单的 含有预定义宏的  文件,由autoconf根据一个宏文件生成configure,由automake根据另一个宏文件生成Makefile.in,再使用configure依据Makefile.in来生成一个符合惯例的  Makefile.下面我们将详细介绍Makefile的 automake生成方法.


二.使用的 环境
本文所提到的 程序是 基于Linux发行版本：Fedora Core release 1,它包含了我们要用到的  autoconf,automake.
三.从helloworld入手
我们从大家最常使用的 例子程序helloworld开始.

下面的 过程如果简单地说来就是 ：

新建三个文件：
　　　helloworld.c
　　　configure.in
　　　Makefile.am
然后执行：
aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld
就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过.

很简单吧,几条命令就可以做出一个符合惯例的 Makefile,感觉如何呀.

现在 开始介绍详细的 过程：

1.建目录

在 ...</description>
		<link>http://blog.thinklet.net/mic/2009/11/23/automake-and-autoconf/</link>
			</item>
	<item>
		<title>“千万别做腾讯盯上的领域”</title>
		<description>“独乐乐与人乐乐,孰乐?”国内互联网企业的回答定然是“独乐”。
短短半年间,互联网行业发生的诉讼接连不断,从视频行业的版权纷争到客户端软件的知识产权纠纷,侵权、维权的激烈戏码让人目不暇接。衣着光鲜的IT大佬们竞相奔走于各式论坛、展会、甚至法庭;今日还是战略联盟,明天转身可能就会兵刃相见;你斥责我“无耻”,我回敬你“贼喊捉贼”……法院终也演变成这些企业做秀的舞台。

毋庸置疑,在现代商业社会中,诉讼正在变成一种互联网行业进行商业谈判的一种方式,有时候占优的一方会借此建立更加规范的行业规则,有时候则是为了敲山震虎。

中国最为投资界关注的互联网公司腾讯正是典型代表,奉行“桉树下不长草”的市场运作技法,让业界既“痛恨”又羡慕。腾讯以即时通讯起家,产品遍及游戏、门户、搜索、电子商务、博客、邮箱、空间、娱乐等,腾讯的每一步腾挪无一不伴随着“与行业龙头的PK”:QQ游戏VS联众,QQ旋风VS迅雷,QQ堂VS泡泡堂,QQ影音VS暴风影音,财付通VS支付宝……

先由其他公司(一般为中小企业)培养市场,待市场相对成熟后,利用自己庞大的用户量基础,进入该领域,并形成自身优势,夺取阵地——这几乎是腾讯的典型作风。无怪乎腾讯联合创始人、前COO曾李青近日在某活动上直接语重心长地告诫互联网创业者,“千万别做腾讯盯上的领域”。

《中国经营报》 </description>
		<link>http://blog.thinklet.net/mic/2009/11/22/dont-against-tencent/</link>
			</item>
	<item>
		<title>MemcacheQ &#8211; Simple Queue Service over Memcache</title>
		<description>MemcacheQ是一个基于memcache的轻量级MQ（消息队列）服务，实现简单，使用Berkeley DB来做数据持久化。最重要的，它兼容现有的各个语言下的memcache api，比如php:

 
&#60;?php
/* connect to memcached server */
$memcache_obj = memcache_connect('memcacheq_host', 21201);

/* append a message to queue */
memcache_set($memcache_obj, 'demoqueue1', 'message body here', 0, 0);

/* consume a message from 'demoqueue1' */
memcache_get($memcache_obj, 'demoqueue1');

memcache_close($memcache_obj);
?&#62;
相比起RabbitMQ、Kestrel、ActiveMQ、ZeroMQ等重量级的MQ，这个小玩意实在太轻巧了，由于代码少，出问题也可以自己解决。下一个项目可以考虑使用它。 </description>
		<link>http://blog.thinklet.net/mic/2009/11/15/memcacheq-simple-queue-service-over-memcache/</link>
			</item>
	<item>
		<title>How-To Extract the Boot Camp Drivers from the Mac OS X v10.6 Snow Leopard DMG</title>
		<description>Introduction

So, you've waited for hours and hours for your Leopard DMG to finish torre-I mean, download from the ADC website. You don't have an extra DL-DVD laying around or you just don't want to use one - that's fine, but when you use boot camp, you'll find it asks for ...</description>
		<link>http://blog.thinklet.net/mic/2009/11/14/how-to-extract-the-boot-camp-drivers-from-the-mac-os-x-v10-6-snowleopard-dmg/</link>
			</item>
	<item>
		<title>Closure Tools &#8211; Google Code</title>
		<description>Google开源了其内部使用的JavaScript开发工具，希望帮助外部程序员开发出速度更快的Web应用程序。Google认为通过允许开发者使用Google自己所用的工具，他们不仅可以创造出更快的富Web应用程序，而且能真正让Web插上翅膀。Closure JavaScript编译器和库曾被Google用于开发Gmail、Google Docs、Google Maps以及其它应用程序。Closure工具包括了JavaScript优化器，移除不需要的代码，压缩其余的代码以实现速度最大化；
与Firebug协同工作的Firefox扩展Closure Inspector，目的是简化调试；


Closure编译器，能以命令行、Web应用或Firefox扩展形式运行；
Closure Library，Google的标准JavaScript类库；
Closure Templates提供了一组预编译的JavaScript接口组件。 </description>
		<link>http://blog.thinklet.net/mic/2009/11/06/closure-tools-google-code/</link>
			</item>
	<item>
		<title>hack: Leopard为不同的应用程序保留输入法状态</title>
		<description>Ｍac 10.5(Leopard)去掉了为单独窗口设置单独输入法的选项，取而代之的是全局输入法，非常不方便

用日本人写的inputswitcher 可以替换的实现这个功能。
http://limechat.net/inputswitcher/

步骤为：
下载并安装 SIMBL
下载 inputswitcher , 并解压
InputSwitcher.app → /Applications
InputSwitcherClient.bundle → /Library/Application Support/SIMBL/Plugins
启动InputSwitcher.app，并重启其它应用程序，就可以为不同的应用程序窗口保留输入法状态了。
因为基于SIMBL的程序只支持cocoa框架，所以下面的程序还是记录不了输入法状态

  Finder

  Thunderbird

  iTunes
请向apple提出这个bug，越多人提出，apple就越关注，下一版修复的可能就越大
https://bugreport.apple.com/
 </description>
		<link>http://blog.thinklet.net/mic/2009/04/22/hack-leopard%e4%b8%ba%e4%b8%8d%e5%90%8c%e7%9a%84%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f%e4%bf%9d%e7%95%99%e8%be%93%e5%85%a5%e6%b3%95%e7%8a%b6%e6%80%81/</link>
			</item>
</channel>
</rss>
<a style="display: none;" href="http://mcinside.com/">MC Inside</a>