otsune's SnakeOil RSSフィード

python -c "print''.join([chr(x) for x in 111&1101,110+~-~11,10^11*11,110+~-~11,-~101,-~11^11*11,~-110,111&11*11,11+11+10,11|~-0110,1-~11^11*11,10^11*11,-~11^11*11,110,101])"

2010-09-08

PlaggerのPublish::TwitterをOAuth対応に

PlaggerのPublish::TwitterをOAuth対応に - otsune's SnakeOil  を含むブックマーク はてなブックマーク - PlaggerのPublish::TwitterをOAuth対応に - otsune's SnakeOil  PlaggerのPublish::TwitterをOAuth対応に - otsune's SnakeOil  のブックマークコメント

既に誰かがやっている気もしなくも無いが

--- Plugin/Publish/Twitter.pm  2010-07-03 00:26:00.000000000 +0900
+++ Plugin/Publish/Twitter.pm  2010-09-08 03:18:25.000000000 +0900
@@ -18,34 +18,32 @@
 sub initialize {
     my($self, $context) = @_;
     my %opt = (
+        traits   => ['API::REST', 'OAuth'],
         username => $self->conf->{username},
         password => $self->conf->{password},
     );
-    for my $key (qw/ apihost apiurl apirealm/) {
+    for my $key (qw/apihost apiurl apirealm consumer_key consumer_secret/) {
         $opt{$key} = $self->conf->{$key} if $self->conf->{$key};
     }
-    $self->{twitter} = Net::Twitter->new(%opt);
+    my $nettwitter = Net::Twitter->new(%opt);
+    if ($self->conf->{access_token} and $self->conf->{access_token_secret}) {
+        $nettwitter->access_token($self->conf->{access_token});
+        $nettwitter->access_token_secret($self->conf->{access_token_secret});
+    }
+    $self->{twitter} = $nettwitter;
 }

サンプルのconfig.yaml抜粋

  - module: Publish::Twitter
    config:
      username: dankogai
#      password: base64::a29nYWlkYW4= 
      consumer_key: ***
      consumer_secret: ***
      access_token: ***
      access_token_secret: ***
      templatize: 1
      maxlength: 139

参考url http://d.hatena.ne.jp/layerzero/20090930/p1

トラックバック - http://subtech.g.hatena.ne.jp/otsune/20100908

2010-08-11

左右反転しても動作するCのコード

左右反転しても動作するCのコード - otsune's SnakeOil  を含むブックマーク はてなブックマーク - 左右反転しても動作するCのコード - otsune's SnakeOil  左右反転しても動作するCのコード - otsune's SnakeOil  のブックマークコメント

tacやrevで左右反転できるという1987年に書かれたコード。

http://www0.us.ioccc.org/1987/westley.c

				char rahc
				   [ ]
				    =
				  "\n/"
				    ,
				redivider
				   [ ]
				    =
		       "Able was I ere I saw elbA"
				    ,
				    *
			     deliver,reviled
				    =
				   1+1
				    ,
			       niam ; main
				   ( )
				  {/*\}
				   \*/
				 int tni
				    =
				   0x0
				    ,
			     rahctup,putchar
				   ( )
		           ,LACEDx0 = 0xDECAL,
				rof ; for
			     (;(int) (tni);)
			       (int) (tni)
			  = reviled ; deliver =
				redivider
				    ;
for ((int)(tni)++,++reviled;reviled* *deliver;deliver++,++(int)(tni)) rof
			            =
			     (int) -1- (tni)
		          ;reviled--;--deliver;
			     (tni)  =  (int)
			  - 0xDECAL + LACEDx0 -
				rof ; for
       (reviled--,(int)--(tni);(int) (tni);(int)--(tni),--deliver)
			    rahctup = putchar
			   (reviled* *deliver)
				    ;
			    rahctup * putchar
			    ((char) * (rahc))
				    ;
				   /*\
				  {\*/}

mattnmattn2010/08/11 02:19gcc-4.4.1だとエラー出ますね。

/tmp/vndlSvY/6.c: In function ‘main’:
/tmp/vndlSvY/6.c:30: error: lvalue required as left operand of assignment

トラックバック - http://subtech.g.hatena.ne.jp/otsune/20100811

2010-04-28

トラックバック - http://subtech.g.hatena.ne.jp/otsune/20100428