2011-01-01から1年間の記事一覧

書籍購入:iPadアプリ開発が一段落付いてからObjective-C等の本を買う

いや、急だったので事前に本を買えず、開発中は本を借りて何とかやり過ごしたのだが、そう頻繁に借りる訳にもいかないので*1、手元に2〜3冊揃えておこうと考えたのだ。まずObjective-Cでお世話になったこの本。詳解 Objective-C 2.0 改訂版作者: 荻原剛志出…

iPad Core MIDIネットワーク通信アプリ開発始末記

色々あってCore MIDIを使ってネットワーク経由でMIDIを送信するiPadアプリを作ったので、メモを残しておく。開発にはXcode 4.0.2を使用した。 MIDIの送信 MIDIを送信する方法は、Mac OS XでCore MIDIを使う場合と同じ。 MIDIClientCreate()でMIDIクライアン…

コンソールとフィルタが大好きなプログラマ(==自分)の為のObjective-C入門以前

iPhoneやiPadが今の所人気があることもあり、そのアプリケーション実装言語であるObjective-Cを触ってみようかと思うプログラマはまだそれなりにいるだろうし*1、特に注目していなかったけど今更ながら業務都合で……という事情の人もいるだろう。というか後者…

定義ファイルの公開は難しい:エディタとシンタックスハイライトに関する考察

プログラマの端くれなので、使用するテキストエディタには大抵シンタックスハイライトの機能が付いている。世の中には沢山のプログラミング言語が存在するわけで、大抵のエディタはシンタックスハイライト等の定義を追加できるようになっている。追加した定…

vimにWindows PowerShellの編集環境を追加する

これも備忘録。id:eel3:20110701:1309532287 のGoに続き、今度はPowerShellの編集環境を整えてみたので、その作業内容も記録しておく。しかし何というか、vimでWindows用のプログラミング言語の類を編集するというのも妙な気分ではある。でも便利だからなあ…

vimにGoogle Goの編集環境を追加する(後だし増補版)

これは備忘録。Windows上のvim香り屋版にGoogle Goの編集環境を整えたのだが、ネット上に日本語のまとまった情報を見つけられなかったので*1、作業内容を記録しておく。基本方針はこんな感じ。 現在は、追加した編集環境を使用する。 将来、Go編集モードが最…

ラインエディタ体感ツアー――vi/vimの「動作モード」なるものの謎に迫る

相変わらずvi/vimの操作方法は初めて使うユーザを惑わせるものだ。よく「viには動作モードが2つある」的な説明がされる。「ノーマルモード」と「入力モード or 挿入モード」だ*1。この説明は昨今のユーザにも理解しやすいものだが、しかし「何でそんな『動作…

カーナビ三部作その3:microSDHCにMP3ファイルを書き込む順番で苦労する

id:eel3:20110619:1308413539 の続き。何やら妙なところで色々と苦労したものの、遂にMP3をmicroSDHCに書き込めるようになった。なので早速フォルダごとMP3ファイルをコピー……とはいかない。このmicroSDHCはカーナビで使うのだ。カーナビ――そう、相手は組み…

カーナビ三部作その2:Ubuntu 10.04 LTSでUSBカードリーダーライター経由でmicroSDHCを使おうとしてつまづく

id:eel3:20110618:1308377037 の続き。前回までの作業で、Ubuntu上でCDをリッピングしてMP3化する環境を構築できた。しかし安心するのはまだ早い。十分な容量のSDメモリカードを持っていないし、作業するPCにSDカードリーダーの類は付いていない。肝心のハー…

書籍購入:SchemeとUNIX、理論と実践の狭間にて

計算機科学にしろソフトウェア工学にしろ、正規の教育を受けたことは殆どない。「殆ど」というのは、職業訓練で半年ほど情報処理の勉強をしたことがあり、その時の講師陣の多くが職業能力開発短期大学校の情報技術科の指導員だったからだ。ごく短い時間だっ…

カーナビ三部作その1:Ubuntu 10.04 LTSでCDをリッピングしてMP3にしようとしてつまづく

「カーナビ三部作」となっているが、カーナビ絡みだがカーナビとは斜め45度ぐらいの方向にて苦労した話だ。カーナビにSDメモリカードのリーダが付いていた。SDメモリ内のMP3ないしWMAファイルを再生できるらしい。そこで手持ちのCDをリッピングしてMP3に変換…

書籍購入:『Coders at Work』を読んで、彼も人の子だと悟る

ブームなのだろうか、ここ暫くプログラミング関連の書籍でアンソロジー(いろいろな人が書いたエッセイを1冊にしたもの)やインタビュー集が出版されている。そして何故か出るたびに購入している。Coders at Work プログラミングの技をめぐる探求作者: Peter…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.3

2011/06/11現在のステータス。 id:eel3:20100614:1276517766 から1年経て、こうなっている。 よく使っている AWK (gawk) 単純なテキストレコードの処理にはAWKで十分。自作ツール実装での使用頻度は減りつつあるが、依然としてワンライナーでは重宝している…

Windows・Busyboxのtftpクライアントの使い方

これは備忘録。仕事の都合でtftpを使うことになった。Linuxマシンにtftpdを立てて、クライアントマシンからtftpでファイルを取得するのだ。クライアントが組み込みLinuxで、Busyboxのtftpぐらいしかファイル転送用のツールが無かった*1。この準備の過程でコ…

「A && B || C」の評価結果に気をつけろ:"warning: suggest parentheses around '&&' within '||'"

もう5年以上C言語でコードを書いていて、しかも今ではそれで収入を得ている身だというのに、実は今まで「A && B || C」がどう評価されるのかイマイチ確信を持てていなかった。いや、Cの論理演算子は左から右に順に評価していくとか短絡評価されるとか、その…

