テキストエディタ「SciTE」についてのメモなど

「SciTE」というテキストエディタがあります。 このエディタはプログラミングに向いていて、軽量だと思うので、さらに便利にするための設定などを書いておきます。環境は、Ubuntu 9.10を想定しています。(10.04が出ていますがまだ使っていません...)インスト…

Prologという言語を試してみる

Qiには、標準ライブラリとしてPrologのインタプリタが搭載されているらしいので、 Prologについて、調べながら少しずつやってみました。 Prologってどんな言語? Prologは、「論理型言語」と呼ばれる言語で、「事実を元に質問の答えを出す」ということをする…

Lisp系の言語「Qi」をインストールしてみる

パターンマッチ、カリー化などの機能があり、オプションで静的型付けも使えるLisp系のプログラミング言語「Qi」というのがあるのですが、情報が少ないので、 インストールしてみることにしました。 Ubuntuにインストールします。 QiはCommon Lispで作られて…

Common Lisp処理系「ECL」のビルド、インストール

「ECL(Embeddable Common Lisp)」という、実行ファイルを生成可能なCommon Lisp処理系があるので、インストールしてみました。 わかりにくい文章だと思いますが、一応、手順を書いておきます。環境はUbuntu 9.10を想定しています。 必要なソフトのインストー…

GaucheでOAuthを使ってTwitterに投稿する

