MacBook Air 11インチ欲しい!
MacBook Air 11インチ欲しい! と書くといいことがあるらしい。
いま 白いMacBookを使っていて Airが羨ましいのだ。軽いし、アルミで汚れにくいし、SSDが速いし。 軽いといろんなところで はてぶ使えたり きっと便利に違いない。 欲しいな〜。
latexで、同じ数式番号を使いたい...
一度、書いた数式を後ろのページで再度書きたいと思った。
そのとき、数式番号を前と同じものを振りたい。
いろいろ調べた結果...
-
- -
\usepackage{amsmath}
\usepackage{amssymb}
をして、
\begin{align*}
x & = ay + bz \\
y & = cx + dz \tag{\ref{eq:A}}
\end{align*}
とやればよい。
もともと、
\begin{eqnarray}
x & = & ay + bz \\
y & = & cx + dz \label{eq:A}
\end{eqnarray}
とか、してたので、\tagを使って叱られた...
eqnarrayからalign*にして、うまくいきました。
tex
論文執筆用にTex環境をインストール。
まだ、少しおかしいけど、作業メモを残しましょう。
MacTexをインストール。つづけてpTeX(sjis) + JMacoros package for MacOSXを入れて日本語化。
(http://www.geocities.jp/ball_rw/tex/install_leopard_new.htmlを参考にさせてもらいました)
つぎにLyXをインストール。これも同じApplication/Texに入れときました。
「CJK.styがない」になってしまったので、http://ar.aichi-u.ac.jp/tex/utf8/などを参考に
させてもらいながら、
> ln -s /usr/local/texlive/2009/texmf-dist/tex/latex/* ~/Library/texmf/tex/latex/
> sudo mktexlsr
として、とりあえずソースまではできた...
今のところ、LyXからソースをコピペでTeXShopに運んでコンパイルしてます。
LyXからPDFになどすると、砂時計....
デュアルディスプレイ
近々、keynoteを使ってプレゼンをやる予定。
練習したときに、上手くデュアルディスプレイにならなかったので、設定方法をメモ。
システム環境設定 > ディスプレイ > 調整タブ を見てみると、ミラーリング(クローンモード)になっていた。これが原因。
これを止めることでデュアルディスプレイになる。
ここでは、2つのディスプレイの位置関係とか、メニューバーの位置とかも設定できる。
ディスプレイタブでは、外部LCDを回転したり、それぞれのLCD毎に表示されている設定、ウィンドウを集めたり、新しくディスプレィを検出したりもできる。
※ディスプレイタブにある「メニューバーにディスプレイを表示」にチェックを入れておくと便利。
ディスプレイ検出とか、ミラー中止とか、個々の解像度調整とかが直接制御できる
上述のディスプレィの調整の呼び出し、ディスプレィの検出とかも可能
SQLでメジアン?
達人に学ぶSQL徹底指南書を読んでいます。
そのP70でいきなりひっかかり、少し調べたメモを書きます。
id | data | |
1 | 10 | |
2 | 10 | |
3 | 10 | |
4 | 15 | |
5 | 15 | |
6 | 20 | |
7 | 20 | |
8 | 20 | |
9 | 30 | |
10 | 400 |
表1 : tmp2
のメジアンを求めるのは
select avg(distinct data) from (
select max(t1.id), t1.data from tmp2 t1, tmp2 t2 group by t1.data having
sum( case when t2.data >= t1.data then 1 else 0 end ) >= count(*)/2 and
sum( case when t2.data <= t1.data then 1 else 0 end ) >= count(*)/2
) t ;
と すれば良いというようなことが書いてあります。
んが、理解できなかったので分解して考えてみました。 まず、内側のselect文だけを実行すると
id | data | |
4 | 15 | |
6 | 20 |
表2
となります。
つぎに、さらに変形して調べてみます。
select max(t1.id) id, max(t1.data) data,
sum( case when t2.data >= t1.data then 1 else 0 end ) c1,
sum( case when t2.data <= t1.data then 1 else 0 end ) c2,
count(*)/2 c3
from tmp2 t1, tmp2 t2 group by t1.data ;
id | data | c1 | c2 | c3 | |
1 | 10 | 30 | 9 | 15.0000 | |
4 | 15 | 14 | 10 | 10.0000 | |
6 | 20 | 15 | 24 | 15.0000 | |
9 | 30 | 2 | 9 | 5.0000 | |
10 | 400 | 1 | 10 | 5.0000 |
表3
つまり、t1とt2で 例えばdata=15のc2の部分を求めると
条件が成立するt2は5個{10,10,10,15,15}あって、data=15のt1は2個だから
5*2 = 10となるんですね。 きっと。
で、count(*)/2の値は、grouping されているt1の要素数 {3,2,3,1,1}と t2の要素数10との積となるっと。
とりあえず、どう動いているかまで分かった。
はてぶのデータの取り方を調べていて...
他人様のブックマークを見せてもらうには、
http://b.hatena.ne.jp/naoya/atomfeed
とかやれば良いと。
で、過去のは
http://b.hatena.ne.jp/naoya/atomfeed?of=数字
とやるといいのか、なるほど。
で、数字が大きいほど昔のものが得られるっと。 で、1回のリクエストで30個くらいのブックマークが得られるので、次はof=30とかすればいいのか。なるほど。
それにしても6208個もブックマークしてるとは... すごいな。