これが2018年のウェブサイト

Websites in 2018は、最近のウェブサイトのトレンドを忠実に表したサイトです。ただしコンテンツはありません。 「最近のウェブサイトあるある」を再現しているわけですが、新しいサイトを訪れるたびに、いかに色々な注意書きやら何やらを見せられ、それに応じないといけなくなっているか、という問題点が鮮やかに指摘されていていいデモだと思います。これが当たり前になっていくのは残念だと思いますが、今後どうすればいいんでしょうね。 英語のままでもわかりやすいかと思いますが、ソースコードに「ローカライズはご自由に」とあるので、日本語に翻訳しました。2018年のウェブサイト via Hacker

地域の小さな本屋の引越を、200人超のファンがバケツリレーで支援

1977年開業のイギリス南部サンサンプトンの書店オクトーバーブックス(October Books)が、家賃の高騰に悩まされた結果、クラウドファンディングやクラウドレンディングでかき集めたお金で、近くの古い銀行の建物を購入し、引越することになったそうです。 しかし、近所とはいえ、引越を業者に頼むとお金がかかるし、引越中は営業も止まってしまいます。 そこで考えたのが、ボランティアを募ってのバケツリレー。 https://twitter.com/OctoberBooks/status/1056229125529186304 「人間の鎖に参加しませんか?」「無料でワークアウトしませんか?」という移転のポスター https://twitter.com/OctoberBooks/status/1056515226974257152 当日は200人を超えるの参加者が集まり、たった1時間のうちに、旧店舗から新店舗へと、2000冊以上の本が手渡しで移されました。 https://twitter.com/OctoberBooks/status/1056522765514276870 https://twitter.com/thgirlwpinkhair/status/1056509905346142214 地図で新旧の店の場所を見てみましたが、直線距離で160mぐらい。歩くと2分ぐらいということです。 お金を払えるところをボランティア任せにするのは最近いろいろと批判の声が上がっているところですが、引越先の店舗の入手にしても、今回の引越作業にしても、多くの地域の人がこの小さな書店の存続を願って手伝っているのだろうということで、これはいい話といっていいのではないかなと思いました。 via

invaderz – 遺伝的アルゴリズムで動きを変えるインベーダー風ゲーム

victorqribeiro/invaderzは、上から襲い掛かるインベーダーを砲台で撃ち落とす JavaScript のゲームです。 一回に6匹降りてくるインベーダーを、地上に近づけないように撃ち落とす必要があります。合計で5匹が地上にたどり着いたら、ゲームオーバーとなります。また、6匹の攻撃が終わると、新たに次の6匹が登場します。 攻めてくるインベーダーの形はランダムに打たれたドットのパターンなのですが、このドットの形に応じて、どのように動くのかが表されています。 設定によると、撃ち落とされた瞬間のインベーダーは、母船に対して「どこまで侵攻できたか」の情報をアップロードし、次の世代では、優秀な結果を残したインベーダーの形を掛け合わせた攻撃隊が編成されます。 この次の世代を生産する時に、優秀だった個体からランダムに上下半分ずつや左右半分ずつの形をコピーしたりして新しい世代を作ることで、これまで良い結果を出したインベーダーの特徴を併せ持つ世代が作られる、ということになります。(この際に、10%の割合で突然変異も起こります) この当たりはソースコードの Genetics.js を見るとなんとなくわかります。 動くデモも公開されていますが、今はアクセスしづらくなっているようです。ソースコードを持ってくれば手元で簡単に動かすことはできました。 30世代ほど遊んでみましたが、後半になると確かにインベーダーの動きが左右に大きくなり、狙った弾を避けている(避けているように見える、だけですが)ことは増えます。ただ、進化の度合いはかなりゆっくりかなと。何百世代とやるととても優秀になるかもしれませんが、5回失敗すると終わりなのでそこまでもっていくのは大変そうです。 いろんな人が育てた結果が共有されたりすると、面白い避け方をするインベーダーがたくさん作られるかもしれないですね。 シューティングゲームなんて、結局のところコンピューターはいくらでも反応速度を上げられるため、本気でやられたら人間が勝てるものではないのですけど、こちらの打った手を学習して相手の攻撃が変わる、というギミックで、プレイするユーザー毎に違うゲーム体験を作ったりできるということはあるのかも、と思いました。 via Hacker

Toodles – ソースコード内コメント中の ToDo を集めてやるべきTodoリストを一覧、更新できるwebツール

