技術

C++03と11

次のソースをコンパイルして実行する。move関係はC++03のときはコメントアウトする。 #include <iostream> #include <vector> struct S { int i; S () { std::cout << "default constructor" << std::endl; } S (const int i) : i(i) { std::cout << "constructor: i=" << i <<</vector></iostream>…

svn update; make; make install

最近作業をいろいろ自動化しようとしている。 不要な処理は回避したいのだが、makeの正否は返り値を見ればわかるし、 make && make check && make installでいいけど、svn updateで更新されたのかどうかを調べる方法がわからなかったので、調べた。 最終的に…

"i"禁止

昨晩、組み込み系で働いてる友人と話していて、「ループカウンタ変数として"i"を使うの禁止」というコーディング規約だという話を聞いた。 前提として、言語はCであった。 ループカウンタを使うのはどんなときだろうか。 最初に思いついたのは配列の内容を順…

WindowsXP HomeEditionでローカルDNS

米Google、「Google Public DNS」を公開 | スラド IT のコメントで、 と、ここまで書いたところで「ローカルでDNSサーバを立てた上で、8.8.8.8 に forward する」のが最強な気がしました。 …早速実験。FreeBSD-7.2-RELEASE/bind 9.6 で、named.conf の optio…

NººP

速報:グーグルが新言語「Noop」を公開。JavaVMで動作 - Publickey ふむぅ。Google Code Archive - Long-term storage for Google Code Project Hosting.*1によると、発音は"no-op"と同じで、"noop"も許されるとかなんとか。カタカナで無理矢理書けば、正し…

packaged contents としての manifested tarball

↓を書いてて、複数メディアで構成されたコンテンツを1ファイルにパッケージングできるというのも、意外に重要なことのような気がした。 W3Cはmhtに相当するpackaged htmlの仕様を作ってないんだろうか。mhtは結局のところsmtpをファイル化しただけだけど、も…

タイトルとリンク

自分が、タイトルが日記トップへのリンクになっている、と極めてナチュラルに予想していることに気づいた。 しかし自分の日記ではタイトルをトップへのリンクにはしていなかった。意図的にチェックを外した記憶があるが、理由を思い出せない。たぶん、そのと…

WPA-AES

La Foneraの暗号方式を、ピクロスDSで問題をダウンロードしたいがためにWEPにしていたのだが、最近はDS自体起動してないし、WEPもいい加減危ないだろう、ということでWPAに戻した。 WPAでもTKIPがデフォルトのようだったが、TKIPは危ないらしいので、AESにし…

customize

「パッチを当ててやってもいいんだぞ、お前が嫌なら」 - muddy brown thang この発想はなかった! 文法なんてそう滅多に変わるものではないので、細かいセキュリティパッチによるバージョンアップでも大して手間ではなさそう。 カスタマイズにもレベルがある…

メソッドチェーンをPHPで

PHP で引数をそのまま返す関数を作っておくと便利 - IT戦記 メソッドチェーンがわかりやすいのは、 やりたいことを考える順序と書く順序が一致する temporaryな変数を用意する必要がない から。しかしこれは……うーん、関数名が先でも考える順序と一緒なのか…

CSS

JavaScriptを使わずにWebブラウザの閲覧履歴を盗む | スラド セキュリティ コメントにもあるけど、ぼくも高木先生の楽天ad4Uの話を思い出した。 しかし部門名にあるとおり「仕様」なんだよね。 現実的な解決策があるとすると……どのブラウザもユーザスタイル…

static変数

static - 素人がプログラミングを勉強していたブログ おもしろい。ただ、残念ながらIEやSafariでは期待通りに動かないらしい。しかし仕様ではこの通り動かないとダメだとか。 はてブコメントにあるクロージャを使った方法なら大丈夫のようだ。クロージャの具…

usability

FF日記の方のCSSをいじった。これでPSPでもあまり違和感なく見られるようになった。 やっぱりdiv.mainにwidth:auto;はダメだなぁ。幅指定はちゃんとしないと。 修正時にはここで使わせてもらっているCSSを参考にした。position:absolute;を使わず、floatプロ…

