2009年09月 存档

.yu顶级域名过期了

2009年09月30日,星期三

HN上看到 .yu 这个TLD过期了。

不过比较酷的是可以把 .yu 转移到 .me (从你到我),呵呵。

只听说过域名过期的,没想到TLD也过期了。囧。

Dreamhost+screen+irssi

2009年09月30日,星期三

参考这里

export PATH=$PATH:$HOME/bin
export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
export LD_LIBRARY_PATH=$HOME/lib:/usr/local/lib:../lib:$LD_LIBRARY_PATH

cd ~/tmp
wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.0.tar.gz
tar -xvzf glib-2.19.8.tar.gz
cd glib-2.19.8
./configure --prefix=$HOME
make
make install

cd ~/tmp
wget http://irssi.org/files/irssi-0.8.12.tar.gz
tar -xvvzf irssi-0.8.12.tar.gz
cd irssi-0.8.12
./configure --prefix=$HOME
make
make install

rm -rf ~/tmp/

后来发现glib其实没有必要编译,因为/usr/lib下面已经有了。不过似乎需要include的东西。

screen是个好东西。

莫道不消魂命烈士的血不仅染红了红领巾,而且将会染红帝国大厦,明天

2009年09月30日,星期三

帝国大厦将在明天用红色主题庆祝60 G庆。资本主义和老莫道不消魂毛都笑了。

那些血是华尔街犹太人商团和买办阶半夜凉初透级从“市场经济”里榨取的。

安全啊

2009年09月29日,星期二

1. SSL中间人:http://wuhongsheng.com/it/2009/09/ssl-hijack/ 回复 http://www.dup2.org/node/1178 。感觉CA也不靠谱啊。

这也是为什么说把自己域名直接开放email注册是一个安全隐患。google非常聪明没有开放 @google.com 的注册,而且更加聪明使用 mail.google.com 作为ssl。

我知道126.com就被人注册Google Apps了。

2. Google Groups和客户端收发邮件不安全。鉴定完毕。

3. 赶快人手下载一份纯净的root CA。预感不久CA就会被东篱把酒黄昏后墙劫持伪造。

4. 感谢d感谢wall给我一个学习安全意识和网络技术的机会和动力。

小日本太变半夜凉初透态了:11门语言的quine接力

2009年09月29日,星期二

A Neighborhood of Infinity当年的牛逼之作A Third Order Quine in Three Languages可以说已经是惊为天人了。什么东西呢?
q a b c=putStrLn $ b ++ [toEnum 10,'q','('] ++ show b ++ [','] ++ show c ++ [','] ++ show a ++ [')']
main=q "q a b c=putStrLn $ b ++ [toEnum 10,'q','('] ++ show b ++ [','] ++ show c ++ [','] ++ show a ++ [')']" "def q(a,b,c):print b+chr(10)+'q('+repr(b)+','+repr(c)+','+repr(a)+')'" "def e(x) return 34.chr+x+34.chr end;def q(a,b,c) print b+10.chr+'main=q '+e(b)+' '+e(c)+' '+e(a)+' '+10.chr end"

这是一个Haskell程序源码,运行一下可以得到一个Python程序源码,再运行一下这个Python程序,可以得到一个Ruby程序源码,再运行一下这个Ruby程序可以得到最开始的Haskell程序源码。这就是triple quine

今天在proggit上看到更加变半夜凉初透态的:11们语言的quine接力。。。。orz。。。小日本果然变半夜凉初透态。。。

原文在:http://d.hatena.ne.jp/ku-ma-me/20090916/p1

