Category Archives: プログラム道

キャプチャツール 年度末対応パッチ リリースします!

【4月7日追記】

こちらのバージョンはすでに現行サイトに対応しておりません。2013年度対応バージョンを下記ページにて公開しておりますので、ご確認ください。
http://www.takanashi-it-factory.com/archives/1673

いつも NHKラジオ語学番組キャプチャツール をご利用いただきありがとうございます。開発者の高梨です。

昨日より、同ツールにてダウンロードできないとのご報告を多数いただいております。調査したところ、NHKサイト側に仕様変更があったようで、今までFlashプレーヤーに埋め込まれていた「ランダム文字列」が廃止されておりました。 (2013年3月25日追記:一度廃止になった「ランダム文字列」がその後復活しまして、現在はそれに対応した Ver.0.14.2を配布しています)

先々週までのトラブルは、主に弊社側の障害が原因でしたが、今回は配信元の仕様変更が原因になります。(弊社の事情に考慮した?そんなわけないか^^;)

今回の仕様変更に対応したパッチプログラムを配布いたしますので、お使いいただければと存じます。

適用方法ですが、下記リンクから get-flv.exe をダウンロードし、今までの get-flv.exe に上書きしていただくだけです。(2013年3月25日追記:この「上書き」の意味がわかりにくかったようで申し訳ありません。mp3, flv というフォルダが見えているフォルダ内に、下記リンクからダウンロードしたget-flv.exe をドラッグアンドドロップでコピーしてください。「上書きしますか?」との旨の確認メッセージが表示されますが「はい(Y)」をクリックしてください。)

https://nhk-rtmp-capture.googlecode.com/svn/trunk/get-flv.exe

適用されたかの確認は メニューバーで Help >Versionと選択し、

NHKラジオ語学番組キャプチャツール Ver.0.14.1 Ver.0.14.2

と表示されていればOK。

お手数おかけいたしますが、今年度内はこちらをお使いください。

ただ、来年度も近くなっておりますので、そのタイミングで再度仕様変更などあるかもしれません。その際はまた対応が必要になることも予想されますので、随時お知らせいたします。

今後ともよろしくお願いいたします。

クラウドを駆使してソーシャル図書室を作るまでの道筋 Part.2

こんばんは。小さい頃から図書館や書店で背表紙が並んでいる本棚を前にすると、ウ◯コを催してしまうくらい本が好きな高梨です。

さて、以前から寝かせていたアイデアではありますが、「個人間で書籍をシェアする」システムを作りたいなぁと常々思っておりました。で、技術的にこういうものを使えばできそうだ、という目処は立っていたんですが、実際に作るにあたって、あと2つほどクリアしなければならない点がありました。

一つは、「法律的に問題はないか?」という点です。基本的に、「何かが自由であることはいいことだ」と考える自由主義者の私ではありますが、さすがに

  • 出版社や作家に起訴されたり
  • 多額の賠償金を請求されたり
  • 挙句の果てにはブタ箱に放り込まれたり

してまでもそれをやりたいか、と言われれば、答えは

全力でNO (゚Д゚ )!!

です。なので、法律、今回の場合は特に「著作権法」に照らして問題がないかを確認する必要がありました。

今の時代便利なもので、法律も全部Webに載っております。そこで、著作権法を調べてみるとこういう記述がありました。

第三十八条
4 公表された著作物(映画の著作物を除く。)は、営利を目的とせず、かつ、その複製物の貸与を受ける者から料金を受けない場合には、その複製物(映画の著作物において複製されている著作物にあつては、当該映画の著作物の複製物を除く。)の貸与により公衆に提供することができる。

要するに、貸し出す人がその見返りにお金を要求したり、貸し出し料を設定したら、それはアウトなんですね。まあ私が考えていたのも「貸本屋を助ける」システムではなく、個人間で相互に貸し借りする、それも手渡しできるくらいの地理範囲のことを考えていたので、これはクリアしていると考えてよさそうです。