(ぽかーん

http://alfalfa.livedoor.biz/archives/51458859.html 日本語でおk。 コード進行の話、コードの構成法の話、旋法の話、歌い手の声域との絡み。話が高度すぎてついていけない。 とりあえず、これ弾いてみて。 レ ミ ファ ソ# ラ シb ド# レ defg+ab-

concat

JavaScriptでconcatはもう使うべきではないのかもしれない (Kanasansoft Web Lab.) 「JavaScriptでconcatはもう使うべきではないのかも」なんてことはない - os0x.blog こういう最適化論争はブラウザの実装次第であっさり変わっちゃったりするんだろうなぁ。…

const

もっとconstをつけた方がいいかな、と思った。その辺の認識が曖昧なまま書いてると色々と不都合だ。 「変数」として扱いたいのか、単にデータが欲しいだけなのかはっきりしないと……

きもちわるい(重箱的な意味で

TeXをWebで - TeX Wiki で紹介されているdo.php。 いやいや……プログラム名にhtmlspecialcharsって…… そのあと文字列定数と比較して*1から実行してるから問題はないけど、それを期待するなら、ここでhtmlspecialcharsする必要もない。エスケープしたいなら、…

5倍

Project Aims For 5x Increase In Python Performance - Slashdot ほほー。 The first milestone release, which was announced at PyCon, already offers a 15-25% performance increase over the standard CPython implementation. Project Aims For 5x In…

Liイオン

MIT、リチウムイオン電池の大幅な高速充電技術を開発 - Engadget 日本版 おもしろそう。研究的な意味で。 Natureか……図書館にあったっけ……

iptables

あなたのLinuxマシンをセキュアにするために知っておくべきiptablesのルール10選 - ZDNet Japan 一応メモ。 synパケットを強制排除かぁ。確かにそれで事足りるよなぁ。

正確性

確率的コンピューティングでパフォーマンスをブースト | スラド ランダムエラーによってパフォーマンスを向上させているこのチップは最先端のチップよりも1/30の電力で7倍のスピードで稼動するという。 確率的コンピューティングでパフォーマンスをブースト …

ルカ

hotentryから。 【ニコニコ動画】RIP=RELEASE【巡音ルカオリジナル】 発売日(1/30)の内に投稿されたらしい。ジェバンニってレベルじゃなかった。 初音・鏡音と比べてもはっきりと聞こえる気がする。声優としてのキャリアの差? 単に調教の差かもしれないけど…

google-perftools

http://journal.mycom.co.jp/articles/2009/01/27/perftools/index.html メモメモ。 研究で使ってるツールの開発者が興味を持っているらしく、そのうち導入されるかも。 MPIを使った分散処理システムだから、ヒープチェッカ・プロファイラは使えるのかどうか…

array_merge_recursive()

PHPで、複雑な構造を持ったarrayをバラバラな順序で作りたいときに便利。 たとえばよくわからん順序でカラムが並んでるCSVをXMLで構造化したいときとか。

文脈自由文法

Leo's Chronicle: 正規表現に見切りをつけるとき いやまぁ確かにそうなんだけども…… 正規表現には(ある程度)慣れたので、目的に沿ったパターンをわりとすぐ思いつける。 しかし構文解析は苦手なんだよなぁ。慣れの問題かもしれないけど。 それよりも先に、…

std::vectorとコピーコンストラクタ

const使わないとvectorに怒られる。 #include <vector> #include <iostream> using namespace std; struct A { double x; A () : x(0.0) {} A (const A &a) { cout << "copy constructor of A" << endl; x = a.x; } }; int main () { A a; vector<A> as1, as2; cout << "as1.push_</a></iostream></vector>…

コピーコンストラクタ

当たり前といえば当たり前なんだけど確認。 #include <iostream> using namespace std; struct A { double x; A () : x(0.0) {} A (A &a) { cout << "copy constructor of A" << endl; x = a.x; } A &operator= (double xx) { cout << "operator= of A" << endl; x = x</iostream>…

関数ポインタをキャスト

Cで、 int djacobi(void*, int*, int*, double*, double*, double*); void target_func(int*, int*, double*, double*); int main () { int a, b; double c, d, e; djacobi(target_func, &a, &b, &c, &d, &e); return 0; } のよーなキャスト、つまり "void (…

はてブエントリー反転

// ==UserScript== // @name bookmark逆転 // @namespace http://b.hatena.ne.jp/ // @include http://b.hatena.ne.jp/entry/* // ==/UserScript== function reverse () { var ul = document.getElementById('bookmarked_user'); var lis = ul.childNodes.le…

mixiがあしあと削除実装

また、新機能「自分の足あと」の提供により、自分が訪問した先(プロフィールや日記など)のユーザーのニックネームを、時系列で最大30件表示いたします。なお、意図しないユーザーのページへ訪問してしまったときのために、相手の足あとページから自分の足あ…