Farseerfcの巣//farseerfc.me/jp/2014-12-09T01:54:00+09:00KDE5 Plasma の踊る活動ボタン2014-12-09T01:54:00+09:002014-12-09T01:54:00+09:00farseerfctag:farseerfc.me,2014-12-09:/jp/jumping-kde5-plasma-activities-button.html<!-- PELICAN_BEGIN_SUMMARY -->
<p>今日 KDE5 Plasma の「活動」を切り替えている際に偶々この現象を発見しました。
この活動ボタンを画面の外に持ち出すと、デスクトップの縁で踊り出します。
ビデオはこちらに:</p>
<!-- PELICAN_END_SUMMARY -->
<div class="well" style="padding: 0">
<div class="tab-content" id="youtubeku">
<div class="tab-pane fade active in" id="youtube_SSbf97jGSpI">
<div align="left" class="youtube embed-responsive embed-responsive-16by9"> <iframe allow="fullscreen" class="embed-responsive-item" frameborder="0" src="https://www.youtube.com/embed/SSbf97jGSpI"></iframe> </div>
</div>
<div class="tab-pane fade" id="youku_XODQ0NjM2MzQ4">
<div align="left" class="youku embed-responsive embed-responsive-16by9"> <iframe allow="fullscreen" class="embed-responsive-item" frameborder="0" height="498" src="https://player.youku.com/embed/XODQ0NjM2MzQ4" width="510"></iframe> </div>
</div>
</div>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#youtube_SSbf97jGSpI">Youtube</a></li>
<li><a data-toggle="tab" href="#youku_XODQ0NjM2MzQ4">Youku</a></li>
</ul>
</div>
<!-- PELICAN_BEGIN_SUMMARY -->
<p>勿論画面の中に引っ張ってきたら問題はなくなるので、大したバグではない。単なる面白い現象です。</p>
<p>この前に Gnome3 にも画面がおかしくなるバグがありました。それを比べて KDE5 のほうはよぽと増しと思います。</p>
<!-- PELICAN_END_SUMMARY -->
<div class="well" style="padding: 0">
<div class="tab-content" id="youtubeku">
<div class="tab-pane fade active in" id="youtube_TRQJdRHYwrw">
<div align="left" class="youtube embed-responsive embed-responsive-16by9"> <iframe allow="fullscreen" class="embed-responsive-item" frameborder="0" src="https://www.youtube.com/embed/TRQJdRHYwrw"></iframe> </div>
</div>
<div class="tab-pane fade" id="youku_XNjc4MjQ5NjE2">
<div align="left" class="youku embed-responsive embed-responsive-16by9"> <iframe allow="fullscreen" class="embed-responsive-item" frameborder="0" height="498" src="https://player.youku.com/embed/XNjc4MjQ5NjE2" width="510"></iframe> </div>
</div>
</div>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#youtube_TRQJdRHYwrw">Youtube</a></li>
<li><a data-toggle="tab" href="#youku_XNjc4MjQ5NjE2">Youku</a></li>
</ul>
</div>
<!-- PELICAN_BEGIN_SUMMARY -->
<p>ちなみにですが、KDE5 Plasma のミュート画面の中国語翻訳もなかなか面白いミスがございます:</p>
<!-- PELICAN_END_SUMMARY -->
<blockquote class="twitter-tweet" lang="zh-tw"><p>KDE5のミュート画面の中国語翻訳、「静音」のはずだが「镜音」になっている。Vocaloidファンのネタだか、単なる入力ミスだか分からない。 <a href="http://t.co/ipyHjXMscR">pic.twitter.com/ipyHjXMscR</a></p>— Jiachen YANG (@farseerfc) <a href="https://twitter.com/farseerfc/status/541944351270518784">2014 12月 8日</a></blockquote>嫁になってくれませんか?2013-02-20T20:42:00+09:002013-02-20T20:42:00+09:00farseerfctag:farseerfc.me,2013-02-20:/jp/marry-me.html<div class="panel panel-default">
<div class="panel-heading">
画像はこのように</div>
<div class="panel-body">
<blockquote>
<!-- PELICAN_BEGIN_SUMMARY -->
<img alt="嫁になってくれませんか?" class="img-responsive" src="/images/marry-me.png"/>
<!-- PELICAN_END_SUMMARY -->
</blockquote>
</div>
</div>
<p>上のは飾りだけ、遊べるのはこれ:</p>
<script src="/static/three.min.js" type="text/javascript"></script>
<script src="/static/FirstPersonControls.js" type="text/javascript"></script>
<script src="/static/helvetiker_regular.typeface.js" type="text/javascript"></script>
<script src="/static/214game.js" type="text/javascript"></script>
<div id="game_area" style="width: 600px; height: 450px; margin-left: 10px;clear:both">
</div>
<p style="margin-left: 100px; margin-top: 10px; ">* WASD←→ で移動する,WebGL が必要</p>MSR 2012 @ ICSE2012-06-02T10:42:00+09:002012-06-02T10:42:00+09:00farseerfctag:farseerfc.me,2012-06-02:/jp/msr2012.html
<div class="section" id="mining-software-repository-2012-icse">
<h2><a class="toc-backref" href="#id3">Mining Software Repository 2012 @ ICSE</a></h2>
<p>今年のMSRを参加しました、会場はチューリッヒ大学にあります。朝早く大学に
着いて、登録するときちょっと事情をありました。スイス人は明らかに中国人
の名前をわからないから、3つの中国からの楊(Yang)の名札を間違えた。そ
して堀田先輩の名札に"Japan, Japan"になって、日本代表になった。</p>
<div class="section" id="msr-microsoft-research-talk-msr-mining-software-repositories">
<h3><a class="toc-backref" href="#id4">MSR(MicroSoft Research) talk @ MSR(Mining Software Repositories)</a></h3>
<p>まず一番目のKeynoteはマイクロソフトアジア研究院(MicroSoft Research @ Asia
,MSR Asia)のZhang氏が発表する、こうしてMSRがMSRに発表するになった。</p>
<p>Zhangの発表はSoftware AnalysisとXIAOの2つの紹介です。XIAOはマイクロソフト
が開発したCode Clone Detector、ある会社が私達に任せるのもこのようなシステム
です。もっと詳しく知りたいが、実装に関わるものは言ってなかった。</p>
</div>
<div class="section" id="towards-improving-bts-with-game-mechanisms">
<h3><a class="toc-backref" href="#id5">Towards Improving BTS …</a></h3></div></div>
<div class="section" id="mining-software-repository-2012-icse">
<h2><a class="toc-backref" href="#id3">Mining Software Repository 2012 @ ICSE</a></h2>
<p>今年のMSRを参加しました、会場はチューリッヒ大学にあります。朝早く大学に
着いて、登録するときちょっと事情をありました。スイス人は明らかに中国人
の名前をわからないから、3つの中国からの楊(Yang)の名札を間違えた。そ
して堀田先輩の名札に"Japan, Japan"になって、日本代表になった。</p>
<div class="section" id="msr-microsoft-research-talk-msr-mining-software-repositories">
<h3><a class="toc-backref" href="#id4">MSR(MicroSoft Research) talk @ MSR(Mining Software Repositories)</a></h3>
<p>まず一番目のKeynoteはマイクロソフトアジア研究院(MicroSoft Research @ Asia
,MSR Asia)のZhang氏が発表する、こうしてMSRがMSRに発表するになった。</p>
<p>Zhangの発表はSoftware AnalysisとXIAOの2つの紹介です。XIAOはマイクロソフト
が開発したCode Clone Detector、ある会社が私達に任せるのもこのようなシステム
です。もっと詳しく知りたいが、実装に関わるものは言ってなかった。</p>
</div>
<div class="section" id="towards-improving-bts-with-game-mechanisms">
<h3><a class="toc-backref" href="#id5">Towards Improving BTS with Game Mechanisms</a></h3>
<p>これの内容は基本的にこのブロクに書いています:</p>
<p><a class="reference external" href="http://www.joelonsoftware.com/items/2008/09/15.html">http://www.joelonsoftware.com/items/2008/09/15.html</a></p>
<p>同じ理論をIssue Trackingとかに応用できるかを言いました。個人的にこれは
意味ない気がします。stackoverflowの成功はOpen Software Communityにもと
もとある名誉システムを具現化したですから、それを会社の中に応用するのは
難しい気がする。</p>
</div>
<div class="section" id="ghtorrent">
<h3><a class="toc-backref" href="#id6">GHTorrent</a></h3>
<p>この研究のスライドはこちらに:<a class="reference external" href="http://www.slideshare.net/gousiosg/ghtorrent-githubs-data-from-a-firehose-13184524">http://www.slideshare.net/gousiosg/ghtorrent-githubs-data-from-a-firehose-13184524</a></p>
<p>Data exporter for github. Githubの主なデータはコード、それは既にgitから
アクセスできます、wikiはgitとして保存しているからそれも含まれている。
ですからこのプロジェクトの目的は他のデータを表せる、つまりissues, commit
commentsなど。このプロジェクトはgithub apiを通じて、分布システムとして
apiの制限を超える、そしてtorrentの形で歴史をdownloadできます。元のデータ
はbsonとしてMongoDBの保存して、Schemaを追加したデータはMySQLに保存する。</p>
<p>わたしの意見では、データをgitのrepoの形で保存するの方がいいかもしれない。
今のwikiのように、そしてgitoliteも全てのデータをgit自身の中に保存している。</p>
</div>
<div class="section" id="the-evolution-of-software">
<h3><a class="toc-backref" href="#id7">The evolution of software</a></h3>
<p>二日目のkeynotes, social mediaをソフトウェア開発に巻き込めるについて
話しました。もしかしてこれはGithubの成功の理論かもしれない。IDEの中に
social mediaのアクセスを欲しいと言いました。</p>
</div>
<div class="section" id="do-faster-releases-imporve-software-quality">
<h3><a class="toc-backref" href="#id8">Do Faster Releases Imporve Software Quality?</a></h3>
<p>Firefoxを例として研究しました。</p>
<p>結論としては、早い発行はbugを多く持たされ、crashがもっと頻繁になるが、
bugの修復も早くなって、そしてユーザー側はもっと早く新しい発行に移動する
ことをわかりました。</p>
</div>
<div class="section" id="security-vs-performance-bugs-in-firefox">
<h3><a class="toc-backref" href="#id9">Security vs Performance Bugs in Firefox</a></h3>
<p>性能に関するbugはregression テストが要る、そして発行を阻止する。</p>
</div>
<hr class="docutils"/>
<div class="section" id="id1">
<h3><a class="toc-backref" href="#id10">思いつき</a></h3>
<div class="section" id="topiccommit">
<h4><a class="toc-backref" href="#id11">topicに基づいてcommitの分析と分割</a></h4>
<p>よく使うツール(例えばgit)のユーザーはツールの設計者の意図を従って
ツールを使うことはない、設計者が思った用途以外にも使っていることが多い、
それはMiningに対しては色々困難を持たされています。例えばgitには完璧な
branch機能がある、通常にgitのユーザーが一つのcommitに一つの機能を実現
してほしい、例としてはbugの修復とか、機能の追加とか。それは難しいなら
branchを使って、一連のcommitを一つのbranchになって、一つのbranchに一つ
の機能を実現してほしい。それなのに、現状では、沢山の編集を一つのcommit
に含まれていて、後の管理とか情報の収集とかが困難になってしまう。</p>
<p>それはユーザーの悪いと思わない、ツールの方がもっと頑張らないとユーザー
は正しく使えない。もしcommitの時、自動的にcommitの内容を分析して、
その中にtopicによって分けて、ユーザーに推薦するのをてきたらいいなぁ、
と思っています。このように一つのcommitを多くに分割したら、commitの履歴
をもっと見やすくなって、続いて分析とかも便利になるはずです。</p>
</div>
<div class="section" id="slide">
<h4><a class="toc-backref" href="#id12">今回に皆使っているslideのシステム</a></h4>
<p>タイトルは <pre><span class="code-line"></span>
<span class="code-line">Incorporating Version Histories in Information Retrieval</span>
<span class="code-line">Based Bug Localization</span></pre>
の人が使っているのはbeamerです。数式が多くて、
overlayも多くて,iterateも多い、図だけ少ない、典型的にbeamerに作れそうな
スライドです。mindmapの使いもうまい。今日の一日に少なくとも3個のslideは
beamerで作られています。</p>
<p>タイトルは <pre><span class="code-line"></span>
<span class="code-line">Towards Improving Bug Tracking Systems with Game Mechanisms</span></pre>
の人はpreziを使いました、図が多くて、transitionも多い。但しスライド
としては必要なページ数とかがなくて、このような国際会議の場合にはもっと
工夫をした方がいいかもしれな。</p>
<p>少なくとも六人以上はAppleのKeynoteをつかていまう。Keynoteによる作った
スライドはPowerpointのになかなか区別しがたいですが、その中に二人は
defaultのthemeを使ったからわかります、他の人はPPTに決してありえない
アニメションを使っていますから、多分keynote。</p>
<p>残りは勿論Powerpointです。MSRAの張さんが作ったのはpowerpointなんですけど、
すごくbeamerの感じがします、例えばheaderとfooterの使い方とか、overlay
見たいのものでページのitemを一つずつ展開するとか。それらを全部powerpoint
で作るのは相当手間がかかりそうです。</p>
<p>ちなみに言いたいのは一つタイトルは <pre><span class="code-line"></span>
<span class="code-line">Green Mining: A Methodology of</span>
<span class="code-line">Relating Software Change to Power Consumption</span></pre>
のスライドは全部 <pre><span class="code-line"></span>
<span class="code-line">下手</span></pre>
な手描きの漫画で表せている、火狐のアイコンさえ手描きする、効果は意外に
評判がいい。省エネでグリンで環境にいいで可愛らしい。具体的な効果は下の
リンクから見えます、現場で見たのは別のバージョンなんですけど:</p>
<p><a class="reference external" href="http://softwareprocess.es/a/greenmining-presentatation-at-queens-20120522.ogv">http://softwareprocess.es/a/greenmining-presentatation-at-queens-20120522.ogv</a></p>
</div>
<div class="section" id="id2">
<h4><a class="toc-backref" href="#id13">マイクロソフトは腹黒っ子!</a></h4>
<p>まぁ大したニュースではないですけど、MSR2012のMining Challengeのスバンサー
はマイクロソフトで、商品はXboxとKinectですけど、今年のチャレンジのテーマは:</p>
<pre class="literal-block">
Mining Android Bug
</pre>
<p>マイクロソフトの殺意を感じしました。</p>
</div>
</div>
</div>
PyRuby2012-03-02T23:09:00+09:002012-03-02T23:09:00+09:00farseerfctag:farseerfc.me,2012-03-02:/jp/mix-ruby.html<p>きょう、Githubに <a class="reference external" href="https://github.com/danielfm/pyruby">PyRuby</a> というプロジェクトを見ました。それの説明にこう書いています:</p>
<pre class="literal-block">
PyRuby - Some Ruby for your Python!
PyRuby is a simple way to leverage the power of Ruby to make your Python code more readable and beautiful.
Usage
All you have to do is import the ruby module:
import ruby
From now on you should be …</pre><p>きょう、Githubに <a class="reference external" href="https://github.com/danielfm/pyruby">PyRuby</a> というプロジェクトを見ました。それの説明にこう書いています:</p>
<pre class="literal-block">
PyRuby - Some Ruby for your Python!
PyRuby is a simple way to leverage the power of Ruby to make your Python code more readable and beautiful.
Usage
All you have to do is import the ruby module:
import ruby
From now on you should be able to write Ruby code within a regular Python module. An example:
1.upto(10) { |n| puts n }
</pre>
<p>さらに、 <a class="reference external" href="http://pypi.python.org/pypi/pyruby/1.0.0">PyPI</a> にそれのパッケージもあった。</p>
<p>最初に、これはもう一つのPyPyで実現したRubyだと思った。少なくとも、本当のRubyをPythonから呼び出すの何かの魔法も可能かもしれない。</p>
<div class="section" id="ruby-py">
<h2>それのソースコートはこうなっています。 ruby.py</h2>
<div class="highlight"><pre><span class="code-line"><span></span><span class="c1"># -*- coding: utf-8 -*-</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="nb">print</span><span class="p">(</span><span class="s2">"""</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="s2"> `.-:/+ossyhhddmmmmNNNNNNNmmmmmdddddhhhyyyyhhhyo:`</span></span>
<span class="code-line"><span class="s2"> .:+sydNNNmmdhhysso++/+++++++////::::::-.```......--/oymms.</span></span>
<span class="code-line"><span class="s2"> `:ohmdys+//::/::--::::////:-.```......`````.://:-` `/dNs.</span></span>
<span class="code-line"><span class="s2"> .+hNds:`-:-:///::------::///++///:--....--::///::-`.///. `oMm/</span></span>
<span class="code-line"><span class="s2"> /hNmo.` `` `....``````````` ...------:::-:/+/-.:/:` /NMs</span></span>
<span class="code-line"><span class="s2"> oMd/` `::::--.---://+` //` `````-:::::+/-`::.` :NM+</span></span>
<span class="code-line"><span class="s2"> yN` -+.` `/` o. ``::.-:. `` :NN:</span></span>
<span class="code-line"><span class="s2"> :Nm - ./ : `.-://///:-. `-` `` :NN-</span></span>
<span class="code-line"><span class="s2"> /NM/ .-:::-.` `/ `:sdmdhyMMMMMMNNmy/` :mNo`</span></span>
<span class="code-line"><span class="s2"> :hMd: /dmddddNNmdy+-. `smmy/-```hMMMMMMMhydm/ `-.`` `...:mMm+.</span></span>
<span class="code-line"><span class="s2"> -hNd/-/o/-..-::`.ydmmmmNMMMMMMNh:/+- dMN-`-+hmmmmdhhhhdddmMN-`-/o: .-::::/oydms-</span></span>
<span class="code-line"><span class="s2"> oNMo:+/::. ``...--:/+ohNMNhs- :hNmmdyo:..``yo-```.--. `-`-+shdddhs+-` `.//yms.</span></span>
<span class="code-line"><span class="s2"> .MMo:/`o:.:+sso+:-` sM+ ./-` /mNh+-....-/ymNNdo::--/shd+` -`:mm:</span></span>
<span class="code-line"><span class="s2"> /MM-o ./ ohhsooohNmy::sh. `yM/ `:oyyyyyyhys+:.` hy `/Nh` : -NN.</span></span>
<span class="code-line"><span class="s2"> -MM// -: `` y: odddhh+ -omNh- `--.` `` ```` .:ohMMs. +Ms / yMo</span></span>
<span class="code-line"><span class="s2"> hMoo .+. :Mh ```` `/hNd/.` ohdddy::...`..` `-/sdmdyo+NMNh+- :Mh / sMs</span></span>
<span class="code-line"><span class="s2"> .mmh:..:. :NMm `-/dMNM+ ./+++/:`.hM:`.````.` `-/shmNmh+-` /Mmooso.hM/ .: `mM/</span></span>
<span class="code-line"><span class="s2"> .mNs://: .NMNMs- -:-.`/+-sms. ` `shyyyhy`sNd` `.:+sdmmmdMM-. .oNM+ :m/ `s``yMh</span></span>
<span class="code-line"><span class="s2"> -mMo . sMNdMNNh+-. .ydyoyy` ``+o::+shdddhs+:-.:MM.`.-+hNMMh- `.`-/::dNs`</span></span>
<span class="code-line"><span class="s2"> -NM- mMMMh:MMdNmhs+:-..```-ohs-`...-:/+syhddmMMs:-.` `/mMMdmmddNMm+` ..-/hNh-</span></span>
<span class="code-line"><span class="s2"> sMy NMMM`:Mh`-/mMmmmdddddddddhhhdNNdhyo+:--.yMs `..:+ymMMMMd+--yNh. `+hNh:</span></span>
<span class="code-line"><span class="s2"> -Mm NMMM/yMh -NM-`..--:NMo:--.`+My :MNoydmNMMNmhdMh` -dNs` `yMd:</span></span>
<span class="code-line"><span class="s2"> `MN mMMMMMMMyshMN+:---.-MN-.....+My...-:/oyhdMMMMNmdy+-` +Mh:sNm/ yMy`</span></span>
<span class="code-line"><span class="s2"> MN yMMMMMMMMMMMMMMMMMNMMMMNNNNNMMMNNNMMMMMNmhMM/-. `yMMNs. /My</span></span>
<span class="code-line"><span class="s2"> `MN :MMmMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmmdy+:-``NM- ./hNNy- /Nd`</span></span>
<span class="code-line"><span class="s2"> -Mh dMydMmsNMNdNNMMmmmNMMMdddhys+yMo`` /Nm: `:yNNdo. .sNd.</span></span>
<span class="code-line"><span class="s2"> +Ms .mMsMN::NN:.:MN: `.+NM. +Mo +Mm+ymNdo- .omm+`</span></span>
<span class="code-line"><span class="s2"> yM: .hNMd+:sMN. oMm. oMo +Mh ```.:+shMNmy+-``.-:-..-//-`:yNmo`</span></span>
<span class="code-line"><span class="s2"> mM. :ohmNNMMdhyMMdo//+Mm//////sMNhyhhdmNNmhs/-``./+/:--+so/-:smNy/`</span></span>
<span class="code-line"><span class="s2"> .Mm `` .-:/+osyyhhddddddddddhhyysoo+/:-. `./+//--+oo/--+ymmy/.</span></span>
<span class="code-line"><span class="s2"> :Mh .: `+:` `.------------` ```-////:/++/:../ydNdo:`</span></span>
<span class="code-line"><span class="s2"> +Ms `/` :+o+:-``` ``..-::///++///:-.`-+ydNdo:`</span></span>
<span class="code-line"><span class="s2"> oMs :/:.`` `..---.``` ````````..-:/:::---.` `-ohmmh+:`</span></span>
<span class="code-line"><span class="s2"> /Mh .://///:::-----.-----.......` `-+hmmy+-</span></span>
<span class="code-line"><span class="s2"> sMy` ``````-+ydmy+-</span></span>
<span class="code-line"><span class="s2"> /mNs-` `./ohmNMNNNmy+-</span></span>
<span class="code-line"><span class="s2"> /yNmho/:.``````````.-:/+syhdNmdyso+/-.`</span></span>
<span class="code-line"><span class="s2"> `:+ydmNMNNNNNNNNNmdhys+/:.`</span></span>
<span class="code-line"><span class="s2"> ``.....`</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="s2"> LOL U MAD?</span></span>
<span class="code-line"><span class="s2">"""</span><span class="p">)</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="kn">import</span> <span class="nn">sys</span></span>
<span class="code-line"><span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></span>
</pre></div>
<p>本当だ、Pythonの中にRubyを呼び出すという考えはアホだ。</p>
</div>
Pelicanを試してみた2012-02-24T17:33:00+09:002012-02-24T17:33:00+09:00farseerfctag:farseerfc.me,2012-02-24:/jp/try-pelican.html<p>一日の間に全ての
<a class="reference external" href="http://blog.yxwang.me/2011/11/migrated-to-octopress/">ギーク</a>
<a class="reference external" href="http://xoyo.name/2012/02/migrate-to-octopress/">たち</a>
<a class="reference external" href="http://blog.xdite.net/posts/2011/10/07/what-is-octopress/">が</a>
<a class="reference external" href="http://www.yangzhiping.com/tech/octopress.html">自分の</a>
<a class="reference external" href="http://pages.github.com/#user__organization_pages">Githubユーザーページ</a>
と <a class="reference external" href="http://octopress.org/">Octopress</a> ブログを導入したような気がします。皆がブログに書いた通りに、静的ブログは確かに WordPress
などの従来の動的ブログ・エンジンより便利だと思います。これらブログを見ると、私も自分の <a class="reference external" href="http://octopress.org/">Octopress</a> ブログを立ちましょう
とずっと思っています。</p>
<div class="section" id="id6">
<h2>ですが <a class="reference external" href="http://octopress.org/">Octopress</a> は私に向いてないかも</h2>
<p>初めのところに <a class="reference external" href="http://octopress.org/docs/setup/">Octopressの配置手順</a> に迷わされた。
<a class="reference external" href="http://beginrescueend.com/">RVM</a> とはなに? <a class="reference external" href="https://github.com/sstephenson/rbenv">rbenv</a> とは何のこと?見るところ Ruby コミュニティーの発展するハイペースは既に私の想像に超えましたみたい。
彼らは Ruby の各バージョン間に互換性を持つために、バージョン管理が必要らしいです。同様の互換性問題が Python コミュニティーにもある
ですが <a class="footnote-reference" href="#id10" id="id8">[1]</a> 、 Python は今のところこのようなバージョン管理の必要がないと思います <a class="footnote-reference" href="#id11" id="id9">[2]</a> 。</p>
<p>実際に迷惑したのは、私は今自由に持って遊べる Linux 環境が持っていないということ(ほしいなぁ……)。 ですが …</p></div><p>一日の間に全ての
<a class="reference external" href="http://blog.yxwang.me/2011/11/migrated-to-octopress/">ギーク</a>
<a class="reference external" href="http://xoyo.name/2012/02/migrate-to-octopress/">たち</a>
<a class="reference external" href="http://blog.xdite.net/posts/2011/10/07/what-is-octopress/">が</a>
<a class="reference external" href="http://www.yangzhiping.com/tech/octopress.html">自分の</a>
<a class="reference external" href="http://pages.github.com/#user__organization_pages">Githubユーザーページ</a>
と <a class="reference external" href="http://octopress.org/">Octopress</a> ブログを導入したような気がします。皆がブログに書いた通りに、静的ブログは確かに WordPress
などの従来の動的ブログ・エンジンより便利だと思います。これらブログを見ると、私も自分の <a class="reference external" href="http://octopress.org/">Octopress</a> ブログを立ちましょう
とずっと思っています。</p>
<div class="section" id="id6">
<h2>ですが <a class="reference external" href="http://octopress.org/">Octopress</a> は私に向いてないかも</h2>
<p>初めのところに <a class="reference external" href="http://octopress.org/docs/setup/">Octopressの配置手順</a> に迷わされた。
<a class="reference external" href="http://beginrescueend.com/">RVM</a> とはなに? <a class="reference external" href="https://github.com/sstephenson/rbenv">rbenv</a> とは何のこと?見るところ Ruby コミュニティーの発展するハイペースは既に私の想像に超えましたみたい。
彼らは Ruby の各バージョン間に互換性を持つために、バージョン管理が必要らしいです。同様の互換性問題が Python コミュニティーにもある
ですが <a class="footnote-reference" href="#id10" id="id8">[1]</a> 、 Python は今のところこのようなバージョン管理の必要がないと思います <a class="footnote-reference" href="#id11" id="id9">[2]</a> 。</p>
<p>実際に迷惑したのは、私は今自由に持って遊べる Linux 環境が持っていないということ(ほしいなぁ……)。 ですが <a class="reference external" href="http://beginrescueend.com/">RVM</a> それとも <a class="reference external" href="https://github.com/sstephenson/rbenv">rbenv</a> 両方も Unix/Linux/MacOSX しか実行できないらしいです。ギークとしたの皆は絶対に Windows つかっじゃいけないんですか?(本当かも……)。</p>
<p>残りは Ruby と Python の争いです。私は <a class="reference external" href="http://daringfireball.net/projects/markdown/">Markdown</a> に詳しくない、比べると <a class="reference external" href="http://docutils.sourceforge.net/rst.html">ReST</a> のほうが私に向いています。それに、どっちでも <a class="reference external" href="http://pygments.org/">Pygments</a> を依存しシンタックス・ハイライトをしているから、 Rubyist 達も少なくとも Python を入れなきゃダメみたいです。 私の好みは一切の Ruby コンポーネントを頼らず、 C 拡張もない純粋な Python の実現がほしいです。</p>
<p>そこから Github に Python で実現した静的ブログ・エンジンを探し始めた。 <a class="reference external" href="http://flask.pocoo.org/">Flask</a> の作者である <a class="reference external" href="https://github.com/mitsuhiko">mitsuhiko</a> 氏が書いた <a class="reference external" href="https://github.com/mitsuhiko/rstblog">rstblog</a> が素晴らしいが、あんまり他人に使われていないようです。 <a class="reference external" href="http://ringce.com/hyde">Hyde</a> は多く使われているけれと、ホームページにブログの感じがみえないです。最後に <a class="reference external" href="http://pelican.notmyidea.org/en/latest/">Pelican</a> を見かけました。</p>
<table border="0" class="docutils table footnote" frame="void" id="id10" rules="none">
<colgroup><col class="label"/><col/></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id8">[1]</a></td><td>例えば Python 2.x と 3.x の間にあまりにも巨大なる差、それと <a class="reference external" href="http://pypy.org/">PyPy</a> 、 <a class="reference external" href="http://python.org/">CPython</a> 、 <a class="reference external" href="http://www.stackless.com/">Stackless</a> 、 <a class="reference external" href="http://cython.org/">Cython</a> など各実現間に微妙な違いがあります。</td></tr>
</tbody>
</table>
<table border="0" class="docutils table footnote" frame="void" id="id11" rules="none">
<colgroup><col class="label"/><col/></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id9">[2]</a></td><td>はい、こっちに <a class="reference external" href="http://packages.python.org/distribute/easy_install.html">easy_install</a> とか <a class="reference external" href="http://www.pip-installer.org/en/latest/index.html">pip</a> があります、ですがそれらはパッケージ管理、特定なPython環境を入れた後の話です。Python自身はまだ管理する必要がないです。 Python のバージョン問題も <a class="reference external" href="http://docs.python.org/release/3.0.1/library/2to3.html">2to3.py</a> とか <a class="reference external" href="http://www.startcodon.com/wordpress/?cat=8">3to2.py</a> のようなツールで変換すればいいです、違うソフトを実行するためたくさんの Python バージョンを残る必要はないです。もしバージョンの違いが気にするなら <a class="reference external" href="http://pypi.python.org/pypi/virtualenv">virtualenv</a> を使うのも構わないが、それも別のことです。</td></tr>
</tbody>
</table>
</div>
<div class="section" id="id12">
<h2>それでは <a class="reference external" href="http://pelican.notmyidea.org/en/latest/">Pelican</a> にしよう</h2>
<p>私自身にとって、 <a class="reference external" href="http://pelican.notmyidea.org/en/latest/">Pelican</a> は <a class="reference external" href="http://octopress.org/">Octopress</a> よりいいところ:</p>
<blockquote>
<ol class="arabic simple">
<li>純粋な Python で実現した。ですから <a class="reference external" href="http://python.org/">CPython</a> のほかべつの実現を使うのも心配がない。例えばわたしは <a class="reference external" href="http://pypy.org/">PyPy</a> を使ています。</li>
<li>多言語。<a class="reference external" href="http://pelican.notmyidea.org/en/latest/">Pelican</a> の原作者はフランス人らしいです。ほとんどの人はこれの必要がないと思うが……できるだけ、わたしは三つの言語で書く。</li>
<li><a class="reference external" href="http://docutils.sourceforge.net/rst.html">ReST</a> 。それなら <a class="reference external" href="http://webpages.charter.net/edreamleo/front.html">Leo</a> の <pre><span class="code-line"></span>
<span class="code-line">@auto-rst</span></pre>
を使って直接 <a class="reference external" href="http://docutils.sourceforge.net/rst.html">ReST</a> をかけます。</li>
</ol>
</blockquote>
<p>でも <a class="reference external" href="http://pelican.notmyidea.org/en/latest/">Pelican</a> は <a class="reference external" href="http://octopress.org/">Octopress</a> のほど注目されていないから、一部問題があります。</p>
<blockquote>
<ol class="arabic simple">
<li>pelican-import は WordPress から導入する時、日本語や中国語は問題となります。</li>
<li>多言語の機能と日付、タイムゾーンなどにバグがある。 <strong>私は改善しています。</strong></li>
<li>テンプレートは少ない。</li>
<li>プラグインも少ない……</li>
</ol>
</blockquote>
<p>こんなに優れたツールにもっと注目されてほしい。</p>
</div>
<div class="section" id="id13">
<h2>配置</h2>
<p><a class="reference external" href="http://pelican.notmyidea.org/en/latest/">Pelican</a> を入れるのは簡単:</p>
<div class="highlight"><pre><span class="code-line"><span></span><span class="gp">$</span> pip install pelican</span>
</pre></div>
<p>文章を <a class="reference external" href="http://docutils.sourceforge.net/rst.html">ReST</a> で書いて、 <pre><span class="code-line"></span>
<span class="code-line">posts</span></pre>
フォルダーに置きます。ページを生成する:</p>
<div class="highlight"><pre><span class="code-line"><span></span><span class="gp">$</span> pelican -s settings.py</span>
</pre></div>
<p>Github に送る:</p>
<div class="highlight"><pre><span class="code-line"><span></span><span class="gp">$</span> git commit -am <span class="s2">"Commit message"</span></span>
<span class="code-line"><span class="gp">$</span> git push</span>
</pre></div>
<p>私の配置ファイル:</p>
<div class="highlight"><pre><span class="code-line"><span></span><span class="c1"># -*- coding: utf-8 -*-</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">TIMEZONE</span> <span class="o">=</span> <span class="s1">'Asia/Tokyo'</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">DATE_FORMATS</span> <span class="o">=</span> <span class="p">{</span></span>
<span class="code-line"> <span class="s1">'en'</span><span class="p">:(</span><span class="s1">'usa'</span><span class="p">,</span><span class="s1">'</span><span class="si">%a</span><span class="s1">, </span><span class="si">%d</span><span class="s1"> %b %Y'</span><span class="p">),</span></span>
<span class="code-line"> <span class="s1">'zh'</span><span class="p">:(</span><span class="s1">'chs'</span><span class="p">,</span><span class="s1">'%Y-%m-</span><span class="si">%d</span><span class="s1">, </span><span class="si">%a</span><span class="s1">'</span><span class="p">),</span></span>
<span class="code-line"> <span class="s1">'jp'</span><span class="p">:(</span><span class="s1">'jpn'</span><span class="p">,</span><span class="s1">'%Y年%m月</span><span class="si">%d</span><span class="s1">日(</span><span class="si">%a</span><span class="s1">)'</span><span class="p">),</span></span>
<span class="code-line"><span class="p">}</span></span>
<span class="code-line"><span class="c1"># windows locale: http://msdn.microsoft.com/en-us/library/cdax410z%28VS.71%29.aspx</span></span>
<span class="code-line"><span class="n">LOCALE</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'usa'</span><span class="p">,</span> <span class="s1">'chs'</span><span class="p">,</span> <span class="s1">'jpn'</span><span class="p">,</span> <span class="c1"># windows</span></span>
<span class="code-line"> <span class="s1">'en_US'</span><span class="p">,</span> <span class="s1">'zh_CN'</span><span class="p">,</span> <span class="s1">'ja_JP'</span><span class="p">]</span> <span class="c1"># Unix/Linux</span></span>
<span class="code-line"><span class="n">DEFAULT_LANG</span> <span class="o">=</span> <span class="s1">'zh'</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">SITENAME</span> <span class="o">=</span> <span class="s1">'Farseerfc Blog'</span></span>
<span class="code-line"><span class="n">AUTHOR</span> <span class="o">=</span> <span class="s1">'Jiachen Yang'</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">DISQUS_SITENAME</span> <span class="o">=</span> <span class="s1">'farseerfcgithub'</span></span>
<span class="code-line"><span class="n">GITHUB_URL</span> <span class="o">=</span> <span class="s1">'https://github.com/farseerfc'</span></span>
<span class="code-line"><span class="n">SITEURL</span> <span class="o">=</span> <span class="s1">'http://farseerfc.github.com'</span></span>
<span class="code-line"><span class="n">TAG_FEED</span> <span class="o">=</span> <span class="s1">'feeds/</span><span class="si">%s</span><span class="s1">.atom.xml'</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">SOCIAL</span> <span class="o">=</span> <span class="p">((</span><span class="s1">'twitter'</span><span class="p">,</span> <span class="s1">'http://twitter.com/farseerfc'</span><span class="p">),</span></span>
<span class="code-line"> <span class="p">(</span><span class="s1">'github'</span><span class="p">,</span> <span class="s1">'https://github.com/farseerfc'</span><span class="p">),</span></span>
<span class="code-line"> <span class="p">(</span><span class="s1">'facebook'</span><span class="p">,</span> <span class="s1">'http://www.facebook.com/farseerfc'</span><span class="p">),</span></span>
<span class="code-line"> <span class="p">(</span><span class="s1">'weibo'</span><span class="p">,</span> <span class="s1">'http://weibo.com/farseerfc'</span><span class="p">),</span></span>
<span class="code-line"> <span class="p">(</span><span class="s1">'renren'</span><span class="p">,</span> <span class="s1">'http://www.renren.com/farseer'</span><span class="p">),</span></span>
<span class="code-line"> <span class="p">)</span></span>
<span class="code-line"></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">TWITTER_USERNAME</span> <span class="o">=</span> <span class="s1">'farseerfc'</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">THEME</span><span class="o">=</span><span class="s1">'notmyidea'</span></span>
<span class="code-line"><span class="n">CSS_FILE</span> <span class="o">=</span> <span class="s2">"wide.css"</span></span>
<span class="code-line"></span>
<span class="code-line"><span class="n">DEFAULT_CATEGORY</span> <span class="o">=</span><span class="s1">'Others'</span></span>
<span class="code-line"><span class="n">OUTPUT_PATH</span> <span class="o">=</span> <span class="s1">'.'</span></span>
<span class="code-line"><span class="n">PATH</span> <span class="o">=</span> <span class="s1">'posts'</span></span>
</pre></div>
</div>
“…if we do this work … ” --Bill Gates2011-03-14T20:34:00+09:002011-03-14T20:34:00+09:00farseerfctag:farseerfc.me,2011-03-14:/jp/if-we-do-this-work.html<p><a class="reference external" href="http://blog.renren.com/blog/230263946/716517729">renren</a>
から導入した。</p>
<p>From: Bill Gates</p>
<p>’-- Sent: Sunday, January 24, 1999 8:41 AM</p>
<p>Jeff Westorinon; Ben Fathi ;</p>
<p>TO: Carl Stork (Exchange); Nathan Myhrvofd; Eric Rudder</p>
<p>Subject: ACPI extensions</p>
<p>One thing I find myself wondering about is whether we shouldn’t try and
make the "ACPI" extensions somehow Windows specific.</p>
<p>It …</p><p><a class="reference external" href="http://blog.renren.com/blog/230263946/716517729">renren</a>
から導入した。</p>
<p>From: Bill Gates</p>
<p>’-- Sent: Sunday, January 24, 1999 8:41 AM</p>
<p>Jeff Westorinon; Ben Fathi ;</p>
<p>TO: Carl Stork (Exchange); Nathan Myhrvofd; Eric Rudder</p>
<p>Subject: ACPI extensions</p>
<p>One thing I find myself wondering about is whether we shouldn’t try and
make the "ACPI" extensions somehow Windows specific.</p>
<p>It seems unfortunate if we do this work and get our partners to do the
work and the result is that <strong>Linux works great without having to do the work</strong>.</p>
<p><strong>Maybe there is no way to avoid this problem but it does bother me.</strong></p>
<p>Maybe we could define the APIs so that they work well with NT and not
the others even if they are open.</p>
<p>Or maybe we could patent something relaled to this.</p>
<p>From:</p>
<p><a class="reference external" href="http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf">http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf</a></p>
<p>もしこれは今更Xen4.0の上にACPI 3.0完全的なサポートが得ない原因、ならBill Gatesを呪います!</p>