さて、たぶん法的にはOKなのはいいとして、もう一つ私にとって心配なことがありました。それは、「作ったはいいけど、果たして使ってくれる人が本当にいるのか?」ということです。まあ開店同時に引きも切らないアクセスがあるだろう、とは思いませんが、一般の本好きのニーズにマッチしているかのか、もしかしたらこんな変なことを考えるのは私だけで、だーれも使ってくれなかったら開発を続けるモチベーションを維持するのも難しいでしょう。

読書というのはどちらかというと家の中の、個人的な性格の趣味なので、例えばスポーツなどのように試合や練習で仲間に出会う、ということはありません。ましてやこの鴨川で、読書人というのは目立たないマイナーな存在です。人口の割に書店は多いので、たぶん人数はそこそこいると思いますが見つけるのが難しい。

しかし、これもよくしたもので、Facebookで鴨川在住の、きっと私以上に本キチwな人を見つけることができ、この構想を話してみたところ、大いに乗ってくれ、ぜひやりましょう! ということになりました。これで、「ユーザ数 永久ZERO人!」という事態は避けられそうです。ε-(´∀`*)ホッ

さあ、あとはサクっと設計してガリガリコードを書くだけ!・・・なんですが、ま、ここからが技術屋として「産みの苦しさ」を乗り越えなければならないところです。

あ、「もうひとつ大事なことがあるだろっ!それでどうやって金を稼ぐんだYO!? ヽ(`Д´#)ノ」という声が聞こえてきましたので、お答えしておくと、

「ほとんど考えてませんが何か?」┐(´∀`)┌

です。w 私も一応商売人のセガレですから、全然考えていないわけではないんです、もちろん。というより、もし収益の見込みがあったら、私より先に誰かがやっているでしょうし、私自身ももっと熱心になっていたでしょう。ただ漠然と、今のところ考えているのは

  • 他の地方自治体からお呼びがかかる(かもしれない)
  • これを作ることにより、弊社や私の知名度があがる(かもしれない)
  • 知名度が上がれば商売上有利になる(かもしれない)

というところです。

興味がまるで湧かなかったので、正確にそれを何というのかは忘れましたが 「評価経済社会」といって、最近は「有名になればなるほど幸せになれる時代」なんだそうです。まあ「自分よりフォロワー数の多い者には敬語を使え!」とのたまう人が現れるくらいなので、そうなのかもしれないなぁ、などとも思いますが、世に名を馳せるよりも「まずは自分が欲しい物を作る。そしてできれば多くの人にそれを使ってもらいたい」という感覚を大切にしようと思います。

「ドジョウプログラマ」でありたいなぁ

私のしていることがプログラマなのかはさておき、まあ田舎に暮らしておりますと、IT企業と言ってもパソコン購入の相談に乗ったりとか、ちょっとしたWebアプリを作ったりだとか、パソコンが壊れたから直してくれというのに対応したりとか、ホームページの更新の仕方を教えてくれとか、LANケーブルの配線からクラウドシステムまで、ありとあらゆることをしませんと、生活していかれません。

一昔前はプログラマ定年38才説だとか、いや35才だとか色々言われておりました。プログラマはそのくらいの年齢になると体力が低下し、ゴリゴリコーディングすることができなくなる、だから早々に見切りをつけてSE(システムの設計をする人)になった方がいい、というのが通説のように言われておりました。

確かに納期直前の慌しさとかエンバグ対応とかは、それなりにハードで、◯日間貫徹なんてこともあるんですが、それは概してプログラマが自由を求める人種であるからであって、悪く言えば納期前にならないとエンジンがかからないプログラマが大半(だと思うw)だからなんだと思います。

では、コーディングが嫌か、と言われれば、断じて”NO”です。私の同期の中にはいわゆる上流工程やクライアントとの交渉、マネージメントの方向に行ってしまった人たちもいるんですが、彼らがやっていることが面白そうだとは思わない。

問題のあるプログラムを調査して長いこと原因がわからなかったバグを潰したり、顧客と電話でやりとりしながらライブ感覚でコーディングしたり、時には自分用に作ったソフトを利用しやすい形に直して公開して大衆から絶賛を浴びたり、もうそういう感覚が楽しくってしょうがない。そりゃあ時には辛いことはありますけど、それはどんな仕事だってそうですし、それを補ってありあまる達成感はこの職業でなければ味わえないんじゃないかな、と思ったりもします。

だから、私はドジョウプログラマでありたい。

ドジョウのように泥臭く、お高くとまって喋ることばかりが上手な上流屋さんに堕することなく、最新の技術トレンドを追い、ワクワクし、鍛え抜いた集中力と、なぜか身についた勘を駆使しつつ、下手くそなコードを量産していたい。そして見積りはやや強気で出す。w

そんな風に暮らしながら、田舎でうまい魚食いながら年を取っていければ、最高だよなぁ、と思う今日この頃なのです。

10分じゃできなかった “Hello World” on JRuby/GAE までの長い道のり

Google App Engine が Ruby信者にとっての踏み絵に思えて仕方のない三寒四温の今日この頃、皆さまいかがお過ごしでしょうか。

Chiba.rb の会合をなんと鴨川でやるということになり、迂闊にもこんな発言をしてしまいました。

https://groups.google.com/group/chiba_rb/msg/ff7c6ebb9fe22058?hl=ja

高梨@鴨川です。
こしばさん、お誘いとご提案、本当にありがとうございます。 m(__)m
鴨川での開催はいつでもウェルカムです。場所取りはなんとかしますので。
あと、わたし的にご提供できるネタとしては

* RoR on GAE (環境は構築したものの未着手w)
* mod_rubinius 構想 (計画段階)

という非常に中途半端なものがあります。(笑 まあ勉強会のために勉強するのが自分のためにもなる、と思っておりますので ご容赦ください。
皆様、これからもよろしくお願い致します。

場所取り云々は知り合いに頼んだのでなんとかなるとして、問題は発表するネタのとこです。

最近、仕事の案件はPHPべったり、ホビープログラミングはGAEのPythonべったりだったので、Rubyからは遠ざかっていました。まあこんな記事もあることだし、ちゃっちゃとできるっぺ、とタカをくくっていました。そんなところが房州天津人の甘いところです。現実はいつも厳しいもの。

ええとまず、ソフトは出来る限り最新の物をというポリシーで生きてますので、/usr/local/bin/ruby -v の出力はもちろん1.9.2-p180でした。でも、これが良くないらしいということに気づいたのが、作業開始から 30分ほど経ってから。

で、rvm というもので複数バージョンのRubyを共存できるらしいと知り、rvm環境内に1.8.7系をインストールするのに20分。

さて、大変なのはここからでした。まず、「10分ではじめる GAE/JRuby (OAuth + Sinatraのサンプル)」という記事の日付ですが 2009年9月3日になっています。つまり、もう1年以上前の情報。そこからたどれるのもそれより前のものです。というわけで、JRuby/GAE にも変更があります。

結果としては以下のような手順になります。

$ rvm install 1.8.7
$ rvm use 1.8.7
$ gem install google-appengine -v "0.0.19"
$ cd /to/your/source/directory/
$ appcfg.rb generate_app appid
$ dev_appserver.rb appid

これで開発用ローカルサーバが立ち上がりますが 、

javax.servlet.ServletContext log: WARNING: no rackup script found. Starting empty Rack application.

という不吉な警告が出ます。http://localhost:8080/にアクセスすると、案の定

Internal Server Error (500)

になります。で、これの原因は jruby-rack のバージョンが「新しすぎる」ためで、Gemfile 中で1.0.6 未満を指定するとうまくいきます。こんな感じ。

$ cat appid/Gemfile
# Critical default settings:
disable_system_gems
disable_rubygems
bundle_path ".gems/bundler_gems"
# List gems to bundle here:
gem "jruby-rack", "< 1.0.6"
gem 'appengine-rack'

で、改めて dev_appserver を立ち上げて、ブラウザでアクセスすると・・・

Hello

キタ━━━━(゚∀゚)━━━━!! 表示されました!

コマンドラインだけ並べるとなんてことないですが、原因追究してもエラーメッセージぐぐっても思うような情報が得られなかったり、でさんざん苦労しました。

つーか最新バージョンでうまく動かないってのはどうなんでしょーね。私の環境を書いておくと

$ uname -a
Linux messarina 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:46 UTC 2011 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 10.10
Release:	10.10
Codename:	maverick$ java -version
java version "1.6.0_24"Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

こんな感じで特別なわけではないんですが。

Railsまでたどり着くにはまた別の道のりが必要でしょうが、ここまでの作業で私は心が折れました。orz

とりあえず自分がやりたいことにRailsは必要なくて、JRubyが動けばいいだけなので、今日のところはここまでにします。皆さまの健闘を祈ります。

Ubuntu lucid で Adobe Air 開発環境を構築する方法

夏も近づき、Adobe Air アプリの開発をしたくなったので、メイン環境(Ubuntu lucid)に環境を作ってみました。根っからのJava嫌い、かつ最高のIDEはEmacsだと思っているので Eclipse はあまり触ってなかったのですが、現状無料で手に入るAirのGUIビルダは AIR GEAR しかないし、Linux版の Flash Builder は販売すらされていないので、今日の午後一杯を使ってやってみました。

Eclipse のインストール

Webで調べてみると「Eclipse は .deb を使わないで入れる」旨のことが書いてありますが、PPA のパッケージを使ってみることにしました。特に理由はありません。JDKはオープンソース版ではなくSun版を使った方がいいようなので、それには従いました。

$ sudo add-apt-repository ppa:yogarine/eclipse
$ sudo apt-get update
$ sudo apt-get install eclipse-gef sun-java6-jdk

Air SDK, Flex SDKのインストール

本来であればAir SDKは不要なのですが、後述する理由により手に入れておく必要があります。

  1. Flex SDK4 (flex_sdk_4.zip) の入手先 >>> http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex4sdk
  2. Air SDK (の入手先 >>> http://www.adobe.com/cfusion/entitlement/index.cfm?e=airsdk

flex_sdk_4.zip を落としたら、好みのディレクトリに展開します。私は /opt/Adobe/SDK/Flex4 というディレクトリを掘り、そこに広げました。

$ sudo mkdir -p /opt/Adobe/SDK/Flex4
$ sudo mkdir -p /opt/Adobe/SDK/Air
$ cd /opt/Adobe/SDK/Flex4
$ sudo unzip ~/Downloads/flex_sdk_4.zip
$ cd /opt/Adobe/SDK/Air
$ sudo tar xjf ~/Downloads/AdobeAIRSDK.tbz2

このままだと一般ユーザが使うためのパーミッションが付与されませんので、以下のようなワンライナーで処理します。

$ sudo find /opt/Adobe/SDK/Flex4 -executable -print0  | sudo xargs -0 chmod a+rx
$ sudo find /opt/Adobe/SDK/Air -executable -print0  | sudo xargs -0 chmod a+rx

そして、なんともイケてないことに Flex SDK に含まれているadlコマンドはMac用バイナリです。なのでAir SDKに含まれているものにシンボリックリンクを張ります。

$ file /opt/Adobe/SDK/Flex4/bin/adl
/opt/Adobe/SDK/Flex4/bin/adl: Mach-O fat file with 2 architectures
$ sudo mv /opt/Adobe/SDK/Flex4/bin/adl /opt/Adobe/SDK/Flex4/bin/adl.org
$ sudo ln /opt/Adobe/SDK/Air/bin/adl /opt/Adobe/SDK/Flex4/bin/adl

Eclipse の日本語化

Amateras Project で公開されているEclipse日本語化プラグイン(Pleiades)を入手してインストールします

$ cd ~/Downloads
$ wget http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fmergedoc%2F43995%2Fpleiades_1.3.1.zip
$ unzip  pleiades_1.3.1.zip
$ sudo cp -rf  features/* /usr/lib/eclipse/features/
$ sudo cp -rf  plugins/* /usr/lib/eclipse/plugins/

/usr/lib/eclipse/eclipse.ini をエディタで開き、最下行に一行追加します。

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520
#-showsplash
#org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms128m
-Xmx512m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins
-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar <<<この行を追加

ここで一度 Eclipse を起動してみましょう。
Ubuntu のメニューから アプリケーション > プログラミング > Eclipse とたどります。

上のような日本語化されたEclipseが起動すればOKです。一度 Eclipse を終了します。

AIR GEARの組み込み

Pleiades を公開しているのと同じ Project Amateras から AIR GEAR を入手し、Eclipse に組み込みます。

$ cd ~/Downloads
$ wget http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Famateras%2F45207%2Fnet.sf.amateras.air_1.0.4.jar
$ sudo cp net.sf.amateras.air_1.0.4.jar /usr/share/eclipse/dropins/
ここで AIR GEAR が組み込まれているか確認します。Eclipse を起動してメニューバーから ファイル > 新規 > その他 とたどり、以下のように AIR GEAR が表示されていればOKです。

サンプルアプリをビルド

上のダイアログボックスが表示されたらダイアログを一度閉じ、Eclipse のメニューバーから ウィンドウ > 設定を選択して、以下の設定ウィンドウを表示してください。

そして上のようにAir SDKとFlex SDKのパスを指定します。

サンプルプロジェクトのビルド

さて、いよいよ最初のアプリを作ってみましょう。

  1. Eclipseのメニューバーから ファイル > 新規 > その他 を選択
  2. Air Project(Flex) を選択
  3. 「次へ」をクリック
  4. “Sample” というプロジェクト名で新規プロジェクトを作成
  5. ApplicationDescripter を 1.5 に選択。他はデフォルトのまま。
  6. 「完了」をクリック。

以上の手順を踏むと、下のような画面になります。

ここで実行 する前に、Air のランタイムファイルにシンボリックリンクを張ります。

$ sudo ln -s /opt/Adobe/SDK/Air/runtimes/air/linux  /opt/Adobe/SDK/Flex4/runtimes/air/

それではいよいよ実行してみましょう。メニューバーから 実行 > 実行 と選択します。


上のようなサンプルアプリケーションが立ち上がれば成功です。”Add” をクリックすると “3” が3つめのテキストボックスに表示されます。

小人閑居して・・・

ここのところ仕事やらJCやらで超絶的に忙しかったのですが、こうしてブログを書いていることからもお分かりの通り、少し落ち着ける時間ができてきました。まあ普段きっちり予定立てて動いているわけでもないんで、半分自分の責任もあります。

さて、「小人閑居して不善を為す」という言葉がありますが、この「閑居」って「一人でいること(他人の目がないこと)」という意味で「暇をしている」という意味ではないんだそうです。要は「つまらない人間は人の目がないと悪いことをする」ということらしいです。

私は聖人君子からは程遠い小人の見本のような人間ですので、やっぱり暇になるとむくむくと妄想が浮かんできてしまいます。思いついたアイデアはWikiにまとめていますが、後で読み返してみると暇なときにはロクなこと考えてないですね。w

現実的なところで今のところ頭の中にあるのはこんなアイデア妄想です。

鴨川市立図書館レビューサイト

そもそも借りた本が自動でどこかにリストにあると面白くね?というところから発展しています。要は「最近借りた本」をブログに張り付けたかったのでした。しかも自動で。
前に「公の図書館では個人の貸出記録を3ヶ月(?)で破棄している」ということを聞いたことがあります。借りた人がどういう思想を持っているかを調べる材料にならないように、ということらしいんですが、その真逆を行く発想です。

で、一覧だけじゃ面白くないので、レビュー(感想)なんかもつけられるといいな、と。他の人が見て参考にもなるでしょうし。

自動化するには、インターネット利用時のパスワードをお預かりする必要があるので、その辺がアレなんですけどねー。

Twitter, Remember the Milk のクライアントを Titanium Desktop で作りたい

先日、disったとまでは言わなくても、「何が面白いんだかわからない」的発言をしたTwitter ですが、前言撤回します。知ってる人がいればそこそこ、いや、結構面白いです。普通のチャットと違って、すぐ相手から反応があるわけではありませんので、基本会話ではなく「つぶやき」になるんですが、それに慣れてしまえば、それなりのつぶやき方もあります。20日に近所の稲荷様の縁日(?)があって青年で手伝ったとき、いろいろな方面で先輩のS藤さんがやっている、しかもハマっていると聞いて「ほほぉ、Twitterもここまで普及したか」と思い直しました。ま、Twitter についてはまた別の機会に。

今まで不思議というか「なんでWeb上のサービスはWebブラウザでしか使えないんだろう」と思ってました。当たり前だろ、と言う声が聞こえそうですが、例えば郵便番号から住所を検索する(2995503 →千葉県鴨川市天津)なんてのは大抵のWebフォームでやっていることですが、これ、例えば顧客管理ソフトとか住所録ソフトで使えればかなり便利だと思うのです。悲しいかなその手のソフトはパソコンのハードディスクにあるデータを元にしていますから、「先月合併して市長村名が変わった」なんてケースに対応できません。だからデータはネット上に置き、それを必要に応じてアクセスする、というのが望ましいわけです。

で、 その手のアプリケーション開発環境といえばAdobe Airが有名ですが、ActionScript覚えなければなりません。その実JavaScriptみたいなもんなのでまあ敷居は低いっちゃ低いんですけれども、Rubyラヴな私としてはRubyでデスクトップアプリ作りたいとつねづね思っていました。ActiveScriptRuby はそれができる候補の一つで、ご好評いただいている(コメントに反応しなくてごめんなさい orz)「NHKラジオ語学番組キャプチャツール」もそれで作っていますが、悲しいかなWindowsでしか動きません。

そこへもってきてこのTitanium Desktop(前置き長っ)。Rubyはおろか PHP, Python, そしてもちろんJavaScriptなど各種LLでデスクトップアプリが作れるというスグレモノ。そして実行環境もWindows, Mac, そしてLinuxと、どんだけユニバーサルなんだって感じになっています。

画面はHTMLで記述でき、ロジックを各種言語で書くようになっているので、 Web屋がデスクトップアプリ作るにはうってつけのツールです。Twitter, RTMに限らず、Web上には便利なサービスのAPIが公開これでもかってほどあるので、いろいろ遊んでみたいと思います。

メールお預かり&IMAPで読めますよ(ウィルス、スパムフィルタ付き)サービス

地元で仕事をしていて案外多いのが「複数のパソコンで一つのメールアドレス(正確にはメールボックス)を共有したい」 というリクエスト。もちろん複数人で読む場合もありますが、宿泊施設ではメインユースのPCが使えなくなったときに予備のPCで読みたい、という需要もあります。

で、それをするにはPOP3ではなくIMAPというプロトコルが便利で、現に私も使っています。が、普通のプロバイダでIMAPに対応しているところは少なく、POPで「サーバにメールを残す」に頼らざるをえません。しかもロクにフィルタしてないので迷惑メールがバンバン入ります。

そこで思いついたのが、できれば直接転送(MXレコード変更 or .forward転送)していただき、それが不可ならPOPで現行サーバからメールを取り出し、弊社のサーバでお預かりする、というサービス。転送あるいは取り出した時点でフィルタにかけ、不要なメールを篩にかけます。付加的に、Webメールとか携帯での読み書きができるといいな、と。

真に具合のいい、すぐにもできそうなサービスですが、ただこれ全部Googleがすでにやってることなんですよね。w しかもロハで。どうやってgmailと差別化するかが課題です。

コンビニプリントサービスとQRコードを活用した地域ミニコミ誌

「そういうものは自腹で印刷しろ」という声が聞こえて来そうですが、ご存じの通り世界一小さな規模を誇る弊社には、市内の皆様に紙媒体でまとまった量の情報をご提供できるだけの資本力はありません。それに完全に紙ベースのものならすでにKamoZineでやっています。(まあKamoZineの内容は外向きのものですが)

そこで、記事のタイトル、本文冒頭(あるいは要約)、サムネイル写真を載せた紙をネットプリントなど各種コンビに印刷サービスで取り出せるようにしておき、欲しい方はコンビニで紙に印刷していただくという形をとったらどうだろうと思っています。記事全文や写真は紙上のQRコードで携帯からアクセスしていただき、より詳しい情報を得られるようにしておく。弊社は印刷にかかるコストを全く負担せずに済み 、欲しい方だけ小額の印刷代をご負担いただくだけなので、まあフェアなのでは、と。

副次的な効果としては、携帯を使える若年層が、そうでない高齢世代に内容を読んであげたりなんかすると、世代間の交流が深まっていいかもなぁなんて考えています。

またも長々と妄想をぶちまけてしまいました。orz 上に挙げたのはアイデアにすぎないので、私に代わってどなたかやっていただいても全く構いません。できれば事後報告していただけるとありがたいですが。

弊社発 地域SNSの立ち上げが遅れている理由

ことあるごとに実生活のエクスキューズを垂れ流している本ブログですが、関係者各位には大変お世話になっております、地域SNS「Zeego.org」の正式稼働が遅れている事情などをご説明したいと思います。

SNSじゃないよね

学校関係者の方からいろいろ機能の削除要請を受けておりまして

  • 日記機能
  • コメント機能
  • コミュニティ管理者だけが一斉配信できるように

などなど、機能追加ではなく「機能削除」しなければならないという点がまず一つ。そして、そうした要請に応えてできたものがはたしてSNSと呼べるのか、という内部的な葛藤があります。実のところ、私も日記機能なんかいらんよな、とは思っていて、もっと面白いアプリが載せられるといいと思っております。例えば手渡しすることが前提のオークションとか、オークションにせずともフリーマーケットみたいなものがあれば、バザーを通年できることになりますし、エコロジーかつエコノミー。

ただ、そうしたアプリを自由度の高い形で載せるには土台の方もかなり手をいれなくてはならなくて、それならイチから作り直した方がいいんじゃないかと模索しているところです。

地元の学校でも新型インフルエンザでバザーが中止になったり、休学になっていたりするので、今が一番求められているところではありますが、より受け入れられやすい形にすべく、頭をひねっています。

それでも登録しない人対策

人間というのは誠に不思議なもので、相手が人間なら個人情報を教えるのに何の抵抗がなくとも、「お手持ちの携帯から入力してください」となったとたん、抵抗を示す傾向があるようです。私個人に教えるのも、私が作ったシステムに入力するのも結局は同じ事なんですが。

そこに働いている心理というのはどういうものなんだろうと考え続けています。そして、そういう人にも抵抗なく登録してもらうにはどうすればいいのだろうと。既存SNSは自己登録が当たり前ですが、代理登録できるようにするといいのかもなーと思っています。

広告掲載に代わる資金調達

最初は広告メールを配信することで、広告主から運営資金を調達することを考えていました。でも、それにはある程度登録者数が集まらないと説得力ないですし、携帯電話では広告の表現力にも限りがあります。

よって、もっと直接的で受益者負担的な資金調達方法を模索しています。

幸いなことに田舎の時間は可塑性を持っているので、ある程度遅れても看過いただけるのですが、さすがにそろそろ何らかの形にしなくてはいけないと思っております。もしかしたら既に遅いのかも。(汗

やっぱりmatzはわかってるよね。

「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 - @IT という記事を読みました。

前にも書きましたが、ソフトウェアやシステムの見積もりを出すときに「人月」または「人日」という用語を使います。一人の人間が何ヶ月/何日かかってそれを作るか、という数字で、「これだけ手間がかかるんですから、お金をくださいね。」とアピールするために使います。

でも、これってよく考えればおかしい話ですよね。この考えで言えば、優秀な技術者が3日で作ってしまったものよりも、私のようなスパゲティコードジェネレータが1ヶ月かかって作ったものの方が高くなってしまいます。

というわけで私自身は「コードは文学作品である」と思っていたのですが、プログラミング言語作者の matz こと まつもとゆきひろ氏も似たような考えをしていることを知り、ますますファンになりました。 まつもとさんは「コーディングとは設計である」と言っているのですが、高度に知的な作業であることを強調している点が私と通ずるものを感じました。

まあブラックな会社ではうつ病寸前、ギリギリまで追い込まれたプログラマが、睡眠時間もろくに取らずコーディングしている(それを「デスマーチ」と言います)事態なんてのがありがちなんですが、あれも、ひとつの人月計算が招いた結果でしょうね。

私は、というと、コーディングを普段から趣味でやっているおかげで、結構速攻が効きます。そのせいで仕事を溜めてしまうのは悪い癖ですが。(笑

小説家でも遅筆の人とささっと原稿をあげてしまう人といるように、プログラマも個人差がやっぱりあるんです。決して機械化して大量生産できるようなものではありません。 その辺りを普通のお客様にわかってもらうのは至難の技なんですけどね。

DNSBLサービス「スパム鯛めし」を公開

ライブドアの「スパムちゃんぷるー(β)」に対抗し、弊社でもコメントスパム・トラックバックスパム用DNSBLサービス「スパム鯛めし(β)」を公開することにしました。

ライブドアはそれなりの人手とアルゴリズムを駆使していますが、弊社は最小コストでほぼメンテナンスフリーの仕組みを使っています。

手元のスパムIPを調べたところ、ユニークIPベースで 92.8%、延べIPベースで 99.4%の高確率でスパムを検出できました。スパムちゃんぷるーやniku.2ch.netに比べ、遜色ない成績となっています。

プログラマブルでRFCクリア(たぶん ^^;)なDNSの実装にはかなり手こずりましたが、良い勉強になりました。

ご利用は商用・非商用を問わず無料です。ブログ、掲示板などでご利用いただければ幸いです。

ご使用後の感想、ご意見などぜひお寄せください。

ITの本質は「一騎当千」になれることだと思う

ご存じの通り、弊社ではいわゆる従業員というものを雇っておりません。まあ人を雇うほど仕事がないというのもありますが(笑)、その前に「その仕事はコンピュータに任せられないか」と考え、実践しているから、というのもあります。幸いなことに、たいていの事務仕事はコンピュータに任せられるので、人を雇う必要性をあまり感じないのです。

もし弊社で人を雇うとしたら、本当に人間にしかできないこと、例えば営業活動などを担当してもらいたいと思っています。よく、録音音声で営業電話がかかってきますが、あれは味気ないというよりも怒りを感じますね。電話営業くらい人間を使ってやれ、と。

ITのよいところは、人間を冗長で繰り返しの多い仕事から解放し、より人間らしい仕事、例えば人と交渉したり、新しい商品・サービスを開発したりといった創造的な仕事に割り当てられることだと思います。つまらない仕事はコンピュータ(機械)に任せて、人間はもっと楽しい仕事をすればいい。

例えばホームページとか電子メールとか、もはやありきたりとなった技術にだって、そういう面はあります。今までは宿泊施設の情報は、電話で問い合わせてパンフレットを送ってもらって、初めて入手できました。ところが今やパンフレットよりも綺麗で詳しい情報がホームページを見れば一目でわかります。電子メールにしても、郵便配達にかかる人的コストをちょっと考えただけでも革命的に効率化されています。

とはいえ、ホームページで伝えきれない宿の良さ、肉筆でなければ出せない味わいも当然ありますよね。そういったものを切り捨てるのではなく、メール一本で済むところをあえて肉筆で郵送するほうが、より人間らしい、心のこもったメッセージングであり、この時代にはもっと見直されていいと思います。弊社の企業理念にある

単なる「情報処理」「効率改善」に留まらず、その先にある快適で豊かなコミュニケーションを実現し、人々の生活の質を向上させたい。高度な技術力に奢ることなく、「人に優しい情報技術」を提供したい。それが高梨IT製作所の願いです。

とはそうしたことを踏まえての記述です。

今、機械に人が使われているケースがどれだけあることか。あるいはシステムの補助部品として人間が使われているケースがどれだけあることか。コンビニのPOS端末なんて、私はバイトした経験があるからわかるのですが、まさにそんな感じです。あれでは店員に商品知識なんて持たせようがない。もっと人間らしい店舗経営のしかたがあるはずだと思って、その形を模索していますが、そこへ行くとうちの両親はなかなか参考になります。いや、うちだけではなく、この辺の老舗はどこもそうです。ただ物を売ればいいというだけでなく、人の温もりを感じられるからこそひいきにしてもらえるんでしょうね。この辺りはなかなかITでは解決できないところです。

旧来の手法と最新の技術をうまく融合したソリューションができればなぁと思っていますが、なかなか思いつきません。どなたか案があったら知らせてください。(w

Copyright © 2018. Powered by WordPress & Romangie Theme.