The Mirages

樱桃沟夹事

我家的狗狗是一个比熊和贵妇的串,不过最终还是像比熊一点。

下面这些它3个月时候的小照片,之前1个月的时候还拍过一次,还没传上。 给狗狗拍照一定要跟它在同一条水平线上,所以它趴地上,你相机直接搁地上就可以了。 5367114658_bbd1105e9a_z.jpg 这是它最喜欢的小球球,但是嘴巴小,没法一口叼住。这不玩累就趴在球球旁边睡觉了。 5367114642_5893d221c6_z.jpg 小家伙对什么都好奇,除了睡觉就是调皮捣蛋,就算你抱着也想着跑 5367114668_e5f66fc411_z.jpg 有时候生气了就不爱理人。 5367114654_0bcbde5014_z.jpg

公司内网都是通过ad进行认证的,为了方便就想到直接用apache basic认证来做网页的认证,毕竟项目只是内网使用。
首先是要让apache支持perl,这个在ubuntu上很容易

sudo apt-get install libapache2-mod-perl2 

接着是安装相关perl认证的模块

sudo cpan -i YAML  Apache2::AuthenMSAD  Apache2::AuthenNTLM  Authen::Simple::Apached 

最后在apache配置文件中具体网站配置项中添加如下

PerlAuthenHandler Apache2::AuthenMSAD
PerlSetVar MSADDomain timo-inc.com #AD认证域
PerlSetVar MSADServer ad.timoq.com #AD认证服务器
PerlSetVar MSADBaseDN DC=timo-inc,DC=com
AuthName "timo-INC AD Authentication" #弹出窗口的显示名字
AuthType Basic
PerlSetVar MSADGroup 'timo-sysadmin'
PerlSetVar MSADUser timo
Require valid-user
阅读全文 »

过去的无法改变,未来可以!
用这个作为1年的开始吧。
2010年有很多让人感动,让人难忘,让人愤怒的事情过去都已经过去了。
前面看了下自己2010年的计划和想法,看来没有实现的是多数。
老罗说:“用实现理想让人感觉实现理想是可能的。”
理想主义者终究会战胜现实主义者。于是我又做了一个2011年的理想计划。

  1. 英语英语英语:具体点就是完成背诵新概念2的课文(现在只完成前面10课),每日晚上8点30分到9点30分。平均3天背一篇,我脑子应该没那么不好使还。
  2. 看书看书看书:去年12月由于大降价,买了很多书,但是一直没空看完。书名如下:《老子传》,《平凡的世界》,《自私的德性》,《创新者的窘境》,《大便书》,《江村经济》,《自我》,《甜蜜的悲伤》,《未来总统的物理课》,《旅行的艺术》,《深入理解计算机系统》,《新闻与正义》,《巴菲特传》,《锋利的Jquery》,《jquery实战》,《错觉》,《爱你就像爱生命》,《魔鬼出没的世界》,《瓦尔登湖》,《胡适散文》,《破土》,《技术领导之路》,《多余的话》,《朱镕基答记者问》,《胡适杂忆》,《胡适口诉自传》,《简明新全球史》,《高性能Mysql》。总共28本书。平均13天看1本,接近2周1本,应该可以完成。每本都会做好笔记
  3. 每日做好生活笔记,感想以及记账
  4. 体育运动,除了现在每天的骑车以及晚上的韧带练习(体前屈),同时恢复俯卧撑练习。目标是体前屈可以手掌碰地,以及一次100个俯卧撑。
  5. 其它事情暂时保密,不公布计划。

###########################################
Best regards
Timo Seven

2010年是一个不算很好的年份,从一个忙碌的SNS单位到年中的时候跳到了一个毫无目标的门户单位。之间的落差是显而易见的。
2010年好多时间也没有办成,英文也没学好,婚也还没求,房子也没买,可年龄还是长了一岁。 2010年居然买了很多书。可看完的也就10多本,很多还没完全看完。
《人生十论》应该是今年要看完的最后一本书了,钱穆先生的小时候真是幸福,而他读书也居然有2个顿悟提高的过程。人生三路向对于我这样的实在是太深刻了,对于西方人,中国人,印度人对于人生的三种不同态度。突然想到虽然印度还被殖民地过,但是他们的那种人生态度似乎一直没有改变,而我们似乎也越来越象西方人看齐了。那就是对于外部物质的目标的争取而不是对于内心的自省。
今年对于技术上似乎没有任何长进,也许以后多点分析问题的方法算是一个进步吧。dstat, strace也算是用的较熟练了,可惜这些东西在现在这个地方根本没有用处,对于系统运维来说这些都是多余的。
明年是往mysql还是linux至今也没个定论,我这人的毛病就是贪多,干什么没个定性。经常妄想一口吃成一个胖子。但是如果没有兴趣的事情往往不会坚持下去。钱穆先生小时候就知道看什么书都要彻底的看完。但是其实书不光要彻底的看完,好书得看5遍6遍7遍。
在茫茫银河系中,人类的存在实在是太渺小了,在漫长的人类进化过程中,我们现在只是沧海一粟,在茫茫的人海中,你只是一个不起眼的其中一个。每想到这里,我就觉得很宽慰,没人可以改变整个实际,无论是奥巴马还是霍金以及卡尔萨根都无法改变。所以与其这样,我们还是向着自己的兴趣方向活着吧。
前天参见了海淀堂的圣诞节活动,虽然我不同意神父的一些言论,但是这个世界就是多种多样的。所以我还是很赞同《理想国和哲人王》里的说法。
###########################################
Best regards
Timo Seven

