6th March 2016 #dictionary #english #mac #ruby 8年ほど前にも同様に、英辞郎の非暗号化テキストを購入してMac OS X標準辞書アプリ(Dictionary.app)向けにデータを変換して長らく利用していました。今回、ひさしぶりに新しくデータを購入して作り直すことにしました。
英辞郎サイトによれば、非暗号化テキストデータはバージョン145以降販売される予定はなく、最新版は144.1とのことです。
いまはわざわざ自分で変換しなくとも英辞郎 for OS X Dictionary.appとして販売されていますので面倒だとか、ターミナルからコマンドをうつという作業にぴんとこない方はこちらを購入されるのが良いでしょう。辞書データのバージョンも新しいです。
一方、個人的にはすこし表示をカスタマイズしたいなという気持ちもありましたので今回は少し古いですがテキストデータを購入し、データを作り直すことにしました。
今回やりたかったところは
- 品詞(名詞、動詞等)ごとの表示整理
- 読みがなをルビとして表示
- カナによる発音、大学入試のような記号は不要なので省略
といったところです。あとは文字サイズや色のテイストをOS X標準インストールされているウィズダム等とにたようなものにそろえたいと いったところです。
完成形は下記のようなイメージです。品詞については、単語によって若干表現ゆれがあったので、一度ソートし直して番号を振り直しています。

