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

WebSocketが切り開くネイティブアプリとWebアプリの融合、ネイティブアプリのGUIツールキットとしてのHTML

……というネタを思いついたので、既に同じ事を考えている人は沢山いるだろうけど書いておく。WebSocketについては「Ajaxをより便利にするもの」という見解が多い。確かに通信のオーバーヘッドの削減やクロスドメイン通信が簡単なこと、サーバからのプッシュが…

結局、C言語のポインタはどこが難しいのか?

何やら最近C言語のポインタが熱いらしいので、自称Cプログラマとして書き残しておこうと思う。私はポインタについて余り苦労することなく使ってきた人で、というかむしろポインタが無いと困る。構造体を引数にとる関数の仮引数はポインタで、リストやツリー…

サピア=ウォーフの仮説とプログラマのメンタルモデルの関係(試論)

あるいはプログラマ(プログラミング言語の話者)にサピア=ウォーフの仮説的な症状がみられる原因の考察。 プログラマにとって高水準言語はコンピュータを覆う抽象化層であり、ユーザインタフェースである。 高水準言語によって抽象化されたコンピュータの…

あの頃君は若かった:『標準MS-DOSハンドブック』と「OJTで新人を育てる」方式の罠

図書館で『標準MS-DOSハンドブック』を発見したので勢いで借りてみた。標準MS-DOSハンドブック (ASCII ハンドブックス)作者: アスキー出版局出版社/メーカー: アスキー発売日: 1984/07メディア: 単行本購入: 1人 クリック: 4回この商品を含むブログを見る198…

Java Servletのサンプルコード、Java抜き。

JettyというJavaで書かれたWebサーバというかJava Servletコンテナを触っている。目的はWebSocketのサーバ側実装だ。候補としてNode.jsも考えたのだけど、全く未知の世界に足を踏み入れようと思ってJettyにした。どのあたりが未知の世界かというと――Javaのコ…

書籍購入:泥縄式。『jQueryクックブック』

急遽jQueryを使うことになり、泥縄式で対応した。再び同じ罠に嵌らないように何か適当な一冊を買うことにした。HTML5に関しては『HTML5クックブック』が役に立ったので、験を担いでクックブック繋がりで本書を購入。jQueryクックブック作者: jQuery Communit…

書籍購入:もうそろそろ本格的にES5の時代? 『JavaScript 第6版』と『JavaScriptリファレンス 第6版』

第5版には並々ならぬお世話になりました。今後は第6版に期待する方向で。JavaScript 第6版作者: David Flanagan,村上列出版社/メーカー: オライリージャパン発売日: 2012/08/10メディア: 大型本購入: 12人 クリック: 252回この商品を含むブログ (18件) を見…

夏休みの工作:小型スピーカー組み立て

夏休みなので工作なんぞやってみた。そういえば夏休みに自由研究をしたことはあれど、工作は初めてだ。何をするかというと、まず『DigiFi No.7』付属のUSB DAC付きパワーアンプを狙っている。DigiFi(デジファイ) No.7 別冊ステレオサウンド出版社/メーカー: …

組込み系でクライアントサイドしたいJavaScript素人へのJavaScript開発入門の補講

世の中にはJavaScript入門の記事や本なんて山ほどあるし、ググればツールの情報も色々と出てくる。プログラマなら例えJavaScriptの素人であっても何とかなるぐらいのネタはある訳で、今さら同じようなことを書いても無駄だろう。なのでこのエントリでは、 組…

書籍購入:『Linuxで動かしながら学ぶTCP/IPネットワーク入門』

LinuxのNetwork Namespaceについての参考資料として購入。Linuxで動かしながら学ぶTCP/IPネットワーク入門作者:もみじあめNextPublishing Authors PressAmazon本来意図しているだろう「TCP/IPネットワークの入門書」としては……個人的に、TCP/IPまわりは独学…

書籍購入:そろそろ『HTML5クックブック』で差分学習

仕事絡みで本腰入れてHTML5を使うことになった。HTML4やXHTML 1.0あたりの頃にそれなりに勉強したので、そこからの差分を逆引き的視点で俯瞰できる本が欲しくなった。何冊か立ち読みした結果、この本が目的に合致していたので購入。HTML5クックブック作者: C…

書籍購入:第3のLisp方言となるか? 『プログラミングClojure』

仕事絡みでJavaの世界に接近遭遇する可能性が増加中で、しかしJavaは素人同然だしJDKをインストールしていないので泥縄式に代替言語各種(Clojure、Groovy、Scala)を弄くっている。Common LispやSchemeの本を大量に積読している自分としては特にClojureが気…

改めてvimでGroovyのコードを書く為の準備 2012年版/勉強用にちょっとしたスクリプトを書きたい人向け

vimでGroovyのコードを書けるように準備しようと情報を漁ってみたのだけど、微妙に内容が古いようだ。例えばGroovyの公式サイトにvim用のプラグインが2つ掲載されているのだけど、最近のvim(例えばKaoriya版)を使っているならシンタックスハイライト用のプ…

groovy.vim(ftplugin)はGROOVY_HOMEを設定しないと使えない。なので直してみた。

多分quickrun.vimを使っている人の方が多いと思うので、需要は無いだろうけど書いておく。vimでGroovyのコードを書く為のプラグインとしてGroovyの公式サイトでも触れられている「groovy.vim : Runs or compiles Groovy scripts.」というものがある*1。最近…

Sizka Super-microDXにUbuntu 10.04 LTS serverをインストールできなかった