Toodles は、ソースコード中に書かれたコメントの ToDo を収集し、次やるべきことを可視化してくれるというオープンソースのwebアプリです。 ツール自身への入力として、Toodles 自体のソースコードを使いましたが、それとは別に適当なソースコードに ToDo コメントを仕込んで、一緒に読ませてみました。 var MAX_HEIGHT = 320; var SQUARE_SIZE = 150; var

Datawrapper で、複数地点を俯瞰で紹介できる地図 Locator Map を作る

ジャーナリストやビジネスパーソン向けのグラフ/地図作成サービス Datawrapper で、地図上の複数地点を示す Locator Map というタイプの地図を作る機能が追加されています。 東京日本橋500円ランチガイドのお店で作ってみました。 if(undefined==typeof window.datawrapper)window.datawrapper={};window.datawrapper[7v2Yd]={},window.datawrapper[7v2Yd].embedDeltas={100:772,200:654,300:636,400:586,500:586,700:586,800:586,900:586,1000:586},window.datawrapper[7v2Yd].iframe=document.getElementById(datawrapper-chart-7v2Yd),window.datawrapper[7v2Yd].iframe.style.height=window.datawrapper[7v2Yd].embedDeltas[Math.min(1e3,Math.max(100*Math.floor(window.datawrapper[7v2Yd].iframe.offsetWidth/100),100))]+px,window.addEventListener(message,function(a){if(undefined!=typeof a.data[datawrapper-height])for(var b in a.data[datawrapper-height])if(7v2Yd==b)window.datawrapper[7v2Yd].iframe.style.height=a.data[datawrapper-height][b]+px}); 広い範囲のどこに当たるかを差し挟んだりもできるので、意味なく地球上での位置など入れてみたりしました。 地図の方角を変えたり、斜めから見たように角度をつけることも自由にできます。 上のサンプルは手で入力しましたが、店舗のリストなど、データをまとめて渡して地図を生成することもできます。地図のベースとして使われているのは OpenStreetMap ですね。 Datawrapper はフリーミアムのサービスで、無料でも限定された形で利用できますが、多数のチャートや地図を作ったり、それらの図をサイト上で何万回も表示したり、画像やpdfにして配布したりする場合には月額制の有料プランに入る必要があります。 見栄えのよいグラフや地図を作るのもスキルが必要ですが、データを与えるだけでデザインされたものが出たり、インタラクティブな仕組みを持たせたりできるのであれば、お金を払ってもいいというユーザーがいて、こういったサービスが存在できているのかもしれません。 via

Ajax によるブラウザ上のオフィスツール AjaxOffice

AjaxOffice は、Ajax をばりばり使って、マイクロソフトオフィスみたいなのをブラウザ上で使えるように実現したネットのサービスだッ!!!

というのが今出てればすごいんだが、残念ながらこれはまだ実態がないサービス。本人も vaporware (宣伝先行で実在しないソフトウェア)だと言っている。

この AjaxOffice 、最近の Ajax 狂騒を見ていた Paolo さんというブロガーが「1年以内にはブラウザ上で動く Office が登場するに違いない」というエントリを書き、そこからの派生としてプロジェクトとして立ち上がったものだ。

サイトでは、フリーな Javascript ベースの WYSIWYG エディタをはじめとして、Office クライアントで使われている、ツールバーやメニュー、ドラッグ&ドロップなどを実現するための Javascript ライブラリの情報が集積されつつある。

つまり、要素技術は成熟してきたので、これらを組み合わせて Ajax な Office を作ろう、ということ。Gmail が Javascript/DHTML の力でクライアント側の Outlook にかなり近いブラウザアプリケーションを出せたように、Office がブラウザ上で提供されるとしたらそのインパクトは強いんではないだろうか。

# と、ふだんオフィスをほとんど使わない自分が書くのもなんだが

Office の Ajax(ブラウザ)版、という注目を惹くテーマを元に、さまざまな方面から実現のためのアイデアやライブラリ情報が集積しつつあるため、一般的な Ajax ライブラリ/ツール動向を調査するためにも要注目なプロジェクトだといえるのではないだろうか。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

紙ベース PDA – PocketMod

PocketMod は、紙に印刷して持ち歩く PDA だ。

右上の “Start” から試してほしい。Flash 上で、左側から選んだノートやカレンダー、ToDo などのページを、右側の8つのボックスにはめこんでいく。

配置が終わったら、印刷するだけ。8つ折にできる紙として出てくる。

ま、ただのシステム手帳じゃないか、といえばそれまでなんだけど、自分で自由にレイアウトを作れることや、紙とプリンターがあれば無料で済むところがいい。

8ページと限定することで、必要なときに必要な分だけを持ち歩く、ということにもつながりそうだ。

