MSBuild で Hello World

MSBuild は、.NET 版 Ant と言うか、Makeというか、つまりプロジェクトをビルドしたりこまごまとした煩雑な作業を自動化するためのツール。.NET Framework をインストールすると付いてくる。C:\WINDOWS\Microsoft.NET\Framework\(バージョン)とかにインスト…

ActiveX EXE や DLL, OCX(いわゆるCOM)が公開している Type Library 情報をダンプするスクリプト

VB6でCOMコンポーネントを開発してると、TypeLibIDとかCLSIDの不一致でソースコードが開けなくなったり、いままで動いていたプログラムが動かなくなったりという場面によく遭遇します。(とくにCOMコンポーネントの開発に不慣れで「COM」というものをよく理…

はてブされた数の変動を監視してGrowlするヤツ

作ってみた。 なんか、はてなブックマーク件数取得API(XML-RPC版)をRubyから叩いてみたんだけど、レスポンスのContent-Typeが"期待と違う"ということでエラーになってしまう。 どうもXML-RPCではContent-Typeはtext/xmlを期待しているみたいだが、はてなの…

各種パッケージマネージャやバージョン管理ツールでの環境最新化方法のまとめ

オープンソースのプロジェクトって、開発言語やプラットフォームで使ってるパッケージマネージャやバージョン管理ツールがバラバラでとても覚えきれないので、ここにメモっておく。 パッケージマネージャ編 Homebrew ※updateとupgradeがややこしいので注意全…

Homebrewでrubyをアップデートしようとしてハマる

ruby 1.9.1だと Sinatra が動かないので、Update しようと brew install ruby と叩いたら Warning: /usr/local/lib/ruby exists as a symlink The previous Ruby formula symlinked /usr/local/lib/ruby into Ruby's Cellar. This version creates this as a…

いきなりeasy_installがDistributionNotFoundとか言い出した

いつからか、easy_install を実行すると $ easy_install Traceback (most recent call last): File "/usr/local/bin/easy_install", line 5, in <module> from pkg_resources import load_entry_point File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-pack</module>…

君!(そう、そこの君!)、オープンソースに参加しようよ

You (yes, you!) should contribute to open source - The Changelog - Open Source moves fast. Keep up.の翻訳記事です。勝手に翻訳してます*1。翻訳に間違い・アドバイスあればコメント頂けると嬉しいです。君がこのブログを読んでるってことは、オープン…

複数のPC間でNoScriptの設定を Firefox Sync で同期する

前々から、NoScriptの設定をPC間で同期できないものかと考えてましたが、どうやら既に機能として組み込まれていたようです。CHANGELOGより: v 2.1.0.3rc5 ========================================================================== x Improved Google A…

Base64エンコーディングの考え方メモ

考え方 元のバイト列を6ビットづつに区切る このとき6ビットに満たない部分には0を足す 6ビットを4個ひと組として変換表に従って文字列に変換 このとき4個に満たない部分に"="(イコール)を足す 変換表 引用元:Base64 - Wikipedia (Creative Commons ― Att…

指定されたURLからGETメソッドでコンテンツを取得する

RunLoopしないとdelegateのメソッドが呼び出されなかったところがちょっとはまった。 Link URL Loading System Programming Guide: Using NSURLConnection NSRunLoop Class Reference NSURLConnection Class Reference NSDate Class Reference NSData Class …

UIKitフレームワークアプリのオブジェクト間の関連図

こんな理解であってる?

quickrun.vimでObjective-Cをコンパイル実行するための設定

vim

以下を ~/.vimrc に追加 " for quickrun.vim let g:quickrun_config = { \ 'objc': { \ 'command': 'cc', \ 'exec': ['%c %s -o %s:p:r -framework Foundation', '%s:p:r %a', 'rm -f %s:p:r'], \ 'tempfile': '{tempname()}.m', \ } \ }

オライリーのPDF書籍をePubに変換する

なんとなく日本語PDFをePub化することができたので、その手順をメモっとく。ただし、以下の方法ソースをベタでイジるので万人にはおすすめできない。大まかな手順は、 Calibre最新版をインストール Calibreの最新ソースを落としてくる poppler(pdftohtmlコマ…

テキストエディタとzipコマンドだけで電子書籍を作ってみた

思うところがあって、ePub形式の電子書籍について調べている。どうやら、ePubの実体は zip 圧縮されたXHTML+XMLファイルで構成されているらしく、テキストエディタさえあれば簡単に作れるっぽい。以下のページを参考に自分でも作ってみた。日本語Epubブック…

マージソートの図解

つい先日、マージソートするコードを初めて書いたので理解したことを図で記しておく。マージソートについては、以下のリンクなどを参照。 マージソート - Wikipedia実際にコードを書くにあたっては、code codexの各言語毎のコード例が参考になった。 マージ…

Strategyパターンによる汎用性の高いマージソートの実装(VB6)

vb6

VB6でマージソートするクラス書いた。ソースコードは以下のような構成(クラス図として正確かどうかは自身がない) Javaの ISorter ソートアルゴリズムのインターフェース。 このインターフェースによりソートの機能を利用するコードとソートアルゴリズムの…

iPhone4を手に入れたら絶対にやっておくべき「iPhoneを探す」ための設定

先日、酔ってiPhone4を無くしてしまいました。 てっきり、AppleのサイトかSoftbankのサイトでGPS使って探せるものとばかり思ってましたが、事前に Mobile Me への登録*1や iPhone 本体側での設定が必要とのこと。 当然、そのような設定をやっていなかったた…

もう見逃さない! IT勉強会カレンダーをLightningに取り込み[オンライン]の勉強会を抽出する方法

IT勉強会、出不精のためなかなか開催している現地までいけないけないですが、[オンライン]の勉強会はUSTやニコニコで配信していたりしてるので、気軽に参加できて休日の時間があるときによく観ています。それらオンラインで参加できる勉強会を探すのにいいの…

2011年やっておきたいこと

まずは去年の振り返り WindowsでC/C++プログラミング MacでObjective-Cプログラミング Cygwinプロジェクトへのコントリビュート(パッケージのメンテナンスとか、ポーティングとかM17Nとか) Perl再入門 Lisp入門 Thunderbird拡張機能作る WindowsでのC/C++…

IEのfilterプロパティを使って「よりそれっぽい」ドロップシャドウをかける方法

ちょっと調べてみたところ日本語の情報ななかったのでここに書いときます。 (追記:探し方が悪かったみたい。ちゃんとあった... IEでCSS3のドロップシャドウを使いたい) IEには独自のCSSプロパティであるfilterでWebコンテンツにさまざまなエフェクトをかけ…

VBのIDEがクラッシュした後、「'VBxxx.tmp'を読み込めません。」となった状況を修復する

最近、VB6でOCXを開発しているがIDEがたまにクラッシュする。 そうすると、なにやら一時ファイルがゴミとして残ってしまうらしく、プロジェクトを開いたときに。 'VBxxx.tmp'を読み込めません。というわけのわからないメッセージを表示するようになって、開…

日本語も含めてマッチする正規表現(簡易版)

vb6

Function test(para) As Boolean Dim regex As RegExp Set regex = New RegExp regex.Pattern = "[一-龠ぁ-んーァ-ヶA-Za-z0-9\w]+" test = regex.test(para) Set regex = Nothing End Function ↓にあるように、正しくはないがおおむね使える。ものか…

ハンガリアン記法が嫌いだ

前提:VBでの話し。嫌いな理由は、単語の意味がパッと見たときにわかりづらい。 だいたい、strNameとかlngTimeとか、より単純に Name とか Time のほうがわかりやすいでしょ?ハンガリアン記法のメリットとして、「コーディング時に間違いに気づきやすくする…

予約語を変数名やプロシージャ名に使用する方法

たまたま見つけたので引用。VBScriptにおいて、通常、end とか and とかの予約語はVBでは変数名に使用することができない。 が、ブラケット("[", "]") で括ることで、予約語であっても変数名やプロシジャ名の識別子として使用することができる。 IDENTIFIER …

vb color(long値) を Webカラーの"#rrggbb"形式の文字列に変換する関数

vb6

なんかもっといい方法が無いものか...

Webページの要素間をスムーズにスクロールするやつ

仕事でjavascriptアニメーションしたくて、かといって、jQuery入れるにはいろいろ問題が、、、ということもあって、 自前で、easing関数を使ってスムースにスクロールするやつ書いた。sin()とかcos()とか、ぜんぜんわからなくてちょっと悲しかった。 以下の…

「情熱プログラマー」から、プログラマとして心に刺さった言葉

開発者を探す僕のレーダースクリーンにうつること以外に、実際の仕事で利用できそうもない非主流の周辺テクノロジに投資する意義が何かあるだろうか? 採用責任者である僕にとって第一の理由は、志願者が好奇心を持っているってことがわかる点だ。志願者が自…

キーワード追加した

フィードから広告などの見たくないエントリを除外するグリモン - 今日もスミマセン。 ↑にキーワードを追加 // お大事に '^http://subtech\\.g\\.hatena\\.ne\\.jp/cho45/': 'gerry',

フィードから広告などの見たくないエントリを除外するグリモン

昨日作ったフィードのタイトルに"※※※※※"が含まれるエントリを除外するグリモンを汎用的な作りにした。これで、広告エントリとか見たくないエントリを除外することができる。 使用例 除外されたエントリは一覧の最後に「除外されたエントリ」という疑似エント…

フィードから伏せ字("※※※")エントリを取り除くグリモン

このエントリを公開した直後、プレミアムと非プレミアムのフィードが分離して伏せ字エントリは流れてこなくなったので、実質的このスクリプトは無意味なものになってることに気づきました。...で、もうちょっと汎用的なスクリプトに書き直しました。MOONGIFT…