社長おすすめの本の登場です。
社長は節約と節税が大好きなので、話について行くためにと思って本書を手に取ってみました。

フリーランスを代表して 申告と節税について教わってきました。
著者/訳者:きたみ りゅうじ
出版社:日本実業出版社( 2005-12-08 )
定価:¥ 1,470
Amazon価格:¥ 1,470
単行本 ( 232 ページ )
ISBN-10 : 4534040016
ISBN-13 : 9784534040015
所得税、住民税、消費税、社会保険に国民年金と厚生年金など、いろいろな名目でお金が消えていきます。
それらを分かりやすく、楽しいノリで解説してくれます。
フリーランス向けですが、会社経営者にも優しい本でした。
すごく久しぶりなMindTouch Dekiのネタです。
BPSの社内Wikiでは、最近更新されたページの他に 最近投稿されたコメントを表示して、活発な議論を促すことにしました。
以下のDekiScriptで実現できます。
<ul style="padding-left:30px;">
foreach (var c in wiki.getsearch('type:comment', 10, '-date')) {
<li>
web.link(c.page.uri, c.page.title);
web.html(' <span style="color:#999999">(' .. c.author.name .. ')');
web.html('<br />');
web.text(c.text);
</li>
}
</ul>
注意点として、バージョンが最新版(9.08)なら動作しますが、9.02などの旧バージョンでは動作しないことがあります。
リリースノートに書いてありますが、getSearch() が空を返すバグがあり、9.08で修正されたようです。
http://developer.mindtouch.com/Deki/Release/Minneopa_(9.08)
簡単なDekiScriptですが、リファレンスにSearchQueryの”type:comment”は載っていないので、少し時間がかかってしまいました。
ドキュメントの更新が追いついていないみたいですね。
Amazonの欲しいものリストをWordPressの中で表示するプラグインを作ってみました。
動作デモはこちら
詳細はこちら
まだデザインも使い勝手も洗練されていませんが、色々アイデアを埋め込んで便利にしていこうと思います。
このような小さいプログラムを書くのも楽しいですね。
スケジュール管理方法を模索しており、GmailやGoogleカレンダー、RTM、手帳、ノートなどを試しています。
業務を効率化して自分の成長に費やす時間も確保するため、以下を満たすものを探しています。
・簡単で続けられる
・シンプルかつ柔軟
父の書棚で、前回読んだ「超」文章法と同じ筆者のものを見つけたので読んでみました。
発行が1995年なので、私が小学生の時です。
読んでいると、この15年でどれだけ社会が変わったかを感じられ、興味深いものがありました。
インターネットではなくパソコン通信の時代ですし。
本書は、
・スケジュールを長期的に一覧できるようにし、予備時間を過剰に確保する
(そのために、通常の手帳ではなく折りたたんで引き出せるものを使う)
・連絡を電話から文書に移行する
といった内容を説いています。
1-2章のスケジュール管理手帳については、なるほどと思える点が多々ありました。
Googleカレンダーとスマートフォンと連携させても、やはり紙が欲しいと思うことは多いです。
「超」整理手帳というのはとても良さそうなので、是非Googleカレンダーと同期してみよう!と思ったら、既に同じことをやっている人がたくさんいて驚きました。しばらく真似して試してみることにします。
中盤以降の「連絡は文書(FAX)で」というのは、時代の流れを感じますね。
もちろん、慣習による対面や会議の無駄時間を無くす、という本質的なメッセージは今も有効ですが、最近はむしろ電子メールでしかコミュニケーションをとれない人が増えて問題になっています。
そのような時代変化を踏まえて、野口氏の最近の著書も読んでみたくなりました。
iPhone開発では、慣れていないMacを使わなくてはならず苦労します。
新しいMacBook Proを導入したのですが、以前は出来た実機動作が出来なくなって焦りました。
手順通り、
- キーチェーンアクセスで証明書発行要求を作成
- iPhone Developer Potalで証明書を発行、ダウンロードし、インストール
- デバイス登録、AppID登録を行う
- Provisioningを作成、ダウンロードし、インストール
とやったのですが、XCodeでビルドしようとすると
profile doesnt match any valid certificate private key pair in the default keychain
というエラーが出てしまいます。
ProvisioningをXCodeで開くと、以下のWarningが出ていました。
a valid signing identity matching this profile could not be found in your keychain
調べると同様の現象で悩んでいる方はたくさんいて、「XCodeとSDKインストールし直し」「キーチェーンでデフォルトをログインにする」などの手順が紹介されていました。
今回の原因はそれらではなく、手順1の証明書発行要求での名前が違ったことでした。
証明書発行を要求する際、「iPhone Developer Personal Profile」で登録した名前と完全一致している必要があります。
法人登録した際でも、法人名ではなく登録した「FirstName LastName」で入力しないといけません。


「通称」とあるが、Developer登録した名前を正確に入力する必要がある
基本的なことですが、かなり時間がかかってしまいました。
それにしても、初期登録時に英語入力するとエラーになり、日本語入力すると文字化けするとか、AppIDを削除できないとか、修正されない問題点が多いですね。
技術者は、以外と文章を書く機会が多いものです。
もちろん業務で小説を書くことはないですが、営業資料やマニュアル、そして時によっては論文など、分かりやすさや説得力が重要な文章を求められます。電子メールも、ある程度の文章力が求められますね。
本書では、「超」が付くほど日本語文章の専門家である筆者が、論述文の書き方を論理的に解説しています。