Super-microDXにてコンパクトフラッシュにUbuntu 10.04 LTS serverをインストールしようとしたら色々とトラブルが発生したので諦めたでござるの巻。地雷3個目でめげた。ちなみに何でこいつをインストールしようとしたかというと、単に使い慣れているUbuntuで…

Ubuntuで音が出ないWMV(Windows Media Video)を音が出るフォーマットに変換する

問題編 手元のUbuntu 10.04はWMV形式の動画を再生できるようにしてあるのだけど、時々コーデックの関係か音声が再生されないファイルがある。大概は音声コーデックとしてWMA(Windows Media Audio)9が使われていて、ライセンスの関係でUbuntuにはこれ用のコ…

GNU Makeで集合演算

GNU Makeはテキストを「空白区切りの単語の集合」として扱うことが比較的容易だ。組み込み関数*1を使うと簡単な集合演算を簡単に実現できる。 集合を作る 単純に空白区切りで単語を並べれば、GNU Makeではそれが集合となる。ただ組み込み関数を使う都合上、…

Javaで動作する各種言語処理系の手動インストール方法メモ

個人的にここ最近Javaプラットフォームで動作する言語処理系に触れることが多い。といっても仕事じゃなくて個人的な勉強――という名の趣味の範疇なのだけど。で、ちょっと困ったのがインストール方法。インストーラ付きのパッケージもあるのだけど、趣味やら…

構造体の定義のネストで移植性の壁に衝突した話。extern "C" にも限界はあるのさ……。

C90相当のC言語で実装したライブラリがありまして、C++でアプリを作る際にこいつをちょろっと使っちまおうと考えたわけですな。ところがそのライブラリのヘッダファイルにこんな感じの構造体の定義が書かれていたのです。なんてことでしょう。 /* test.h */ …

書籍購入:『Windows Sysinternals徹底解説』

副業が社内サーバの管理者見習いということもあって、この手の本は面白そうだし類書が少ないし買わないでいると絶版になってしまいそうなので購入した。WINDOWS SYSINTERNALS 徹底解説 (Microsoft Press)作者: Mark E. Russinovich,Aaron Margosis,山内和朗…

書籍購入:『リーダブルコード』が売れればブログのネタが減る

よい本ですね……多分『Code Complete』や『Code Craft』あたりを持っている人も本書を買っておいて損はないかと。リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者: Dustin Boswell,Trevor Foucher,須藤…

時代遅れひとりFizzBuzz祭り CoffeeScript編

時代遅れひとりFizzBuzz祭り、今回はCoffeeScriptだ。前回までのJavaScript de 処理系ネタからの惰性で選択したことは秘密なのだ。ネットでCoffeeScriptについて情報を漁ると、肯定的な意見もあれば否定的な意見もある。否定的意見については「言語として全…

値段の割にはそこそこ良い音かも:JVCケンウッド HA-FX12-B

id:eel3:20110220:1298295325 で購入したTDKのTH-EC30SLがお亡くなりになった。左側だけ音が無茶苦茶小さくなったのだ。こいつは購入当初から「長時間連続使用していると左側の音が出なくなる」という症状を抱えていて、亡くなったのが左側だけに何か関連が…

sng(PNGのマークアップ言語SNG用コンパイラ)をWindowsに仮移植し、MinGWでビルドする

id:eel3:20120615:1339768796 でzlibをビルドし、id:eel3:20120616:1339815893 ではlibpngをビルドした。全てはWindowsでsngを使う為に……ソ○モンよ! 私は帰って来た!SNG(Scriptable Network Graphics)というマークアップ言語というかミニ言語がある。PNG…

libpng-1.2.49、libpng-1.5.10をMinGWでビルドする

id:eel3:20120615:1339768796 にてMinGWでzlibをビルドした理由はlibpngを使う為だ。zlibと同様にlibpngのバイナリもLibPng for Windowsで入手できるものの、こちらも微妙に古い。しかもセキュリティホールが残っているバージョンだ。そこでlibpngも最新版を…

zlib-1.2.7をMinGWでビルドする

Windows上でzlibが必要になった。libpngを使おうとしたら依存関係の都合でzlibも欲しくなったのだ。zlibのバイナリは例えばZlib for Windowsなどで入手できるものの、微妙に古い。そこで最新版だと思われるzlib-1.2.7をMinGW*1でビルドすることにした。ソー…

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

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

書籍購入:そろそろPDFも積読しとくか……『PDF構造解説』

以前よりPostScriptは個人的興味の対象で、2冊ばかり積読している。で、この度PDFについての本が出るというので絶版になる前に積読すべく購入。PDF構造解説作者: John Whitington,村上雅章出版社/メーカー: オライリージャパン発売日: 2012/05/25メディア: …

時代遅れひとりFizzBuzz祭り JavaScript on PhantomJS編

時代遅れひとりFizzBuzz祭り*1、全3回*2のJavaScript de 処理系ネタもこれで最後。今回はヘッドレスブラウザのPhantomJSだ。こいつはクライアントサイドJavaScriptなのかそうでないのか微妙だ……どちらかというと「JavaScriptのコードでブラウザを操作する」…

「クリップボードのテキストをGnuPGで復号化」の代替品を作る

問題編 仕事でGnuPGを使用している。Windows上で使うこともあり、今までは古いWinPT*1を使用していた。鍵の管理はWinPT経由で行い、メールの暗号化/復号化にはEnigmailを使用し、ファイルの暗号化/復号化は内製のツールを使用していた。古いWinPTを使って…