evol128[Blog]

I am the bone of my code

Canned Unicorn Meat

闲逛amazon的时候看到这个神物: http://www.amazon.com/ThinkGeek-Canned-Unicorn-Meat/dp/B004CRYE2C/ref=sr_1_1?ie=UTF8&qid=1349364328&sr=8-1&keywords=canned+unicorn+meat

Canned Unicorn Meat

商品描述:(不翻译了)

No foolin' - Unicorn meat is real! Excellent source of sparkles! Rick Bite Unicorns, as we all know, frolic all over the world, pooping rainbows and marshmallows wherever they go. What you don't know is that when unicorns reach the end of their lifespan, they are drawn to County Meath, Ireland. The Sisters at Radiant Farms have dedicated their lives to nursing these elegant creatures through their final days. Taking a cue from the Kobe beef industry, they massage each unicorn's coat with Guinness daily and fatten them on a diet comprised entirely of candy corn. As the unicorn ages, its meat becomes fatty and marbled and the living bone in the horn loses density in a process much like osteoporosis. The horn's outer layer of keratin begins to develop a flavor very similar to candied almonds. Blending the crushed unicorn horn into the meat adds delightful, crispy flavor notes in each bite. We are confident you will find a world of bewilderment in every mouthful of scrumptious unicorn meat. Tasty Magical Beast Diagram Parts Unfortunately, due to restrictions on the importation of mythical processed meatstuff, we are unable to bring you Canned Unicorn Meat in the way the Sisters of Radiant Farms intended. When you open your can, you will find one tiny unicorn which has been appropriately sliced into its main cuts of meat. Simply use your Growth Ray to re-embiggen the unicorn before skinning it and processing its flesh. Or if you're lazy, just bring it to your local Mad Scientist-Butcher. He'll know what to do.

 

后面的评论非常欢乐,,节选几条(仍然懒得翻译)

Rick Bite

While tasty and full of nutritional value, I found the rainbow sprinkles to get caught in my teeth quite often. Also make sure to brush after eating, as your teeth can become rainbow colored for a couple hours after eating.

I should have listened to Hagrid. I bought this off Amazon and had this, about a hundred years ago. Now I am still alive, always an inch from death, but I have half a life. A cursed one. The only thing that can cure me now is the Philosopher's (Sorcerer's) Stone. But apparently they do not sell that on Amazon.

Chaaaaarliiiieeee! Chaaaarrrrr liiieee! Chaaaaar lieeeee! Chaaaaaaaaaarrliiiieeee! Chaaaar lieee! Chaaaaaaaarlieeee! Chaaaar lieeeee! Chaaaaaaaar liiieeeeee! Chaaaaarlieeeee! Chaaaarliieee! We're in a can, Charlie! (NETA: Charlie the Unicorn, a famous falsh movie)

Don't order this product if you have a conscience. The unicorns in the industrial unicorn farms live in appalling conditions, in many cases worse than those of the pegasus ranches. Don't believe the propaganda of Lisa Frank and the other tycoons of big unicorn; all that awaits these poor creatures is the abattoir and the rainbow factory. Be ethical and buy (kosher) dragon meat instead.

Of course this isn't as good as fresh, but who has time to hunt unicorns these days?

I'm a busy professional so I don't have the luxury of just grabbing my bow and quiver and spending days in the high glens hunting fresh 'corn. This product allows me to come home from a hectic day and enjoy a meal packed with that special nutrition only unicorn can provide. I even keep a few cans at the office for those late nights.

But seriously, this is a great, funny and 'tasteful' gag gift. We received ours from a relative last Christmas and as it was unwrapped everyone burst out in laughter when we saw what it was. The unicorn meat comes in a Spam-shaped can, complete with funny but realistic product information on the side labels.

This gift was enjoyable enough as it was, but then my wife pointed out that the can lid can be pried off to reveal plush unicorn 'parts' inside. Very clever and a great deal of fun for the price. I'm going to be giving a few out to co-workers this Christmas.

One last note: I don't think this gift would be appropriate for small children due to the small stuffed parts as they might be a choking hazard.

之后,我在amazon上搜到了更加稀奇古怪的东西:

Uranium Ore

 

stackoverflow上热门文章收集

庆祝自己获得了reputation~

为什么操作一个有序数组比操作无序数组要快很多?

C++推荐图书列表

C语言里的"-->"运算符是什么意思?

我用tree来存贮客户的家庭资料,直到有一个客户啪啪啪了他女儿...

为什么将两个时间"1927-12-31 23:54:08"和"1927-12-31 23:54:07"相减结果是353?

盲人是如何编程的