自分がGaucheでOAuthを使うために試行錯誤していたら、 id:SaitoAtsushiさんがGaucheでOAuthを使うコードを書いてくれていたようなので(http://d.hatena.ne.jp/SaitoAtsushi/20100429/1272545442)、 そのコードを元に、Twitterでつぶやくコードを作ってみま…

クラウドコンピューティングに対する不安など

最近、クラウドコンピューティングというものが話題ですが、自分はそれに対して、不安を持っています。 それは、クラウドコンピューティングによって、プログラミングなどの技術が、一般の人の手の届かない「雲の上」に行ってしまわないか、ということです。…

プログラミング言語「PCASTL」をUbuntuでビルド、使ってみる

PCASTLという言語を見つけたので、ビルド方法などを書いておきます。 今回は、Ubuntuでビルドしてみます。 必要なパッケージのインストール PCASTLのインタプリタはreadlineを使っているようなので、ビルドする前にそれをインストールしておきます。 「sudo …

Common Lisp処理系「XCL」についてのメモなど

一つ前の記事でビルド方法を書いた、Common Lisp処理系「XCL」のメモなどを書いておきます。 関数をコンパイルして高速に動作させる とりあえず、 (defun tak (x y z) (if (<= x y) y (tak (tak (- x 1) y z) (tak (- y 1) z x) (tak (- z 1) x y)))) この関…

Common Lisp処理系「XCL」のビルド

Common Lispの処理系に「XCL」というのがあるらしいので、ビルドして使ってみました。 この処理系は情報がとても少ない気がします。Ubuntu 9.10でビルドすることを想定して書いておきます。 ビルドに必要なソフトのインストール まず、「sudo aptitude insta…

UbuntuでCanon MP630のスキャナを使う

この方法もすでにどこかで書いている人が居ると思いますが、一応書いておきます。CanonのページでLinuxドライバが公開されているので、それをインストールします。 ドライバのダウンロードページの「http://cweb.canon.jp/drv-upd/bj/mpsglinux120.html」を…

Javascriptで、自分自身を書き換える関数ができた。

自己書き換えみたいな感じのプログラムです。 これはいろいろな応用ができそうなので、ここに書いておきます。 function selfmodify() { var str = arguments.callee.name + " = function() {\ return \"bbbbb\";\ }"; eval(str); return "aaaaa"; } alert(s…

UbuntuでCanon MP630のプリンタを使う

MP630のプリンタを使う方法を書いておきます。 すでに他のブログで書かれているようですが、一応、自分が使った方法を書いておきます。http://love-satchin.org/archives/2009/04/01/20090401_1936231443/ ここと、http://joze.cocolog-nifty.com/joze_blog/…

Firefoxのキーバインド設定など

Firefoxをキーボードで操作しやすいように、「Shift+J」で下にスクロール、「Shift+L」でスクロールするように設定をしてみました。 方法を書いておきます。 必要なアドオンをインストール まずは、キーバインドを変更するアドオン「keyconfig」を「http://m…

MSYSにAutoconf、Automakeなどをインストール。

Gaucheにパッチを当ててビルドするのに必要らしいので、インストールしてみました。 http://homepage3.nifty.com/zus/OpenOCD_Build_win32_Main.html ここを参考にしています。まず、「http://sourceforge.net/projects/mingw/files/」のページを開いておき…

Gaucheにマルチスレッド対応化パッチを当てようとして失敗

「http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aWindows%2fMinGW%3apthread対応」(ごめんなさい。「対応」の部分も含めてURLです) ここを読んでみると、 WindowsでもGaucheでマルチスレッドが使えるようになる方法のようなので、試してみたので…

TwitterのbotをGaucheで書き直してみた

「ニコニコ動画にVOCALOIDオリジナル曲の動画が投稿されたのをお知らせする」という、Twitterのbotを去年の12月ごろに作ったので、それをGaucheで書き直してみました。 「こんなbot公開していいのか」と怒られそうなほど欠陥だらけですが・・・ 実は、自分で…

GaucheでAtomを読み込む

最近Gaucheで作ろうと思っているプログラムで、XMLを読み込む必要があるので、その準備の意味も兼ねて適当に書いてみました。 http://d.hatena.ne.jp/myomi/20080505/1209995681 ここを参考にして書いてみました。 ; Atomを読んでタイトルを表示する (use sx…

GaucheでTwitterに投稿する

絶対にすでに誰かやっていると思いますが、Gaucheを使ってTwitterに投稿するプログラムを書いてみました。 PerlやRuby、Pythonのような、スクリプト的な用途はSchemeが便利です。 ; Twitterに投稿する (use rfc.http) (use rfc.base64) (use rfc.uri) (defin…

ライターを分解して圧電素子を取り出す

圧電素子が欲しくなったのでライターを分解して取り出してみました。 マイナスドライバーだけでやっています。 注意:分解する時は、ガスが残っていないライターでやってください。 分解したのはこのライター。使用済みのライターを父にもらいました。 まず、…

WindowsにDarcsをインストール

Haskellで書かれたバージョン管理システム「Darcs」をWindows 7にインストールしてみました。方法を書いておきます。まず、Darcsをダウンロードします。 Darcsのバイナリ配布ページ(http://wiki.darcs.net/Binaries)の「for Windows without Cygwin」の、「d…

MinGWでOpenCV 2.0を使ってみる

前から、画像認識やARなどに興味を持っていたので、OpenCVをインストールして使ってみました。インストール方法を書いておきます。 Visual C++から使うよりもこっちのほうが簡単だと思います。まず、http://sourceforge.net/projects/opencvlibrary/ からイ…

MinGW+MSYSでzshをコンパイルしようとして失敗

MSYSに最初から入っているbashでは日本語が使えないので、日本語が使えるらしいzshをなんとか入れようとしましたが失敗しました。試した方法は、まず、http://sourceforge.net/projects/zsh/files/からzshのtar.bz2ファイルをダウンロードして、 「tar jxvf …

WindowsのMinGWでlibcurlをインストール

遅くなりましたが明けましておめでとうございます。 MinGWをインストールしたフォルダがC:\MinGWでない場合は読み替えてください。 httpやhttpsなどを簡単に扱えるライブラリ「libcurl」というものがあるのでそれをインストールします。 libcurl、特にWindow…

MinGWでOpenGLやGLUTを使ってみる

Visual C++でGLUTを使う方法はたくさん書いてあっても、MinGWで使う方法はあまり無いので書いてみました。 「C:\MinGW」はMinGWをインストールしたフォルダに読み替えてください。 本家GLUTは更新が止まっているようなので後継というか互換というかのFreeGLU…

Clojureを入れてみる

Lispの「構文の統一性」と、Javaの「豊富なライブラリ」を併せ持つと期待している言語、 「Clojure」を導入してみました。 Googleで検索して出てきた情報は最新版ではなかったので、無理して最新版を導入します。まずは、Clojure公式サイト http://clojure.o…

IEでアクセスするとページ全体が見れなくなるJavascriptを書いた

IE F*CK!!!ということで適当に書いてみました。 if (navigator.userAgent.match (new RegExp ("MSIE [0-9]"))) { document.body.innerHTML = "<font size=\"big\" color=\"red\">IEを使うことは、Webサイトを作る方々にとって迷惑です。このページを見たい場合は、他のブラウザを利用してくだ</font>…

.NET版Scalaについてのメモみたいな何か

.NET版Scalaについて。 C#の、 string hoge { get { return "hogehoge"; } } みたいなことは、 object PropertyTest { private var h: Int = 0 def a = h def a_= (h: Int) = { this.h = if (a < 10) 100 else 0 } def main (args: Array[String]) = { a = 1…

ScalaでProject Eulerをやってみる。

アルゴリズムや数学みたいなのもやっておかないといけない気がしたので、 とりあえずScalaでProject Eulerの最初の二問をやってみました。 ちなみに、一応関数型っぽい書き方をしようと思ったので、再帰を使うなどいろいろと心がけてます。 まずはProblem 1…

新しい携帯電話の形を考えてみた

携帯電話を利用するには、Docomoなどの設備(基地局等)を利用しなくてはいけないというのが気に入らない。 ということで考えてみた方式。 携帯電話を利用する人は、自宅にアクセスポイントを設置して公開しなくてはならない。 公開されたアクセスポイントは他…

Gaucheでメール送信

ネットをしている途中に寝てしまわないようにするための対策は何かと考え、 「10分ごとに自分の携帯にメールを送ればいい」と思い、適当にGaucheで書いてしまいました。 ソケット通信を使ってSMTPプロトコルを使います。 エラーが起きても無視の適当なコード…