今天晚睡!

既然今天要不可避免的晚睡了,上午也将暂停持续了7天的数学真题模拟(想想过去7天那7个充满激情的上午我就好怀念啊>.<),我就光顾一下自己这个荒废了N久的blog吧。
为了下周一给大一小孩做报告,刚刚花了一个多小时赶出一千七百多字,早上起来后拿去交给老师审阅。感触很多,这里摘录最后一段话:

当初选择***,我没有意识到自己能***,没有意识到这会***,没有意识到会***,更不会意识到今天能有这个机会站在这里***。回顾三年多来的学习生活经历,我想说,机会的确是留给有所准备的人的。在茫茫的选择之中,我们不可能一下子把事情一眼看穿,也不能寄希望于有人能为我们指明一条通往成功的捷径。一切都需要一个自我探索的过程。踏实地做好每件事,追随你内心的声音,当你浩然回首时,你会发现这些原本看似孤立的点,竟最终连成一条富有美感与力度的弧线。

是的,您看出来了,不久前我在新浪微博上写过类似的感受。
另外,看了一下以前google docs里收藏的东西,发现一个很有意思的玩意,分享出来(当然您可能也已经看过了):

端木锁检测程序

这个程序是一个多线程难题的开始。 @hengdm 答应送给 第1024个follower一件礼物,为了获得礼物,大家立刻unfollow了他,并用各种方式检测是否为1023,如果是,则立刻follow他。于是有了第一段简单的代码。

#by @virushuo
flag=`curl http://twitter.com/statuses/user_timeline/hengdm.xml | grep followers_count | grep 1023 | head -n 1`
if [ -z "$flag" ]
then
echo “wait…”
else
curl -h username:password “http://twitter.com/notifications/follow/hengdm.json”
fi
#—————–

如果端木发现了这个问题,他应该立刻把timeline加锁,这样只有他的follower才能看到他的follower数量大家只好先fo,于是llow他,检测数量之后unfollow他继续等。这样端木的follow数量就始终处于动态平衡中。对于多线程程序来说,端木就是锁。简称端木锁。
oo;io;io;
目前他还没加锁,所以还没有下一个程序出现。不需要那么麻烦, 两个ID即可, 一个查他的fo数量, 另一个随时准备fo他 -Lordhong 10-2-1 上午11:49 我发现了,你比我狠多了,还30个马甲….. -huo ju 2/2/10 12:52 AM

你们都是狠人,搞计算机被你们搞成这样很牛叉 -Feng Zhang 2/2/10 12:58 AM
从这个代码看来,我肯定会输给lordhong….怎么办,怎么办-huo ju 2/2/10 1:00 AM 改进代码,加油-Feng Zhang 2/2/10 1:04 AM https://docs.google.com/Doc?docid=0AajV-TzxbH0MZGdzOHNkaDZfNDFmZ3EyNHM0eg&hl=en
可以做个万用的库, 以后谁敢在推上说fo到哪个数就送xxx的, 直接把twitter爆到挂鲸鱼了 -lordhong 10-2-2 上午10:02

/*
端木锁java版本
@author lordhong
*/
import winterwell.jtwitter.Twitter;
 
public class LockHengdm {
 
public static void main(String[] args) {
Twitter twitter = new Twitter("my-name","my-password");
Twitter.User hengdm = twitter.getUser("hengdm");
int followerCount;
 
while (true) {
followerCount = hengdm.getFollowersCount();
System.out.println("followers count: " + followerCount);
if (followerCount > 1024) {
// fucking too late :'(
System.out.println("EPIC FAIL!");
break;
} else if (followerCount > 1015) {
// 自动follow30个马甲
for (int i=0; i<30; i++) {
 Twitter majia = new Twitter("majia_" + i, "password");
 majia.befriend("hengdm");
            }
           // 搞定 ;)
            break;
         } else {
             try {
         Thread.sleep(1000);
           } catch (Exception e) {         // ignored
             }
        }
     }
     }
 }

@shinysky 提出一个疑问: @hengdm是如何确定他的第1024个follower的呢? 是每隔一段时间人工检查, 还是也用了一个程序不停检测? 无论如何, 在实际第一次达到1024个follower和@hengdm确定他的第1024个follower之间的一段时间, 在有足够多的马甲帐号的情况下, 还有工作可以做, 比如: while followerCount < 1024:
unfollow(majias) #unfollow一个马甲帐号
总之, 保证第1024个follower是自己的主帐号或马甲帐号.
在你取得follower数量和重新follow之间,别人也可以干事情的
--对的, 不过这是不可控的.

e...下面是我(@shinysky)写的python版本, 再下面的perl版不是我写的 ;-)

?View Code PYTHON
#!/usr/bin/python
# __Author__ = '@shinysky'
# Dependency:
#   python-twitter library (http://code.google.com/p/python-twitter/)
 
import time, twitter
 
DestUser = 'hengdm'
api = twitter.Api(username='username', password='password')
while True:
fc = api.GetUser(DestUser).followers_count
if fc < 1023:         time.sleep(0.2)         continue     elif fc > 1023:
print 'wash wash sleep ba'
else:
api.CreateFriendship(DestUser)
break

=comment

Perl Version, just my 2 cents. 不好意思,这段是我写的 :) , Python的代码看上去要清爽多了,呵呵。 -@DAMN 2/3/10 7:59 PM

#!/usr/bin/perl -w
 
use strict;
use Net::Twitter::Lite;
 
my $nt = Net::Twitter::Lite->new(
username >= $ARGV[0],
password >= $ARGV[1],
);
 
while (1) {
my $apple = eval { $nt->show_user('hengdm') };
last if $apple->{followers_count} >= 1024;
eval {
$nt->create_friend($apple->id) unless $apple->{followers_count} < 1023
};
warn "$@\n" if $@;
sleep(30);
}
 
exit;

蛮有意思的讨论 -Zhen-Ning SUN 2/2/10 7:46 PM
顶LS的,感觉这样的讨论是有助于年轻人学习的 -Allen Chan 2/2/10 10:00 PM

那个fo端木30个的点子太狠了 舍不得孩子套不住狼啊 -Lordhong 10-2-2 上午10:01

⋯⋯顺便鄙视下GFW。:-P

=cut

4 thoughts on “今天晚睡!

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>