为什么gcc不会将a*a*a*a*a*a 优化成(a*a*a)*(a*a*a)?

为什么一个循环会比两个循环慢很多?

为什么把0.1改成0会把程序拖慢接近10倍?

这世界,没有任何一件事情是理所应当的

大家还记得我以前写过的安全的个人密码系统吗?当初我写这篇日志的时候还沾沾自喜了一段时间呢。可是当我看到了Jeff Atwood的文章Cutting the Gordian Knot of Web Identity,我忽然觉得自己实在是too young too simple了。比起“设计复杂的密码”,Jeff提倡的是“让计算机来为我们完成这一切”,一键注册,通用tag,云存储密码,这些idea都是我从来都未想到过的。

 

对于同样的问题,为何我和他的解决方案有如此之大的差异?我不由开始反省自己:

在思考问题的时候,我是不是太保守了?

我有没有去思考过深层次的原因?

我是不是应该从low level或者source level开始思考?

“一直以来的传统” 难道我不能打破它吗?

 

我很庆幸,在自己还不算太老的时候,能够看到Jeff的文章。

这世界,没有什么事情是理所当然的——努力去怀疑一切,思考一切,然后创造一切吧^_^

 

自言自语

 

 
最近在各方面都诸多不顺啦……百无聊赖,写篇博客消遣消遣。
 
Q:为什么你会想要做程序员?当初你是为什么学这个专业的?
A:嘛,其实最初的动机也是挺单纯的啦,熟悉我的人都知道我是个重度游戏宅,中学时候觉得做了程序员就可以创造出各种各样好玩的游戏来,于是乎,就报名参加了学校的编程兴趣小组,一边学编程,还可以借机用电脑玩游戏,一举两得。后来发现做游戏好麻烦..就放弃了,不过却因此喜欢上了编程呢。非要说的话,我很享受用程序创造万物的那种感觉吧~
 
Q:你觉得成为一个优秀的程序员需要具备哪些素质?
A:Larry Wall总结的很好:懒惰,急躁,傲慢。具体说来,一个优秀的程序员因该倾向于用程序而不是人力来解决问题;迫切地想要解决问题并且能够享受解决问题那一刹那的快感;最重要的一点,相信自己是最好的。
P.S. db同学和Larry在同一家公司工作呢,想要签名的赶快联系他啊^_^
 
Q:如何才能成为一个优秀的程序员?
A:这个问题很难回答呢,因为我不知道自己是否够得上“优秀”这个词。就我看来,一个人的思维模式对其能力的影响很大。我觉得一个逻辑清晰的人在解决问题时应该要做到下面几步:
1. 怀疑:不要轻易相信从外界获取的信息,特别是“别人说的话” <-- 没有比这个更不靠谱的东西了。
2. 思考:对于每一个细小的问题,都要去思考其可能性。
3. 假设: 对于一个事物的起因,经过,结果,提出一些合理的假设。
4. 验证:不管证明还是证伪,你都得去验证你的假设,否则毫无意义。
5. 如果1-4不能解决问题,回去睡一觉,然后goto step 1,从头开始重来一遍。
6. 看到这里,如果你开始怀疑我的方法是否正确,恭喜你已经踏入了第一步。
 
Q:能对当前的各种主流平台技术做个评价么?
A:我就评价一下language吧
        C:气质型美女,最能打动我心的那种风格吧
        C++:才华横溢,只是太难相处了
        Java:清新的小可爱,也是我喜欢的类型啦
        Perl/Python/Php:感觉像3个小loli呢,各有千秋,好难取舍啊……
        Ruby:据说比上面三个都可爱,可惜我没见过……
        C#:美丽性感,可是缺乏内涵,这样的美女一点都不能打动我的心呢
        LISP:我不太方便评价火星人……
        Javascript:谁把猩猩给混进来了……
 
Q:你的对于未来的期许是什么?
A:说实话,对于未来会怎么样,我完全没有概念——只要能让我继续写程序就好了,哪怕是做最浅薄最蹩脚的程序员。
 
Q:换个问法,现在你的梦想是什么?
A:很遗憾我对成为海贼王火影忍者通灵王赏金王什么的没有太大兴趣,喂马,劈柴,周游世界——能够得到平凡的幸福的话,我就很满足了。
 
Q:你的想法似乎有点天真?
A:比起那些捐钱给aiww,投票给好庄严,认为转发几条微博就可以改变社会的家伙们来说,我觉得我很现实了。
 
Q:你的文笔似乎有待提高呢?
A:因为没有妹子来帮我修改润色。
 
Q:最后有什么想说的吗?
A:给我一台电脑,我可以创造世界。

 