「超」文章法 (中公新書)
著者/訳者:野口 悠紀雄
出版社:中央公論新社( 2002-10 )
定価:¥ 819
Amazon価格:¥ 819
新書 ( 265 ページ )
ISBN-10 : 4121016629
ISBN-13 : 9784121016621
どんな文章読本にも書いてある「主述関係」「文の長さ」なども押さえてありますが、何よりも「メッセージの重要性」と説いています。
また、全体の長さから論理展開を生成するなど、いかにもプロという意見が印象的でした。「分かりにくく反論を受けにくい文章の書き方」など、少々変わったテーマも取り扱っています(旧大蔵省流らしいです)。
日本語に対するこだわりは偏っている部分もありますが、楽しく退屈せず読めるし、とても秀逸な本だと思います。
自宅で眠っていた本をご紹介します。
Effective C++は、C++プログラマーなら必読です。
私が知る中で最高峰のC++本だと思います。
どんなプログラミング言語もそうですが、特にC++は深く考えずに使うと危険な言語です。
言語仕様と使い方、その効果と副作用をしっかりと理解して使う必要があります。
本書は、C++を一通り使えるようになった人がステップアップするのに最適です。
【注意点】
本書は「C++の本」であって、アルゴリズムやプログラミングの本ではないので、そこを間違えると面食らいます。
WPFで枠を消す の続きです。
前回紹介した方法は、以下のような内容でした。
- WindowStyle=None, AllowsTransparency=True にすると枠が消える
- 移動できるように、WM_NCLBUTTONDOWN + HTCAPTION を送信する
しかし、この方法には欠点があります。
AllowsTransparencyを有効にしていると、WindowsFormsHostが表示されなくなってしまうのです。
http://msdn.microsoft.com/ja-jp/library/aa970911(VS.80).aspx
HwndHost クラスは、レイヤ表示をサポートしません。つまり、WindowsFormsHost 要素で Opacity プロパティを設定しても何の効果もなく、AllowsTransparency が true に設定されている他の WPF ウィンドウとのブレンド操作は行われません。
そこで、DirectX と連携する際などは、AllowsTransparency を False のままにしておく必要があります。
困ったときのWinAPI。直接ウィンドウスタイルを設定して、枠を消してしまいましょう。
Windows Forms Application 時代は、CreateParams で設定していたような内容ですね。
[DllImport("user32.dll")]
static extern long GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]
static extern long SetWindowLong(IntPtr hWnd, int nIndex, long dwNewLong);
[DllImport("user32.dll")]
static extern UInt32 SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, int wFlags);
private void RemoveFrame()
{
long WS_THICKFRAME = 0x00040000L;
int GWL_STYLE = -16;
int SWP_FRAMECHANGED = 0x0020;
int SWP_NOSIZE = 0x1;
int SWP_NOMOVE = 0x2;
int SWP_NOZORDER = 0x4;
IntPtr hwnd = new System.Windows.Interop.WindowInteropHelper(window).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) ^ WS_THICKFRAME);
SetWindowPos(hwnd, IntPtr.Zero, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
}
やっていることは以下のような感じです。
- GetWindowLongでWindowStyleを取得
- SetWindowLongで、今までのスタイルからWS_THICKFRAME(ウィンドウ枠)を除いたものを設定
- SetWindowPosで表示を更新
最後のSetWindowPostをやらないと、サイズ変更するまで描画が崩れてしまいます。
注意点としては、WS_THICKFRAME を外すと、WM_NCLBUTTONDOWN で HTBOTTOMRIGHT を送信しても、サイズ変更できなくなります。
諦めて、自分でサイズ変更処理を書くしかないみたいですね。
Eclipseなどを使うには、Javaのインストールが必須ですね。
Javaはデフォルトで、月に1回自動アップデートを試みます。
この機能、勝手に再起動を求めてきたりして鬱陶しいので、無効にしたい場合もあると思います。
しかし、タスクトレイのJavaアイコンを右クリック→「プロパティ」を開き、「アップデートを自動的にチェック」をOFFにしても、設定が保存されない場合があります。
実は、このダイアログはUACが有効の環境(Vistaや7はデフォルトで有効)では、何も設定が保存されません。
設定を変更するには、C:/java/bin/javacpl.exe (環境によってパスは変わります)を右クリック→「管理者として実行」する必要があります。
こんなのはプログラム作者がマニフェストファイルを書けば済む話なんですけど、Sunの方々はWindowsなんて使っていないのかも知れませんね??
この前読んだ本で紹介されていたという理由で、本書を購入してみました。

すぐに解決!プレゼンテーション
著者/訳者:ロス・ジェイ
出版社:ダイヤモンド社( 2003-12-12 )
定価:¥ 1,050
新書 ( 130 ページ )
ISBN-10 : 4478760802
ISBN-13 : 9784478760802
30分で読める!というのが良いですね。
あまり自分の成長につながるような本とは思えませんが、プレゼンの際のチェックリストとしては有効だと思います。
まさに「時間がなくても手のこんだプレゼンに見せるにはどうしたら良いのか?」と悩んでいる真っ最中に読めば、ありがたい本となりそうです。