今日写个小程序,需要用到在mysql中group by 之后排序,但是出现几个问题。数据如下:

但是如果你用group by order by xxx desc发现结果并不是这样的。其实这样只是对group by之后的结果再进行的order by。而mysql还不支持先order by再进行group by

发现group by的结果是根据id进行升序排列的。但是我实际上是需要反序进行排列。

有2个方法我自己找的,一个是通过alter table来解决,另外一个是子查询。 alter table的结果是以后只能进行降序排列了,但是好处是还是可以用到原来的索引,而用子查询基本是全扫描.

阅读全文 »

javascript要选择ID还是比较麻烦的。但是最近知道jquery的如此强大,《锋利的jquery》一书算是帮我总结了吧。其实也就是对于jquery的doc一个中文翻译。

但是为了方便以后自己学习,还是摘抄在这里吧。

总结一下 #xxx 表示选择 id=”xxx”的元素
.xxx表示选择class=”xxx”元素
xxx 表示所有的 xxx 标签元素

1. 基本选择器
$(“#test”) 选取id=”test”的元素
$(“.test”) 选取class=”test”的元素
$(“p”) 选取所有

元素
$(“*”) 选取所有的元素
$(“div,span,p.myClass”) 选取所有

,和拥有class=”myClass”的

标签的一组元素

2. 层次选择器
$(“div span”) 选取

里的所有的元素
$(“div > span”) 选取
元素下元素名是的子元素
$(‘.one + div’) 选取class=”one”的下一个
的兄弟元素
$(‘#two~div’) 选取id=”two”的元素后面的所有
兄弟元素

3. 基本过滤选择器
$(“div:first”) 选取所有

元素中第一个
元素
$(“div:last”) 选取所有
元素中最后一个
元素
$(“input:not(.myClass)”) 选取所有class不等于myClass的元素
$(“input:even”) 选取索引是偶数的元素

$(“input:odd”) 选取索引是奇数的元素
$(“input:eq(1)”) 选取索引等于1的元素
$(“input:gt(1)”) 选取索引大于1的元素,但是不包括1
$(“input:lt(1)”) 选取索引小于1的元素,但是不包括1

$(“:header”) 选取网页中所有的

,

,

…..
$(“div:animated”) 选取正在执行动画的
元素

4. 内容过滤选择器
$(“div:contain(‘我’)”) 选取含有文本”我”的

元素

$(“div:empty”) 选取不包含子元素(包括文本元素)的

空元素
$(“div:has(p)”) 选取含有

元素的

元素
$(“div:parent”) 选取拥有子元素(包括文本元素)的
元素

5. 可见性过滤选择器
$(“:hidden”) 选取所有不可见的元素。包括,

……

$(“div:visible”) 选取所有可见的

元素

6. 属性过滤选择器
$(“div[id]“) 选取拥有属性id的元素
$(“div”) 选取属性title=”test”的

元素
$(“div”) 选取属性title不等于”test”的
元素(注意:没有属性title的
元素也会被选取)

$(“div”) 选取属性title以”test”开始的

元素
$(“div”) 选取属性title以”test”结束的
元素
$(“div”) 选取属性title含有”test”的
元素

$(“div[id]“) 选取拥有属性id,并且属性title以”test”结束的

元素

7. 子元素过滤选择器
$(“:nth-child(index/even/odd/equation)”) 为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的
$(“ul li:first-child”) 选取每个

    中第一个
  • 元素

    $(“ul li:last-child”) 选取每个

      中最后一个
    • 元素
      $(“ul li:only-child”) 在
        中选取是唯一子元素的
      • 元素

        8. 表单对象属性过滤选择器
        $(“#form1:enabled”) 选取id为”form1”的表单内的所有可用元素

        $(“#form2:disabled”) 选取id为”form2”的表单内所有不可用的元素
        $(“input:checked”) 选取所有被选中的元素
        $(“select:selected”) 选取所有被选中的选项元素

        9. 表单对象属性过滤示例
        $(“:input”) 选取所有,