收集的一些Geek漫画

根据DRY原则,贴上链接http://photo.renren.com/photo/ap/Qml8do2lg5

出处全部为网络,希望大家补充

不同层次的程序员是如何解决问题的

本文仅供娱乐,切莫当真 

感谢grant, liu, molly。 没有你们的帮忙我不可能完成这篇文章,谢谢大家

 

原题:5个水手在岛上发现一堆椰子, 夜晚睡觉后,第一名水手把椰子分为等量的5堆,还剩下一个给了猴子,自己藏起一堆。第二个水手把剩下的4堆混合后重新分为 等量的5堆,剩下一个给了猴子;自己藏起一堆。第三第四第五位水手依此办理。天亮以后,大家把剩下的椰子分为等量的5堆,剩下一个给了猴子。问原来这堆椰子最少为多少个。

 

for(i=0;i<=10000;i++){
    check(i);
}

 

printf("Please enter the number of pirates\n");
scanf("%d",&x);
for(i=0;i<=1000000;i++){  
    check(i,x);
}

 

#define NUM 5
//i是最后一次剩下的椰子个数
for(i=NUM-1;i<=INT_MAX;i+=NUM-1){
    check(i,NUM);
}

 

#define NUM_PIRATE 5
#define NUM_MONKEY 1

LARGEINT a,b,c,x,y;

//from last pirate to first, recursively solve (n-1)x=ny+1
a=NUM_PIRATE-1;
b=-NUM_PIRATE;
c=NUM_MONKEY;
for(i=0;i<NUM_PIRATES;i++){
//this function solves ax+by=c by extended-euclid algorithm
    extended_euclid(a, b, c, &x, &y); 
    b=b*NUM_PIRATE;
    c=NUM_MONKEY+NUM_PIRATE*x;
}
return NUM_PIRATE*x+NUM_MONKEY;

 

数学家

他们不写程序,他们发现椰子的数量是下面这个方程的正整数解:

(N-1)^N*x-N^{N+1}+(N-1)^{N+1}=N^{N+1}*y

接着他们手算欧几里得算法来解这个方程

 

#define NUM_PIRATE 5
#define NUM_MONKEY 1

LARGEINT a,b,c,x,y;

//这式子是不是很眼熟?
a=pow(NUM_PIRATE-1,NUM_PIRATE);
b=-pow(NUM_PIRATE,NUM_PIRATE+1);
c=(-b-a*(NUM_PIRATE-1))*NUM_MONKEY;
extended_euclid(a,b,c,&x,&y);
return x;

 

echo 15621

 

 

P.S. 本文的代码简化了很多细节,譬如说求解ax+by=c的时候,欧几里得算法只应用于c=gcd(a,b)的情况,但本题中c=k*gcd(a,b)。而且,我们需要求的是最小正整数解,而不是任意一组解。还有一个就是LARGEINT必须实现高效率乘除法,这个细节就不在这里讨论了,呵呵

中关村在线伪造的下载地址分析

事情的起因是我偶然刷了一下页面,发现整个下载点的忙碌情况全变了

刷新前:

刷新后:

这变化课真够大,我稍微看了一下2个下载链接:

http://xiazai.zol.com.cn/down.php?softid=373274&subcatid=22&site=10c&server=10c0

http://xiazai.zol.com.cn/down.php?softid=373274&subcatid=22&site=10&server=101

就换了一个argument,完全是同一台服务器同一个页面(我估计也是同一个文件)……这忽悠一下外行人还行,咱程序员可不是那么好骗的

怀着不求甚解的态度,我又去查了一下它的页面生成代码:

                        var stat_arr=new Array('吉林网通下载','山西网通下载','河南网通下载','长春网通下载',
'菏泽网通下载','承天网通下载','丽水网通下载','绵阳网通下载','茂名网通下载','大庆网通下载','昆明网通下载','天津网通下载'
);
                        var pic_arr = new Array('a12.gif','a11.gif','a12.gif','a10.gif','a11.gif');
                        for (var i in stat_arr) {
                            var num = Math.ceil(Math.random()*4);
 
                            if(i%6==0){
                                document.write('</ul><ul>');
                            }
                            if(i%2==0){
                                document.write('<li><img src="http://icon.zol-img.com.cn/soft/soft_new/'+
pic_arr[num]+'" /><a hr');document.write('ef="'+'/down.php?softid=373274&subcatid=22&site=10c&server=10c'+
i+'" nofollow>'+stat_arr[i]+'</a></li>');
                            }else{
                                document.write('<li><img src="http://icon.zol-img.com.cn/soft/soft_new/'+
pic_arr[num]+'" /><a hr');document.write('ef="'+'/down.php?softid=373274&subcatid=22&site=10&server=10'+i+
'" nofollow>'+stat_arr[i]+'</a></li>');
                            }
                        }