変換方法とスクリプトについてはGithubにおいてあります。MITライセンスとしましたのでご自由にご利用ください。辞書データ全体について表示の確認をしているわけではないのでくずれている部分もあるかと思いますが、気になる方は随時修正いただければ。
4th April 2015 #book #game 40年程度のビデオゲームの歴史を膨大な文献から、ゲーム発売当時の状況を振り返った上で考察していく、というスタイルでゲームの歴史が綴られています。
本書の直前に「教養としてのゲーム史 (ちくま新書)」というのを読んだことが本書を読む上で好対照となりました。「教養としてのゲーム史」は教養としてのとするには全体的に論拠がうすく、著者独自による振り返りであるように感じました。これは今回紹介する「僕たちの」が紹介している文献の幅広さと比較してしまうからかもしれません。
さて、「僕たちのゲーム史」の内容は今となっては当たり前となったゲームシステムや、スタイル、ジャンルを当時開発者やユーザがどのような体験を通して切り開いてきたかを丁寧に振り返っている良著です。ここまで膨大な範囲を調査し、分析することはなかなかできることではありませんから、ゲーム史評価において本書を超えるのはかなりのハードルが上がったことだろうと思っています。
本書の流れですが帯にある「スーパーマリオはアクションゲームではなかった!」は、それだけを聞けば何ことかわからないのですが、当時のゲーム雑誌での評価をもとにうまく分析しています。
しかもその2ページの記事の中で、『Beep』はファミコン用ソフト『デビルワールド』について次のように書いています。 「このタイプのゲームは、種々出つくした感がありますが、これはところどころに新しい趣向を採り入れて、十分に楽しめるできばえになっています。」 これはなかなか衝撃的な言葉ですね。僕はまだゲームの歴史を語り出したばかりなのですが、第一章の段階で、すでに特定のジャンルのゲームは「出つくした」と言われているわけです。
このようにゲーム史は常に過剰供給との戦いがあり、その状況下でも創意工夫の中で新しいジャンルが切り開かれてきました。本書はこの創意工夫を当時のゲーム体験に振り返って評価することで何が新しかったのかを丁寧に分析しているところが著者の主張をより明確に裏付けています。
ゲームの歴史を振り返ろうとするとき、ヒットしたゲームがあってそれらについて単に機能とかゲームシステムといった事実としてわかりやすい特徴をもとに分析したのではこのような裏付けをつくることはできません。
ゲームの歴史という比較的我々が慣れ親しんで、体験し、よく知っている分野であるからこそあるジャンルのゲームがどのような経緯で評価されるようになったのか、知るのは難しいことです。あるいみゲームの歴史という物語の結果を我々自身がよく知っていることもあって、なあんだそんなことか。と思うことが多かったり、拍子抜けするかもしれません。
それでも本書全体を通してみれば拍子抜けすると言うよりは、子供から歴代遊んできたゲームを思い出しながら、その面白さを追体験しているような印象さえあります。このため堅苦しすぎず、読み終わった後も気持ちよく、古いゲームでも引っ張り出してみようかなと思える構成になっていているのでしょう。
24th February 2015 #akka #javafx #scala Since GUI framework like JavaFX requires always run on main thread for handle events/manipurating UI properties. This usually cause unexpected behaviors. Fextile trying to separate layout specific codes, handling events, manipurating UI properties, and business logic on top of Akka async messaging framework.
Defining layout is very similar to JavaFX/ScalaFX applications.
object MyApp extends FextileApp {
// Do layout just like JavaFX/ScalaFX application
stage = new PrimaryStage {
title = "My Application"
width = 800
height = 600
scene = new Scene {
fill = Color.BLUE
}
}
override def props: Option[Props] = Some(Props[MyApp])
}
For all events from scene graph are transfered to actors on Akka.
class MyApp extends Actor {
override def receive: Receive = {
case (s: Scene, e: MouseClicked) =>
s.fill = Color.RED
case (_, _: WindowHidden) =>
Fextile.shutdown()
}
}
code on github: semester/semester-foundation-fextile
29th January 2015 #eol #eosl #ga #java #mysql #php #ruby Glossary
- GA … General Availability
- EOL … End of Life. End of support for enhancement and/or bug fix.
- EOSL … End of Service Life. End of support for both bug fix and security fix.
- TBD … To be determined.
Programming Languages
Ruby (MRI)
Version | GA | EOL | EOSL |
1.9.3 | 2011-10-31 | 2014-02-23 | 2015-02-25 |
2.0.0 | 2013-02-24 | TBD (2015-02?) | TBD (2016-02?) |
2.1 | 2013-12-25 | TBD (2015-12?) | TBD (2016-12?) |
2.2 | 2014-12-25 | TBD (2016-12?) | TBD (2017-12?) |
PHP
Version | GA | EOL | EOSL |
5.4 | 2012-03-01 | 2014-09-14 | 2015-09-14 |
5.5 | 2013-06-20 | 2015-06-20 | 2016-06-20 |
5.6 | 2014-08-28 | 2016-08-28 | 2017-08-28 |
Java SE
Version | GA | Public EOL |
5.0 | 2004-05 | 2009-10 |
6 | 2006-12 | 2013-02 |
7 | 2011-06 | 2015-04 |
8 | 2014-04 | TBD |
Database
MySQL
Version | GA | Public EOL |
5.0 | 2005-10-15 | 2012-01-09 |
5.1 | 2008-11-27 | 2013-12-31 |
5.5 | 2010-12-03 | |
5.6 | 2013-02-05 | |
KVS
Redis
Version | GA | EOL/EOSL |
2.4 | 2011-10-18 | 2012-11-29(?) |
2.6 | 2012-10-24 | 2013-12-11(?) |
2.8 | 2013-11-22 | |
3.0 | TBD | |
Server OS
Reference
Debian (Server)
Version | GA | EOL/EOSL |
6.0 (Squeeze) LTS | 2011-02-06 | 2016-02-06 |
7.0 (Wheezy) | 2013-05-04 | TBD |
Ubuntu (Server)
Version | GA | EOL/EOSL |
10.04 LTS | 2010-04-29 | 2015-04 |
12.04 LTS (Precise) | 2012-04-26 | 2017-04 |
14.04 LTS (Trusty) | 2014-04-17 | 2019-04 |
CentOS
Version | GA | EOL | EOSL |
3 | 2004-03-19 | 2006-06-20 | 2010-10-31 |
4 | 2005-03-09 | 2009-03-31 | 2012-02-29 |
5 | 2007-04-12 | 2014-Q1 | 2017-03-31 |
6 | 2011-07-11 | 2017-Q2 | 2020-11-30 |
7 | 2014-07-07 | 2020-Q4 | 2024-06-30 |
Mobile OS
Reference
iOS
Version | GA | EOL/EOSL |
6 | 2012-09-19 | 2013-02-21(?) |
7 | 2013-09-18 | 2014-06-30(?) |
8 | 2014-09-17 | TBD |
- No explicit EOL/EOSL policy found. Guessing EOL/EOSL dates from latest update of each version.
- iOS 6.x latest update: iOS 6.1.6
- iOS 7.x latest update: iOS 7.1.2
Android
Version | GA | EOL/EOSL |
3.2 (API level 13) | 2011-06-15 | 2012-02(?) |
4.0 (API level 14/15) | 2011-10-18 | 2012-03-29(?) |
4.1 (API level 16) | 2012-07-09 | 2012-10-09(?) |
4.2 (API level 17) | 2012-11-13 | 2013-02-11(?) |
4.3 (API level 19) | 2013-07-24 | 2013-10-03(?) |
4.4 (API level 20) | 2013-10-31 | 2014-06-19(?) |
5.0 (API level 21) | 2014-11-12 | TBD |
24th December 2014 #elasticsearch #kibana #logstash Demonstration on ELK on Mac OS X (Yosemite)
Download
- http://www.elasticsearch.org/overview/elkdownloads/
Setup - ElasticSearch
$ unzip elasticsearch-1.4.2.zip
Configure elasticsearch to allow connection from Kibana4. Add following two lines into $ELASTICSEARCH_HOME/conf/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: /.*/
Startup
Test
Logstash 1.4.2
$ unzip logstash-1.4.2.zip
You have to replace elasticsearch libraries inside logstash.
- https://github.com/elasticsearch/kibana/issues/1629#issuecomment-64172892
- logstash contains old version of elasticsearch (1.1.1).
- Kibana4 requires elasticsearch 1.4.0 or higher.
$ cd logstash-1.4.2/vendor/jar
$ rm -fr elasticsearch-1.1.1
$ unzip $YOUR_DOWNLOAD_DIR/elasticsearch-1.4.2.zip
Test configuration
Save file like below as test-logstash.conf
input {
file {
type => "apache"
path => "/var/log/apache2/access_log"
}
}
output {
elasticsearch {
host => localhost
}
}
Startup
$ ./bin/logstash -f test-logstash.conf
Test
$ sudo apachectl start
$ curl localhost
Kibana 4 Beta 3
$ unzip kibana-4.0.0-beta3.zip
Startup
Test
Open http://localhost:5601 with your browser. Configure index pattern with time-based events.
- Check “Index contains time-based events”
- Index name or pattern: logstash-*
- Choose Time-field name:
@timestamp