代码是:
# ruby
l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t.size/2)};5.times{s=s.dump[r]};puts\"# python\\nprint(\\\"# perl\\\\nprint(\\\\\\\"# lua"+l*4+"nprint("+l*7+"\"(* ocaml *)"+l*8+"nprint_endline"+l*15+"\"-- haskell"+l*16+"nimport Data.List;import Data.Bits;import Data.Char;main=putStrLn("+l*31+"\"/* C */"+l*32+"n#include<stdio.h>"+l*32+"nint main(void){char*s[501]={"+l*31+"\"++intercalate"+l*31+"\","+l*31+"\"(c(tail(init(show("+l*31+"\"/* Java */"+l*32+"npublic class QuineRelay{public static void main(String[]a){String[]s={"+l*31+"\"++intercalate"+l*31+"\","+l*31+"\"(c("+l*31+"\"brainfuck"+l*64+"n++++++++[>++++<-]+++++++++>>++++++++++"+l*31+"\"++(concat(snd(mapAccumL h 2("+l*31+"\"110"+l*31+"\"++g(length s)++"+l*31+"\"22111211100111112021111102011112120012"+l*31+"\"++concatMap("+l*32+"c->let d=ord c in if d<11then"+l*31+"\"21002"+l*31+"\"else"+l*31+"\"111"+l*31+"\"++g d++"+l*31+"\"22102"+l*31+"\")s++"+l*31+"\"21002111010120211222211211101000120211021120221102111000110120211202"+l*31+"\"))))))++"+l*31+"\","+l*63+"\""+l*64+"n"+l*63+"\"};int i=0;for(;i<94;i++)System.out.print(s[i]);}}"+l*31+"\")))))++"+l*31+"\",0};int i=0;for(;s[i];i++)printf("+l*63+"\"%s"+l*63+"\",s[i]);puts("+l*63+"\""+l*63+"\");return 0;}"+l*31+"\");c s=map("+l*32+"s->"+l*31+"\""+l*63+"\""+l*31+"\"++s++"+l*31+"\""+l*63+"\""+l*31+"\")(unfoldr t s);t[]=Nothing;t s=Just(splitAt(if length s>w&&s!!w=='"+l*31+"\"'then 501else w)s);w=500;f 0=Nothing;f x=Just((if x`mod`2>0then '0'else '1'),x`div`2);g x= reverse (unfoldr f x);h p c=let d=ord c-48in(d,replicate(abs(p-d))(if d<p then '<'else '>')++"+l*31+"\"."+l*31+"\");s="+l*31+"\"# ruby"+l*32+"n"+l*31+"\"++"+l*31+"\"l=92.chr;eval s=\"+(z=l*31)+\"\\\"\"+s+z+\"\\\""+l*31+"\"++"+l*31+"\""+l*32+"n"+l*31+"\""+l*15+"\""+l*7+"\")"+l*4+"n\\\\\\\")\\\")\"########### (c) Yusuke Endoh, 2009 ###########\n"

当然自己试的时候需要处理好缩进和换行问题。

是这11门语言的quine:

  1. ruby 1.8.7-p72
  2. Python 2.5.2
  3. perl v5.10.0
  4. Lua 5.0.3
  5. OCaml 3.10.2
  6. ghc-6.8.2
  7. gcc 4.3.2
  8. java "1.5.0_17"
  9. beef 0.0.6-2
  10. whitespace 0.3-2
  11. unlambda 2.0.0-5

卧槽。。。。HOLYFUCK!

啊。。。安全和隐私

2009年09月28日,星期一

似乎明白了2个事情

  1. 好多论坛外链都是 hxxp:// 或者 http_// 这样可以:1. 防止被加上超链接 2. 防止被点击产生referer
  2. TheWorld的超级拖拽似乎也没有referer,这也是一种隐私保护

现在要找一个很安全很保护隐私的forum,难啊。。。

最后一个tip:最近老是有人抱怨Google.com的各种service被劫持到.cn,最近帮一个好友看了这个情况,是hosts的原因。脑残的hosts方法啊,遗毒无穷。

reddit XSS 蠕虫

2009年09月28日,星期一

作者是##proggit里的tolkad。牛逼啊牛逼。Markdown这么严格的语法都能被XSS。不过起源好像是来自一个讨论javascript的帖子(via HN

在IRC里的说的补丁是在 markdown.py 里注释掉 text = self.r_DoAnchors1.sub(handler1, text)

看reddit新的评论几乎全部被这个蠕虫占领了。。。hoho。。。4chan发来贺电。。。。

代码在这里

惊闻兲朝用带双向麦克风实现GPS定位了

2009年09月28日,星期一

关于麦克风。我听说过的天顶星科技有这么几种,比较好玩,推荐给大家:

但是今天看到兲朝出了个真TMD牛逼的技术。再也用不着去购买昂贵的GPS定位终端设备了,似乎我们兲朝已经研发出来了带双向麦克风的GPS定位的牛逼设备。

China Bubble

2009年09月27日,星期日

感觉很恐怖。。。。像鬼服一样。。。。

via

我整个人都The IT Crowd了。。。快来看德国山寨版的Das iTeam

2009年09月27日,星期日

视频在youtube上,Embedding disabled by request,大家自己去看吧

我的Chrome很争气的挂了。。。是不是该呼叫IT部门呢?

话说看到丢杯子那个场景 Das? 我真的笑喷了。。。还有那个去游乐场招鸡的照片都差不多。。。哎。。。

2008年1月4日,德国上映了„Das iTeam - die Jungs mit der Mau“(The iTeam - the guys with the mouse),是一部十足的英剧《The IT Crowd》的山寨版。

http://mBaumer.de compared some takes in this video, so you can see that the first episode "Brötchen vom Vortag" (Yesterday's Bread Rolls) is made exactly like its antetype "Yesterday's Jam"

不过德国人似乎没有英式冷小话那么幽默,笑得有点刻板。。。恩。。。不知道Das iTeam里会不会吼 Ich bin ein Nerd!!! 呢?

话说英剧我就追过Skins和The IT Crowd。。。

via