Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2010-05-12 [長年日記]
_ [Emacs] major/minor でのメニュー
Emacs 23になってから? なのかわからないのですが、ステータス行の部分は major モード / minor モード を選択するとメニューがでるようになりました。
おかげで、tDiary モードが提供する HTML や SGML のメニューなどがあることに気がついた。
_ eXtreme Meeting
今頃知ったのですが、eXtreme Meeting をビジネスにしていた会社さんが、新規ユーザさんの募集を打ち切り、事業ドメインの変更をなされているようです。
この eXtreme Meeting のやり方を聞いた時には、そういう風に会議を進めるとうまくいくものなんだなあと聞いていたのですが、なかなかビジネスとして定着させるのは難しかったようです。私が最初に聞いたのが5年前になります。早いものです。
_ フェムトセル
今日はじめて、フェムトセルという言葉を知る。うちはAUだけど、DoCoMo や ソフトバンクでは、もうやっているのね。(http://ja.wikipedia.org/wiki/フェムトセル)
むつみさんのところで、ソフトバンク フェムトセル(ホームアンテナFT)申し込み(http://hanzubon.jp/node/5139)という記事が出ているので、気になる人は読んでおくと、無用な罠に陥らずに済むかと。
_ 非上場でのメリット
twitter経由。いくつか気になる言葉が。独占インタビュー ジム・グッドナイト SASインスティチュートCEO 「34期連続増収増益でもウォール街に背を向け株式非上場を貫く訳を語ろう」
_ comp.lang.c
すげー。なんだ、こりゃ。(http://groups.google.com/group/comp.lang.c/msg/e105e5d339edec01?pli=1)このプログラム、あまりに意味不明なので、手元でコンパイルして実行したら、出力は想定したままである。
こりゃ、仕掛けを見てやろうと CPPを通した結果を indent で整形してみたが、それでも、こんな形に。
まずは、元ソース
#define M 002354l
#define A 000644l
#define G 000132l
#define I 000322l
#define C 000374l
#define a ;
#define b for
#define c ++
#define d %
#define e int
#define f ,
#define g -
#define h 011
#define i =
#define j {
#define k )
#define l '\n'
#define m main
#define n <
#define o }
#define p >
#define q &&
#define r (
#define s ||
#define t ?
#define u putchar
#define v void
#define w '*'
#define x :
#define y ' '
#define _ /
#define C_O_O_L return
e u r e k a
e
m r
v k j
j j j j
j j j j j
j j j j j j
j j j j j j j
j e z a b r z i
M _ A _ G _ I _ C
a z n G a u r z d h
+ z _ h p M _ A q z d
h + z _ h n M _ G q z _
h n z d h + M _ I q z _ h
p z d h g M _ C t w x y k f
z d h g h + 1 s u r l k f z c
k a u r l k a j j j j j j j j j
j j C_O_O_L M _ A _ G _ I _ C a o
o o o o o o o o o o o o o o o o o o
o o o o
o o o o
o o o o
o o o o
cppを通して、indentしてみた結果
# 1 "hoge.c" # 1 "で、出力結果は" # 1 " " # 1 "hoge.c" # 35 "hoge.c" int putchar (int); int main (void) { { { { { { { { { { { { { { { { { { { { { { { { int z; for (z = 002354l / 000644l / 000132l / 000322l / 000374l; z < 000132l; putchar (z % 011 + z / 011 > 002354l / 000644l && z % 011 + z / 011 < 002354l / 000132l && z / 011 < z % 011 + 002354l / 000322l && z / 011 > z % 011 - 002354l / 000374l ? '*' : ' '), z % 011 - 011 + 1 || putchar ('\n'), z++); putchar ('\n'); { { { { { { { { { { { return 002354l / 000644l / 000132l / 000322l / 000374l; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }
$./a.out
*
***
*****
*******
*********
*********
*******
*****
***
*
である