Ubuntu 10.04のgvimが ~/.vim/after/ftplugin/*.vim を読み込……んでくれた!

id:eel3:20110317:1300326487 で ~/.vim/after/ftplugin に置いた *.vim なファイルが読み込まれなくて悩んでいたが、ようやく解決した。Ubuntu用のvimの設定一式をDebian 5.0にコピーしたら同じ問題が起きたので、これはほぼ間違いなく自分の設定に不備があ…

フローチャートの起源、フローチャートに関する言質の歴史

フローチャートといっても幾つか種類があるらしいが、プログラミングにおけるフローチャートの話だ。あの、アルゴリズムの教科書か何かに出てくるような、JISで記号が定められているアレ。フローチャートの起源はどこだろうか? 英語版Wikipediaのフローチャ…

『プログラム書法 第2版』に学ぶコメントの書き方の基礎

ゴールデンウィークなので折角だから借りてきた。プログラム書法 第2版作者: Brian W.Kernighan,P.J.Plauger,木村泉出版社/メーカー: 共立出版発売日: 1982/06/20メディア: 単行本購入: 1人 クリック: 166回この商品を含むブログ (31件) を見る──というのは…

REXX……というかReginaでワンライナーの方法が分からないので、力ずくで。

これは恐らくバッドノウハウ且つマイナーネタ。手元のWindows PCにはREXXの処理系としてReginaが入っているのだが、コマンドプロンプトからワンライナーする方法が分からない。 D:\tmp>regina -v REXX-Regina_3.5(MT) 5.00 31 Dec 2009 D:\tmp>regina -h Reg…

gcovの要約情報から欲しいものだけ抜き出す

過去に何度か書いているが、普段からgccとgcovをよく使っている。基本的にCプログラマなので仕事でCで書くことが多く、書いたソースのコンパイルチェックや単体テストにMinGWを使っているのだ。gcovを使うと未実行のパスが可視化されて便利なので、使ってい…

コマンドプロンプト上で「*.[ch]」の代替を模索する

これは間違いなくバッドノウハウ。 問題 あるディレクトリにC言語のソースファイルとヘッダファイルを含む数種類の複数のファイルが置いてある。そのソースファイルとヘッダファイルに対して、あるキーワードでegrepしたくなった。Linux上なんかでbash等のシ…

書籍購入:F#の道を邁進……のはずがJavaScriptづいてしまった

暫く前から関数型プログラミングは興味の対象で、Common Lisp・Object Caml・Schemeと非純粋関数型言語ではあるものの何冊か本を買って読んでいる。しかし中々捗っていない。一方でJScript・Lua・Rubyといった関数型言語的な側面を持つ言語を使用する機会は…

コレクションの大きさはプロパティLengthで取得するべきか、それともMeasure-Objectか?

PowerShellといえばオブジェクト・パイプで、オブジェクト・パイプといえばオブジェクトのコレクションだ。コマンドレットにはコレクションを返すものも多いし、それをパイプ経由でForEach-ObjectやWhere-Objectで処理することも多々ある。ところで、時々あ…

ubuntu 10.04 LTS使用中にマウスが壊れた時に安全にシャットダウンする方法

ubuntu 10.04でPCをシャットダウンする場合、通常は画面右上の電源マーク的なもの*1をマウスでクリックしてシャットダウンを選択するのだが、万一マウスが壊れてしまった場合はどうするべきか?ノートPCなのでタッチパッドが付いているとかUSBの替えのマウス…

メモリ長者を目指して16GB積んでみた

2010/08に組んだWindows 7マシンはメモリを4GB積んでいた。その頃のDDR3メモリはPC3-10800で4GB、PC3-12800で2GBのメモリモジュールが最大容量だった。せっかく64bit OSを入れたのでメモリを潤沢に積みたかったのだが、PC3-12800の4GBのモジュールが出るまで…

書籍購入:続編とは読みそうになくてもついつい買ってしまうもの

エントリ名の通り、読みそうにないけど続編っぽいので購入してしまった。ビューティフルデータ (THEORY/IN/PRACTICE)作者: Toby Segaran,Jeff Hammerbacher,堀内孝彦,真鍋加奈子,苅谷潤,小俣仁美,篠崎誠出版社/メーカー: オライリージャパン発売日: 2011/02/…

スクリプト言語にエントリポイント的なものは必要か?

エントリポイントというかメインルーチン――C言語いうところのmain関数、Javaだと「public static void main(String args[])」なメソッドに該当するものだが、スクリプト言語*1にも必要だろうか?言語仕様としては不要だろう。ごくごく短いスクリプトを書く分…

Notepad++のXMLファイルをソートして整形して出力する:ワシのコードは4発目まであるぞ

id:eel3:20110306:1299399719 のリベンジ。で、これで打ち止め。XSLTを使ってノードをソートした所、xsl:sortのソート順がNotepad++の要求する順序と異なっていて問題となった。あれから少し調べたものの、このソート順の問題をXSLTにて解決する方法は見つか…

Ubuntu 10.04のgvimが ~/.vim/after/ftplugin/*.vim を読み込まない?

C言語やC++を使うときはタブ(半角4文字分)でインデントするので、vimの標準設定(.vimrc にて設定)はそれに合わせている。が、言語によっては別の設定にしたくて、例えばRubyの場合は半角スペース2文字でインデントしたい。という訳でこんなファイル(rub…

書籍購入:非JavaScriptプログラマが読む『JavaScriptパターン』

仕事柄、業務命令でJavaScriptのコードを書く機会は無い。業務に関係する内製の小ツールや自分用のツールを作る時に「WSH + JScript」や「HTA + JScript」の組み合わせで使用するぐらいだ。ただ、そのような場合でもC/C++の延長*1ではなくJavaScriptらしいコ…