2014年1月13日月曜日

WandboxをEmacsから操作するライブラリを作った

遅めの年始のご挨拶。あけましておめでとうございます。

オンラインコンパイラ Wandbox を Emacs から操作するライブラリを作ってみました。最初のコードを書いたのは11月なのですが、修正するうちにだいぶ使い勝手が良くなってきたので、gist から GitHub に移動しました。
インストールすることで、各種コンパイラをインストールせずに、Emacs 上でコード片を実行することができるようになります。当然ですがネット環境が必要です。

インタラクティブな操作 (M-x) もできますが、*scratch* バッファなどで wandbox-compile 関数を使った方が細かいコンパイル指定ができるのでオススメです。使い方は付属の README を参照してください。

おまけ機能として、引数を Common Lisp (CLISP) の S 式として実行するためのマクロ wandbox-eval-with なんてものも用意しています。wandbox-eval-region と似たような機能ですが、最後の S 式の結果も出力されるようになっています。:stdin などの追加オプションも指定可能です。ただし Elisp にない構文など(文字リテラル #\a とか)は引数に使えません(出力はOK)。

;;; *scratch*
(wandbox-eval-with (:stdin "HELLO\nWorld")
  (do ((c #1=(read-char nil nil :eof) #1#))
      ((eq c :eof))
    (format t "~s " c))
  )

;;; *Wandbox Output*
<<< program_message >>>
#\H #\E #\L #\L #\O #\Newline #\W #\o #\r #\l #\d
NIL

<<< status >>>
0

2013年11月10日日曜日

Nokia Lumia 920 を購入

Lumia 920
去年初めに購入したタブレット (A01SH) のバッテリーがやらてしまったらしく、アダプタをつなぎっ放しでないと10分ともたない半据え置き状態になってしまいました。他にも処理速度が遅いとか色々あって、そろそろ替え時かなということで前から気になっていた Windows Phone 端末である Nokia Lumia 920 を買ってみました。比較的値段の安かった1shopmobileから取り寄せして、休日を含めて4~5日かけて届きました。

上の写真を見てわかるとおり、本体カラー黄色はけっこう目立ちます。今まで重量のあるタブレットを持ち歩いていたせいか、重さ185gはあまり気にならないです。あと、カメラレンズが優秀で暗所での撮影や接写がキレイに撮れます。

「設定>エキストラ+情報」を覗くと製造元の名前が「RM-821_eu_italy_310」とあるので、どうやらイタリア版らしいです。とはいえ設定すれば日本語表示もキーボード入力もそれなりに使えますし、日常用途には問題ないと思います。

Lumia 920はLTE対応のsimフリー端末ということで、試しにIIJmioのデータ通信専用simも追加で購入。 APN設定をしてしばらく待つとちゃんと電波を拾ってくれるようになりました。場所によっては4G表示も現れるんですが、Speedtestの結果が3Gの時と変わらないのでLTEが利用できているかは微妙な感じでした。また、セルスタンバイ問題に引っかかったらしく、自宅付近では通信可能なのにアンテナピクトが圏外表示になる状態に… (参考: てくろぐ: アンテナピクト問題・セルスタンバイ問題とは何か)。それ以前に技適で引っかかるということならばsimをポケットWiFiに差し替えて利用する形になるかも。

Windows Phoneのデザインは個人的にかなり好みで使いやすいと思うんですけど、日本のキャリアでほとんど展開されていないおかげでアプリの数が圧倒的に少なくて、色々かゆい所に手が届かないのがどうも痛いです。標準地図アプリはアレだし、Flashも使えないしね。でもまあ、それらのマイナス面を補えるくらい弄っていて面白い端末だと思います。

2013年7月12日金曜日

newLISP部屋@Lingr

なんとなく作ってみました。

newlisp に関して質問があれば、どなたでも気軽にどうぞ。

はたしてメンバーが増えるのだろうか

2013年4月9日火曜日

newLISP for Windows x64

年明けに言っていた、Win64向けに対応させたnewLISPのソースコードとバイナリを試験的に公開してみます。ライセンスは配布元と同じくGPLv3です。

newLISP for Windows x64

また、最近になって本家の v.10.4.7 からWin64をサポートする動きが見られるため、それが叶ってしまえばこのページはお役御免ということになります(参考)。

2013年2月4日月曜日

英数字を180度回転した文字を表示

twitter→ɹəʇʇɪʍʇのように英数字を180度回転して表示する方法 という記事を見かけたのでxyzzyに移植してみました。ネタ被ってないよね?

やってることはROT13などと同じで、連想リストを利用した単純な文字の相互変換です。 ただし、xyzzyではバッファに出力すると化けてしまう文字が幾つかあるので、その辺は適当に作ってます。

おまけとして、Emacsから移植したzone.lと組み合わせたコードも載せてあります。下の実行例を見てみると、なぜか特定の文字が変換されなかったりするようですが…。まあ書き捨てのコードですので勘弁してください。

newLISP版もあります。こっちはUnicode文字列を直接扱えるので若干コードがさっぱりしてます。

使い方

  • M-x: flippy - ミニバッファに入力した文字がステータスラインに反転して表示される
  • M-x: flippy-region - リージョンに対してFlippyを実行する

2013年1月19日土曜日

あけまして

おめでとうございます。一月がもう三週間経ったとか信じたくないわー…。

去年のことを振り返ってみると、ほとんど外に出て活動しなかったなあと反省する次第ですね。

とりあえず、newLISPのソースコードをおもちゃにして遊んでいるのに区切りをつけて、どこかに纏めて公開したい。というのが当面の目標です。

2012年5月29日火曜日

IPv6セミナー + Hackathon in 新潟にちょこっと参加

してきました。5月26日土曜日。

IPv6セミナー + Hackathon in 新潟(第26回) - 長岡 開発者 勉強会(NDS)

内容としては、午前はIPv6についてのセミナー、午後はIPv4/6のネットワーク環境を利用したハッカソン。 夕方からハッカソンの発表会を兼ねた懇親会というもの。

午後のハッカソンではネットワーク環境として IPv4/IPv6 のデュアルスタックな WiFi ネットワークや仮想専用サーバが提供されていて、参加者各々が自由にプログラミングしてました。(パソコン持ってきてたら使いたかった…)

この勉強会の存在を知ったのが前日の金曜だったので、私は「とりあえず午前のセミナーだけでも参加してみようかな」という感じで行ってきました。所持品はタブレット(GALAPAGOS, Android 3.2)のみ。

午前のセミナーを見たらさっさと帰ってもよかったんですが、結局ハッカソンの様子を見ようという理由をつけて午後の部にも居残りしてました。とりあえず手持ちのタブレットのブラウザでIPv6が利用できるかどうかを試してみることに。

結果は以下:
  • IPv6オンリー WiFi には接続はできるが、ブラウザの表示は出来ない
  • デュアルスタック WiFi には接続できた。
    リモート診断君v6 で確認してみると、どうやら IPv6 での接続が優先されるらしい。
    もちろん IPv4 経由での通信も可能。ホスト名が ***.ginzado.ne.jp だったことから銀座堂さん提供のネットワークだということが判明。
  • 定番(?)であろう踊るひろゆき踊るカメさんを確認。

ついでに IPv6 を利用できる Androidアプリも確認してみる:
アプリ名 IPv6 対応 備考
IPv6 and More IPv6 対応のネットワークツール
SSHDroid × SSHサーバ。IPv6に関する設定は見つからなかった。
ConnectBot SSHクライアント。端末との相性が悪いのか、IPv4 すら利用できなかった。
この辺でタブレットのバッテリーが切れてしまったので会場からログアウト。おとなしく家に帰りました。

ふっと現れてふっと消える幽霊みたいな参加者でしたが、こういう勉強会(+ハッカソン)に参加する機会があまり無かったので、雰囲気を掴むには良い機会だったのかなと思います。参加された皆さんお疲れ様でした。


追伸:昼に食べた長岡のカレーうまかったです。