好吧,随机生成图片+固定格式的伪造地址……这技术含量还可以再低点儿么,至少也给我配置一下dns服务器啊!!!

[真相]对不起,我们的专业不是万能的

本文写于2011-01-31

外人通常会对学计算机的人产生种种误解,在这里我给大家澄清一下:

1.你们能修电脑么?

对于广大使用windows的同学,我很遗憾的告诉你们,windows不是我写的,它也没有公开源代码,能让我知道它工作原理的途径很有限,我真的没有办法修。这就好比你在路上捡了一个阿拉丁神灯,在实现你1个愿望后突然坏了,你希望一个机械工程师能修好它,这可能么(我打赌就算是寓言家也不会修)?非要让我修,我也只能做3件事:杀毒google重装。要说计算机专业的比非专业的有什么优势,那就是google用的比较顺手把。

使用linux和mac的同学,有问题请自己解决。这是追寻自由的代价,同时也是你的义务,你的责任,当然你也可以把它看作是一种荣耀。

至于硬件问题么,请出门左转寻求电子系同学的帮助(大概电子系的同学也需要发篇这样的文章来澄清一下专业背景)

 

 2.qq号被盗了能帮我拿回来么?

我不会说绝对不能,但这样做很难很难。大概就跟在公交车上被偷了钱包然后希望警察能抓住小偷一样难。所以,qq号被盗,请第一时间去腾讯官网寻求帮助,之后请自我反省为什么会被盗。

 

 3.被问:嘿那你能当黑客么? 然后摇头说不能。 对方的眼神唰的一下就变成了鄙视。

其实我略懂一二……计算机专业也细分了很多方向,如果对方不懂安全知识(这里我不用“黑客”这个词,因为在程序员当中它的意义是神圣的),说明他只是个应用程序员,而不是系统级的程序员。

 

 4.XXX软件你用过没? 答曰没用过。 对方吃惊:学计算机的你没用过XXX?
 恩,没有用过,我都用自己写的XXXX  <- just kidding. 学计算机的并不需要去使用那些乱七八槽的软件,一个文本编辑器就够了。即使要用,我们也倾向于使用开源软件而不是商业性质的非开源软件。

 

5. 帮忙挑一台电脑行么?

跟大家(特别是mm)普及一下科普知识:电脑和衣服鞋子化妆品是不同的,是不同的一台电脑的性能好坏,数据说明了一切,没有什么感觉不感觉的。看不懂那些乱七八槽的参数不要紧,数字越大的就是越好的。如果还是弄不清楚,那越值钱的就是越好的。购买电脑的时候请先考虑自己能够承受多少价位的电脑,然后在这个价位里面选一个看着顺眼的就可以了。

顺便说一下,女生买电脑上网看电影用的,性能什么真的无所谓,只要是市面上还在卖的电脑做这些事情完全绰绰有余。男生买电脑打游戏用的,性能什么也无所谓,再高的配置也跑不动最新出的那些游戏,有买alienware的闲钱还不如去买台x360+tv。

另外,如果真的想知道多核的工作原理,ddr3和ddr2的区别,显卡为什么重要,rpm是什么意思,欢迎找我咨询——希望你面对一大堆专业术语不会觉得boring

程序猿与爱情

本文写于2011-02-10

今天看到人人上好多朋友都在转载这个状态

程序猿 : zt:if ( you.Love(Me)==1 || you.Love(Me)==0 ) { love = love; love++; love--; } //你爱,或者不爱我,爱就在那里,不增不减

我都是24岁的老人了,本来我是懒得发表自己的爱情观人生观的,但是既然扯到程序了那我就来凑一脚。从programmer的角度来看,除了字面上的意思外,这段程序还可以引申出很多含义

if "you" equals to NULL, the whole program will crash. 你也许根本不了解你的爱人,你爱的他/她仅存在于你的幻觉之中,一旦你发现了真相,你的爱情将轻易崩溃

It seems that love returns an integer, but how do you know it only returns 0 or 1? It might range from -2^31 to 2^31-1! 你觉得这世上只有爱与不爱,但世事远比你想的复杂

love  = love might be omiited while compiling. 你的豪言壮语海誓山盟,在别人眼中,或许什么都不是

love++; love--; If love is a global value, it will change in some situations, such as race condition . 不变的爱情是不存在的。你觉得不会变,仅仅是因为让你改变的事情没有发生罢了