PC や携帯上の PDA からデータが流し込めるともっと使えそうかな。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

リアルタイム HTML エディタ

ウェブページ上で、HTML を編集すると、編集した結果がそのままもう半分の枠に反映されるというサービス。

リアルタイム HTML エディタ

クライアント側に商用の HTML エディタを入れれば、もちろんこんな機能はどこにでもあるんだろうけど、ブラウザで見に行ったらすぐ使える、というのは何かの際に役立つかも。と思ったり思わなかったり。

HTML ってどんなもの? っていうのをまったく知らない人にちょっと見せてみるのには使えるかなあ。

とはいっても、ここで調子に乗って HTML 中にフォントとか色とかをガシガシ埋めていくと、一昔前の HTML デザインになっちゃうので注意。というか、CSS もその場編集して3ペインというのがあればいいのか?

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

Ruby on Rails の PHP 移植プロジェクト

メモ: PHP フレームワークと Ruby on Rails からの影響

PHP 用の Rails クローンや、Rails を移植したと主張しているプロジェクト達

CakePHP
https://trac.cakephp.org/

Biscuit
http://bennolan.com/biscuit/

PHP on Trax (旧名 PHP On Rails)
http://phpontrax.com/

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

ソースコード検索とコピペプログラミング

プログラマー向けにまた新しいサービスが出たようなのでご紹介。

code fetch { は、ソースコードに特化したソースコード検索エンジン。”{” 記号もサイト名の一部のようだ。

関数名などを検索すると、関数名を含むサンプルを、書籍のサンプルコードから抜き出して表示しているようだ。

言語ごとに検索することができる。以下はいくつか試してみた結果。

サイト自身は、紹介した書籍を買ってもらうことでビジネスとするつもりらしい。

ある関数を使うとき、関数の挙動はわかっていても、それを実際にどのように呼び出すのかが、マニュアルからだと簡単に把握できないことがある。

PHP のマニュアル などでは、マニュアルの末尾にユーザのディスカッションをつけて、そこでサンプルコード的なものが流れているが、サンプルから使い方のあたりをつける、という点ではこれも役立つ気がする。

ソースコード検索エンジンとしては、日本にも高林さんの gonzui があるが、同じような技術を基盤に、公開されているサンプルコードと amazon アフィリエイトを組み合わせてビジネス化しよう、という試みと言える。(検索してほしくない本の著者は連絡してくれ、とあるので、このあたりに問題点をはらんでいる可能性はある)

ビジネス的にこれがいけるのか、著者によってはこれを許したくないのでは、という話は別として、こういったソースコード検索によって「他者のソースを見る」という機会は重要なのではないかと僕は思っている。

究極的には、僕らプログラマーが書いているコードのほとんどは、過去にどこかで見た他人のコードを真似て、再構築しているといってもいい。本質を理解せずにコピーした粗悪なコードの氾濫も大きな問題ではあるものの、読むことや真似ることそのものが悪だとは僕には思えない。

ペアプログラミングなども「よいソースを書いている状態を目の前で見る」ことの教育効果が評価されている理由の一つではないだろうか。

検索によって良いお手本が簡単に見つかるようになっていくことは、決して悪いことではないな、と思うがどうだろう。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

日曜は PHP 勉強会

昨日の Java 読書会に続き、日曜は PHP 勉強会に参加してみた。

mixi の PHP コミュニティから発生したらしいこの勉強会、会自体は3回目のようだが、当然これまでは参加していない。何か発表するものを、という話だったので、自分が書いたわけじゃないが CyDE2 の開発環境を持って行き、インストーラとユニットテストをどうやってるかあたりをちょろっと紹介させていただいた。他の発表を聞いてみて比べると、あまり技術的じゃない。宣伝臭いし。

他には、PHP フレームワーク Maple の作者の方が、AOP による DB アクセスの Maple へのウィービングについて実装発表されていて、面白かった。

あとは、PHP に関する洋書のレビュー発表など。アメリカに居たとき本屋でパラパラと見ていた本がいくつか出てきて興味深かった。

全体的に、昨日の Java 読書会が「最近面白い本出てないねぇ」といった感じだったのに比べて、PHP 勉強会のほうが活気があるように見えた。

でも、土曜日にあった Lightweight Language Day and Night (LLDN) に参加されてた方も多く、そちらでは Ruby や Perl のヒトタチが元気だったということで、PHP もがんばらないとね、という雰囲気もあった。

それと、いつも PHP 関連の雑誌記事などでお世話になっている著者のみなさんと直接お会いできたのは非常によかったと思う。来月もあるようなのでぜひまた参加したい。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

akky's work blog