2020年9月18日金曜日

Microsoft StoreのUbuntu 18.04 LTSに日本語をインストール

Microsoft Store の Ubuntu 18.04 LTSを使ってるんですが、これを日本語対応にしました。

sudo apt -y install language-pack-ja
sudo update-locale LANG=ja_JP.UTF8

タイトルバーを右クリック→プロパティ→フォントで日本語が表示できるフォントを選ぶ。

2020年9月4日金曜日

highlight.jsを入れました

Syntax Highlighter が機能していなかったので、highlight.jsに切り替えました。以前のコード部分はそのままです。個々の記事に修正が必要なので過去の記事への反映は断念しました。

テーマに入れたhtml


<link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.1.2/build/styles/github.min.css"></link>
<script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.1.2/build/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

2020年8月12日水曜日

Pydun 1.2.1 リリース

私が作成している、3DダンジョンRPG用のマッピングツール Pydun の新バージョン1.2.1をリリースしました。プロジェクトのサイトからダウンロードできます。座標軸の方向を変更できるようになりました。

2020年6月20日土曜日

Pydun 1.2.0 リリース

1年前の話ですが、書き忘れてたので。 私が作成している、3DダンジョンRPG用のマッピングツール Pydun の新バージョン1.2.0をリリースしました。プロジェクトのサイトからダウンロードできます。絵文字が使えるようになりました。環境によってはフォントもきれいになるはず。

DB Browser for SQLite が 3.12.0 をリリース

私が日本語翻訳を提供した、DB Browser for SQLite ( https://sqlitebrowser.org/ )が 3.12.0 をリリースしました。ご利用いただければ幸いです。
誤訳等がありましたら、GitHubにあるリポジトリー に直接PRを投げるか、私までご連絡ください。

Windowsで動かすとこんな感じ。



こちらは、Linux。


おまけ こんな環境でビルドしました

  • Microsoft Store から、 Ubuntu 18.04 LTS (古いバージョンなのは特に意味はない。最新版でよい。Windows上でビルドは大変なので、Linuxを使う。)
  • Qt (特にLinguist。翻訳ファイルの更新に使う。)
  • VcXsrv Windows X Server (X-server。表示用。)
コンパイル等の手順は、GitHubに書いてある。

(構築手順をメモっておけばよかった。もう忘れてしまいましたが、そんなに難しくはない。)

2016年11月30日水曜日

入院時にラジオがよい理由の解説

以下のtweetでは説明しきれなかった部分を補足します。

注意書き

この記事では、「入院時にはラジオが使いやすくコストパフォーマンスが良い」という主張をします。「ラジオはほかのメディアより面白い」という主張はしません。何が面白いかは人によって違いが大きすぎるからです。ただし、「ラジオはテレビと同程度には面白いと予想できる客観的な理由」は示します。

tweetの解説

コストが安い

ラジオは安いものでは1000円程度で購入できます。機種にもよりますが、電池の持ちは他の機器とくらべかなり良いです。充電式の電池を使ってもよいでしょう。イヤホンは必須ですが、携帯ラジオならば付属しているかもしれません。ラジオは高音質があまり望めないので、安いイヤホンで十分です。AMしか入らないラジオは不適です。病院はほぼ間違いなく鉄筋コンクリートでできています。そのため、病室ではAMの電波は受信しづらいと考えられます。FMならば、建物内でも受信しやすいです。また、近頃はワイドFMと言って、AM放送と同じ内容をFMでも放送するということをやっている局もあります。

消灯時間でもつかえる

入院時には夜中に目が覚めることが多くなります。理由は「痛み」「治療・投薬」「昼寝しすぎた」などいろいろあります。自宅ならば、眠れないときテレビを見たり本を読んだりできますが、病院には消灯という制度があるため、自由に照明をつけることはできず、目を使う暇つぶしは使えません。それに対し、耳で楽しむことができるラジオはどのような場合でも使うことができます。

どのような体勢でも使える

入院するほど体が悪いときは、起き上がっているだけでもつらいです。そもそも起き上がることを禁止される場合もあります。また、点滴や医療機器につながれているときは、手が動かしづらいとか、寝返りができないとか行動が制限されます。このようなときにテレビを見たり本を読んだりするのはとても難しいことがあります。ラジオはどのような態勢でも聴取できます。

局ごとの番組の違いが顕著である

テレビはどの局でもワイドショーで同じ話題(今だと豊洲問題とか)ばかりやっていることがあります。ラジオはそのようなことは少ないように思います。例外はプロ野球の中継です。AM局は夜は野球中継になることがとても多いです。ちなみに私が入院していた茨城県水戸市の病院では、すくなくとも8局受信できました。これは地上波のテレビで受信できる局数(7局)を上回ります。

他の暇つぶしツールとの比較

全般:電源の確保

病院によって異なると思いますが、コンセントの電源は使えないと考えられます。したがって、乾電池や携帯用バッテリーで電源を確保できない場合は使用時間が制限されます。

テレビ

消灯時間には使えません。テレビが見えるように起き上がるのは難しいかもしれません。お金を払ってみるシステムの場合、お金がかかります。例えば1分=1円ならば、8時間(1日当たりの労働時間の基準)みると480円かかります。

本・雑誌・新聞

消灯時間には使えません。体調が悪い時に文字を読むのはつらいです。本・雑誌は思ったより重いので持ち上げるのがつらいかもしれません。本はいっぱいあると置き場所に困るかもしれません。

携帯型デジタル音楽プレイヤー

ipodとかウォークマンとかのことです。新しい情報(ニュース、新曲)を手にいれるのが難しいかと思います。

パソコン・携帯電話

病室では、この手の機器は使用禁止なことが多いです。消灯時間には使えません。パソコンならばインターネットにつなぐ手段を準備する必要があります。

よくある質問

ラジオって面白いの?

最初に書きましたが、何が面白いかは人によって違いが大きいのでなんともいえません。ただ、首都圏ならば、テレビでレギュラーを持っている人がラジオをやっていることが結構あります。TBSが一番顕著です。したがって、おおむねテレビと同じ程度には面白いのではないかと思います。

ラジオのだめな点は?

  1. 日曜深夜にはほぼ放送を休止してしまいます。
  2. 耳が不自由な方、イヤホンが使えない方には使えません。

おまけ

療養中の人がいることを明確に意識しているのは、私が把握している限り、大沢悠里のゆうゆうワイド 土曜日版ジェーン・スー 生活は踊るです。他にもあるかもしれません。教えてくれれば追記します。

2016年10月7日金曜日

大怪我をしました

大怪我をしました。このブログのテーマと関係はありませんが、特に自分のために記録に残しておきます。

怪我した経緯

6/1 19時ごろ、よそ見して歩いていたらバランスを崩してガラス板に突っ込み、結果、いろいろなところを切りました。怪我した場所は、

  • 右目の上(出血がひどかった)
  • 右腕の二の腕
  • 右足膝下
  • その他かすり傷いくつか
でした。右足以外は縫って終わりで、それほど大きな問題ではないので、以下省略します。

1回目の手術

右足はコンパートメント症候群になったため、全身麻酔で手術をしました。手術後2日は集中治療室にいました。出血がひどく、何度か輸血しました。ちゃんと確かめたわけではありませんが、1リットルぐらい出血したらしいです。このころは痛みがひどく、痛み止めをいっぱい使いました。このころは、右足が3倍ぐらいにはれ上がっていました。

一般病棟へ

6/3に一般病棟に移りました。右足は、切開した部分を閉じていないため、出血が続いていました。そのため、包帯の上から、紙おむつを巻いていました。紙おむつはベットの上で水を使うとき(例えば頭を洗う)によく使いました。紙おむつすごい。このころまでは、ほとんど体を動かすことが出来ませんでした。

リハビリで倒れる

6/6からリハビリで、棒につかまりながら歩きました。痛みのため、右足はほとんど使えなかったです。しかし、血圧が下がりすぎ意識を失い倒れてしまいました。次の日も倒れてしまいました。6/8にはなぜ意識を失うのか色々調査しました。調査の最中にも意識を失いました。調査の結果、特に大きな問題があるわけではなかったそうです。当時は平常時の血圧が通常より40ぐらい低かったのでそりゃ倒れるよね。その後のリハビリは、寝た状態でやるものになりました。このとき以降は、右足以外は正常だったので車いすで移動していました。しばらくは看護師さんの付き添い付き、1週間ぐらいすると、一人で移動する許可が出ました。

だんだんひまになる

怪我した直後は生きているだけでせいいっぱいでしたが、状態が落ち着いてくると、だんだんひまになっていきます。ひまつぶしに利用したものはこれらです。

  • ラジオ
    • 普段からラジオをよく聞くのでかなり早い段階で準備してもらいました。病院はたぶん鉄筋コンクリートのため、AMはまともに受信できません。FMは普通に入りました。ワイドFMのおかげでラジオ局の選択肢も広くなりました。消灯後も使用できますし大変重宝しました。Eスポで中国?の放送局も聞けました。
  • 新聞・雑誌
    • リハビリを兼ねて病院の売店によく買いに行きました。ただ、費用対効果は微妙です。
  • 猫の写真
    • 妹が持ってきてくれました。妹マジ有能。
  • 携帯ゲーム機
    • 点滴が外れて腕が自由になったときに持ってきてもらいました。病院内で自由に充電できなかったため、その点は不便でした。
病院でのひまつぶしの定番はテレビですが、ほとんど使いませんでした。ノートパソコンを持ち込むことも検討しましたが、ネットにつなげないことで断念しました。

謎の吐き気

6/11,12ごろに強い吐き気を感じました。念のため、頭部のCT、検便等の検査を行いました。結果異常はなかったとのことです。その後吐き気を感じることはなかったため様子見となりました。このころになると、傷口が痛むことはほとんどなく、足首が物理的に曲がらない、足首から先がしびれる、もしくは、感覚がない状態でした。腫れはだんだん引いてきて通常の2倍ぐらいになりました。リハビリでは何かにつかまって歩くことを始めました。

2回目の手術

右足の腫れがある程度引いてきたため、6/21に傷口を閉じる手術を全身麻酔で行いました。あわせて、切れた神経をつなげる手術を行いました。このときは集中治療室に入ることはありませんでした。手術直後は1回目と同じぐらいつらかったですが、復活するスピードは1回目より早かったです。

歩く

6/25に何にも捕まらずに歩く許可が出ました。普通、車いす使用の状態から何も使わずに歩く状態になるのはあまりないようで、何人かの看護師に驚かれました。このころには足首が90度には曲がるようになりました。

リハビリが覚えられない

このころになると、自宅で行うリハビリの内容を教えてもらったのですが、これが全然覚えられない。メモ帳にやりかたを書いたけど知らないうちに自己流に代わっているかもしれないが、確かめるすべがない。

退院

6/30に退院しました。病院と勝手が違うため、自宅でもなれるのに数日かかりました。

オチ、ほんとに恐ろしかったこと

ほんとに恐ろしかったことは、怪我直後のつらさ、手術直後のつらさと、4月まで働いていた会社でのつらさがあまり変わらなかったことです。ほんとにいやだったんだなと改めて思いました。

2015年12月6日日曜日

ノートパソコンにUbuntu(Lubuntu)をインストールする

ノートパソコンにLubuntuを入れなおしました。Kubuntuでは遅くていろいろと支障が出たので、軽量なのに変えました。Lubuntuにしたら、まあまあの速度になりました。インストールは、あまり悩むことはありませんでした。メモ程度になりますが備忘録として残しておきます。

  1. Lubuntuの公式サイトからisoイメージをダウンロードする。
  2. Linux Live USB CreatorでUSBメモリに書き込む。
  3. USBメモリからブートして画面の指示に従ってインストールする。
  4. sudo apt-get install libreoffice libreoffice-help-ja teamviewer keepass2 clamav
    
  5. Vivaldiだけはリポジトリがないので、手動で入れる。KubuntuにVivaldiをインストールするを参考にする。

Raspberry Pi2 にインストールした Raspbian を日本語化する

Raspberry Pi2 にRaspbian をインストールするの続きです。インストール時の言語に日本語を選択しているものとします。

フォントのインストール

LXTerminalで以下のコマンドを実行します。Takaoを入れます。

sudo apt-get install fonts-takao

表示の日本語化

  1. [Menu]-[Preferences]-[Raspberry Pi Configuration]を選択します。
  2. [Localisation]を選択します。
  3. [Set Locale]を選択し、[ja JP UTF-8]を選択します。
  4. [Set Timezone Area]を選択し、[Japan]を選択します。
  5. [Set Keyboard Country]を選択し、[Japan Variant][Japanese]を選択します。下のテキストボックスで、記号(#など)が正常に入力できればOKです。

日本語入力のインストール

Kubuntuで日本語入力できるようにするを参考にインストールします。

LibreOfficeの日本語化

Ubuntu初心者の集いブログ LibreOffice メニュー日本語化を参考にしました。LXTerminalで以下のコマンドを実行します。

apt-get install libreoffice-help-ja

Raspberry Pi2 にRaspbian をインストールする

動機

前からテレビの大画面でパソコンを使いたかったのでいろいろ試してました。EZCastという、Androidの画面をテレビに表示できる製品を使っていたのですが、レスポンスがよくないうえに、ドングルに猫(かわいい)が体当たりして壊してしまったのでそのままになっていました。しかし、そのままでは面白くないので、一念発起しRaspberry Piをテレビに接続することを考えました。

スペック

NOOBSを使ったRaspbianインストール手順

  1. microSDカードをパソコン(に接続したアダプター)に差します。
  2. 公式サイトのDownloadにいっぱいOSが並んでいます。今回はNOOBSを選択します。最初はネットワークに繋がないので、NOOBS(LITEでない)をダウンロードします。[Download ZIP]をクリックしてダウンロードします。サイズが大きいので時間がかかります。
  3. NOOBS SETUPに従い、SD Association’s websiteからSD Card Formatterをダウンロードします。画面の下のほうにある、[Download SD Formatter for Windows]をクリックします。
  4. 画面の下のほうにある、[Accept]をクリックします
  5. Zipファイルがダウンロードされます。このファイルを解凍すると、Setup.exeができるので、これを起動すると、インストールが始まります。あとは画面の指示に従います。
  6. SDFormatterを起動して、microSDカードをフォーマットします。ドライブを選択して、[フォーマット]をクリックします。あとは画面の指示に従います。
  7. ダウンロードしたNOOBSのzipファイルを解凍します。できたファイルをmicroSDカードにコピーします。
  8. Raspberry Pi に microSDカード、USBキーボードとマウスを差し、電源となるMicro USBを差し込みます。ランプが点滅したら、正常起動しています。
  9. ダイアログが出てきたら、下にあるボックスで日本語を選択します。
  10. Raspbianにチェックを入れて、Installをクリックします。
  11. しばらく待ちます。プログレスバーで進捗がわかるので安心です。Windowsは見習ってください。(詳細は下の記事参照)
  12. wifiを設定します。右上の一番左に電波アイコンがありますのでここをクリックして設定します。
  13. bluetooth(キーボード、マウス)

    つながったりつながらなかったりしていまいちよくわかりません。とりあえずこれで何となくつながるようになりました。

    1. sudo apt-get install blueman
    2. メニューから設定-Bluetooh-マネージャーを選択します。
    3. デバイスを接続設定モードにします
    4. 検索、デバイスを選択、セットアップ、ランダムなパスキーを使用してください、入力サービス、を選択します。
    5. 接続に失敗しましたと出ます。
    6. 右クリックでconnect
  14. 日本語化はRaspberry Pi2 にインストールした Raspbian を日本語化するを参照してください。
  15. Windows 10 IoT Core インストール手順

    インストールには成功したものの、思ってたのと違うので使用はやめました。もったいないのでインストール手順は残しておきます。

    1. microSDカードをパソコン(に接続したアダプター)に差します。
    2. 公式サイトのDownloadにいっぱいOSが並んでいます。今回はWindowsをインストールするので、Windowsを選択します。Windows IoTのDownload画面が開くので、[Download RTM Release for Raspberry Pi 2]をクリックしてISOファイルをダウンロードします。このファイルはmicroSDカードには書き込みません!
    3. ISOファイルをディスクに書き込みます。一度しか使わないので、Virtual CloneDriveのような仮想ドライブでよいでしょう。
    4. ディスクの中にある[Windows_10_IoT_Core_RPi2.msi]を起動してWindowsIoTをインストールします。
    5. WindowsIoTImageHelperを起動します。
    6. SDカードと、imageファイル(たぶんC:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2\flash.ffu)を選択して、[Flash]を選択します。実行中の黒い画面が出てきます。完了したら、SDカードを取り出します。
    7. Raspberry Pi に microSDカード、USBキーボードとマウスを差し、電源となるMicro USBを差し込みます。ランプが点滅したら、正常起動しています。
    8. しばらく待ちます。画面が真っ黒になったりしますが、辛抱強く待ちます。
    9. しばらくすると、それっぽい画面が出てきます。おめでとう! でも、これだけではこれ以上何もできません。残念。というわけで、そっと電源を落としました。(右上の電源アイコンから落としましょう)

2015年11月3日火曜日

PyCon JP 2015に行ってきました。2日目+全体感想

PyCon JP 2015に行ってきました。1日目の続きです。以下に2日目と全体の感想を書きます。正直、時間が空いてよくわからなくなっている部分があります。

感想

Possibilities of Python 〜エンジニア・コミュニティ で組織は動き出す

基調講演。

  • エンジニアの望むような会社にする。
  • OSSのような組織にする。セルフマネジメント。主体性。
  • 経営者は権力でなく役割。
  • 社員がみんな根っからのエンジニアならばうまくいくのだろうが、ある程度組織が大きくなるとどうしても混じってくる「エンジニアでない」人にどのように対処するのか聞きたかったです。そういう人は会社に入れず少数精鋭でやるのが良いのでしょうか。

ポスターセッション

いくつか見ましたが、印象に残ったのはこれ

Pyexperiment

GitHubにソースがあります。簡単にコマンドラインを構築するライブラリ。かなり感動して、その場でインストールしようとしたが、うまくいかなかった。

ランチ

1日目と同じ。グリーンカレーを食べました。おいしかったです。

Pythonで3Dデータモデリング&3Dプリント

3Dプリント用のデータをPythonで作るという話

  • blender, fusion360, pymesh, octoprint
  • blenderは前から聞いていましたが、想像力があればいろいろできそうです。

uWSGI/Dockerを利用したWebサービス運用事例

wsgiサーバ構築事例のベンチマークを比較

  • gnicornはシンプル
  • uwsgiは多機能。ちょっと速い。
  • 正直自分の知識がないので、よくわかりませんでした。

野球Hack!~Pythonを用いたデータ分析と可視化

大量の野球データをいろいろいじってみた話

  • 全体的に楽しい話でした。
  • 書いては壊すを繰り返す。
  • Pythonならとりあえず何でもできる。けど、他の言語でもできる。
  • vagrant, ansible, docker
  • 不確定要素が多い場合はPythonは強い。
  • 個人的に衝撃的だったのは梶谷の三振の多さでした。

アドネットワークのデータ解析チームを支える技術

インターネット広告を、広告を提供する人、広告を表示してお金をもらう人の両方を満足させるように広告を表示する仕組みの話

  • pythonだと速度が問題になる。
  • Google Big Query
  • 雑に作ってまずは動かす。
  • 疎結合にして、一部をPython
  • シビアな環境で大変そうです

LT

  • TOC思考プロセスで考えるPython 2→3移行問題
    • Python2で運用を続けるか、Python3に書き換えるか、どちらが良いか?
    • 対立する要求をかき出す。共通の目的があれば妙案が出てくるはず。
  • Diversity in Brazil
    • ブラジルのコミュニティーの紹介
    • 3dプリントで亀の甲羅とかを作った
  • PyCon JP の舞台裏
    • チケット料金の使い道は公開しています。
    • 食事代で半分使っています。
    • 英語なのでメールの返信が遅れました。
  • sqldf for pandas
    • pandasは複雑なので、sqlで書けるようにした。
    • pysqldf
  • ソーシャルログインを補完: PayPal APIを使った信憑性の高いユーザーデータベース の構築
    • ソーシャルログインはリアルなデータでない可能性がある。
    • PayPal APIで本人確認、与信確認ができる。

全体の感想

地方に住んでいるとなかなか会社外のエンジニア、利害関係がない人に会う機会がないので、このようにいろいろなレベルの高い人の話を聞けるのは純粋に楽しいです。今年は大規模データをごにょごにょする話が多かった印象がありますが、Pythonの可能性はそれだけではないと思います。Pythonの、ライブラリが豊富、開発スピードが速いという利点を生かしていろいろやってみたいと思いました。

要望

PyCon JPはとても良いと思いますが、それでもいくつか不満があります。次回は改善してくれることを希望します。

  • 会場が狭い。会場の椅子に座りきれない人がいつも出るのはよくないと思います。
  • 食事代抜きのチケットを出してほしい。正直、参加しないことが分かっているパーティのために余計にお金を払うのはつらいです。

2015年10月21日水曜日

PyCon JP 2015に行ってきました。1日目

2015-10-09から12にかけて行われた、PyCon JP 2015に参加しました。2015-10-09はチュートリアル、2015-10-10,11はカンファレンス、2015-10-12は開発スプリントでした。私はカンファレンスだけに参加しました。以下にカンファレンス1日目の感想を書きます。2日目は別記事です。例のごとく感想を書くのが遅れたのは、メインで使用しているパソコンが壊れてしまったからです。

私のスペック

  • Python歴は7年ぐらい。
  • 一番愛用しているプログラム言語がPythonです。
  • Pythonのソースを納品したことはありませんが、社内ツールとかで使ってます。
  • 私が作っている、3DダンジョンRPG用のマッピングツールPydunはPythonで作っています。
  • 去年も見に来た。
  • LT応募したけど落ちました。

感想

Beyond grep: Practical Logging and Metrics

基調講演。タイトル通り、メトリクスとロギングの話

  • 正直、自分はまともにプログラムを動かすのが精いっぱいなので、これらのことをあまり気にしたことがありませんでした。
  • Pythonは開発スピードは速いけど、実行速度の点ではほめられたものではないので、PythonでもOKならメトリクスはあまり気にしなくてもいいんじゃね?速度がほしけりゃgolangとかにしろとは思いますが、必要なところには必要なのでしょう。

組合せ最適化を体系的に知ってPythonで実行してみよう

世の中の最適化問題を典型例(ナップサック問題のような)にモデル化して、Pythonで解こうという話。

  • (去年は同じようなツールでパズルを解いたような・・・調べてみたら同じ人だった)
  • anaconda,pulp,ortoolpyなどを使う。ortoolpyは発表者が作成した。
  • 大学で線形計画法の単位取得に苦労したのが個人的な思い出です。
  • 機械的にやればいいことはコンピューターに任せて、人間は創造的なことをやらないといけないなと改めて思いました。

Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例

4足ロボットの歩き方を強化学習させたいが、実機でやると壊れるので、シミュレーションでやるという話。

  • Gazeboという3Dロボットシミュレータを使う。シミュレータへの入力と出力を基にした学習をPythonでやる。
  • これに限った話ではないですが、コンピューターが人間が予想していない動作を生み出すのが魅力的です。

ランチ

去年はお弁当でしたが、今年は4つのお店が出張してきてくれました。しかも無料です!私は鶏肉ご飯を食べました。おいしかった。

なぜWeb画面自動テストはうまく行かないのか

Seleniumとかのツールを使ってWeb画面テストの自動化をしたいが、そのままだとコストが大きいので、工夫をする話。

  • テストを記述するコストはどうしてもかかる。
  • 環境を準備するコストは自動化にかかわらない。
  • クロスブラウザのコストは、自作のラッパーを使って記述を簡便にする。環境は、Sauce Labs や BrowserStackとかを使う。
  • 仕事でSeleniumを使うように何度か提案しているのですが、なかなか余裕がなく導入できていないです。導入時にどのような問題が発生するのかがわかったので、今後の参考にしたいと思います。

MinecraftをPythonで遊ぶ

mcpi:Minecraft Pi Edition APIを使って、Minecraftのデータをいろいろいじって遊ぼうという話

  • ゲーム内で3Dのオブジェクトを動的に作れる。
  • 動かすのは簡単でも、動かす環境を整えるのが大変そうです。
  • グラフィックを気軽にやるのは、標準ライブラリーのTurtleが良いと個人的には思います。

Pythonで作る俺様サウンドエフェクター

入力された音の波形を変形させるプログラムを作ったという話。

  • 音の説明がとても詳しく、これなら素人でもよくわかるだろうと思いました。
  • (私は、吹奏楽+画像処理という微妙に近いことを長くやってたのでそれを思い出しました。)
  • PyQtのSignal-Slotは便利だよ。
  • 速度を稼ぐため、受信と送信でプロセスを分けて、マルチコアCPUを活かすというのは勉強になります。
  • 「Pythonはちょっと書くだけでいろんなことができるしほしいライブラリがいっぱいある」(意訳)というのは名言だと思います。私も布教するときに使おう。

休憩

無限コーヒーを飲みました。ジュースとお菓子もありました。

tse - Pythonによるテキスト整形ユーティリティ

sedやawkのようなことをPythonの文法とライブラリーでできるツール

  • ツールの紹介に終始していたのが残念。中で何やってるのかを説明してほしかったです。

Packaging最前線

ライブラリのインストールなどの管理を簡単にする仕組みの話

  • とりあえずpipで何とかなるようになってきたのは良いですね。
  • venvは標準ライブラリーになったが、まだ問題があるので、virtualenvを使ったほうが良いらしい。
  • PyPIを置き換える予定のWarehouseがまだ全然できていない。

LT

  • 3分でサーバオペレーションコマンドを作る技術
    • fablicやClick(CLIフレームワーク)をつかってサーバの操作を自動化する話。
    • 現在の仕事に使いたいなあ。
  • PyCon Canada 2015
    • PyCon Canadaの紹介。
  • Django から各種チャットツールに通知するライブラリを作った話
    • 情報をいろんなツールで共有できるのは良いですね。大体俺は聞いてないみたいな話で混乱するんだよなあ。
  • pandasによるデータ加工時の注意点やライブラリの話
    • データ解析はバグに気づきにくい。私も似たような経験があるのでよくわかります。
    • 入力データがおかしいものがある。→pandas_validatorを使ってチェックする。
  • Dask: 軽量並列計算フレームワーク
    • Numpy,pytoolz,pandasのデータを分割して並列処理をする。
    • プロセスを分けて、マルチコアCPUを活かすというのは勉強になります。(2回目)
  • 笑いがなく、まじめな発表ばかりでした。コメディ番組から言語名をとっているのにこれでよいのでしょうか?(よいです)

パーティー

LT終了後、無料の懇親会がありましたが、私は都合により出ませんでした。

2日目は別記事で

2015年10月8日木曜日

PHPカンファレンス2015に行ってきました。

2015-10-03に行われた、PHPカンファレンス2015に行ってきました。以下に感想を書きます。すぐに書くつもりが、体調不良で遅れてしまいました。

私のスペック

  • PHP歴は1年ぐらい。
  • 仕事でしか使っていません。仕事の延長で見に来ました。
  • Webプログラムは7年?ぐらい。
  • 去年も見に来た。

感想

PHPの今とこれから2015

今使っているPHPのバージョン調査と、PHP 7の新機能紹介。毎年恒例らしい。簡潔にまとまっていて、わかりやすいと思いました。会社で説明するときにそのまま使えそうです。

  • 7は従来の2倍の速さで動作する。
  • HHVMはさらに10-20%速い。
  • 致命的エラーをcatchできる。
  • パーサとコンパイラを分離した。
  • エクステンションは変更が必要。
  • スクリプトの互換性はできるだけ維持させている。

今どきのSQLインジェクションの話題総まとめ

こちらも毎年恒例の徳丸先生のセキュリティの話題。いろいろ思うところはあるが、個人的に一番問題なのは身近に「SQLインジェクション何それ?」な人がいることだったりします。

  • SQLインジェクションの責任を開発会社に問う判決があった。
  • SQLインジェクション対策漏れは重過失。
  • セキュリティは最初から学ぶべき。
  • 事例紹介。

基調講演 Speeding up the Web with PHP 7

PHPの中の人、Rasmus Lerdorfさん御自ら PHP 7 の新機能をご説明あそばされました。残念なのは、「PHPの今とこれから2015」と内容が非常にかぶっていたところ。これは明らかに運営スタッフのミス。PHP 7 の機能説明は詳しい人ならだれでもできる。Rasmusさんには、中の人にしか話せないこと、例えば、PHPをどんなツールにしたいかみたいな設計理念についてもっと話してほしかったです。

  • おおむね、「PHPの今とこれから2015」と同じなので、省略
  • JIT使わないでこの速さ!
  • PHP 7を使ってみてね
  • RasmusさんはほとんどPHPを書かないらしい。(PHPのエンジンははC言語で書かれている)

脆弱性もバグ、だからテストしよう!

継続的WebセキュリティテストサービスVADDYの紹介。URLを登録してサービスをキックすると、自動的にセキュリティテストをしてくれるらしい。どの程度の精度なのかは説明からはよくわからなかったです。一度は使ってみたいが、「外部サーバ上のサービス」なのが会社で使う場合のネックになりそう。内部でやっていることをもっと詳しく説明してほしかったです。

LT

  • PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜
    • 例えば、
      1. // modified by 2015-09-14 y.yamamoto
      2. // TODO: あとでテスト
      3. // カンマ区切りでsplitする
      の中でどれがいいか多数決をとるみたいなことをしたという話。
    • 何が正しいかを決めるのは論理であり多数決ではないです。(多数決は何が正しいか判断できない場合に使う)上記の例では、「コメントはソースに書かれていない情報を補う」という原則から考えると、3.はソースと同じことを書いているので除外、1.はバージョン管理ソフトを使えばいいので除外(やむおえずソース上に残さざるを得ない場合でももっとうまい書き方がある。詳細は企業秘密の可能性があるので書かないが、ソースの邪魔にならないように来歴を入れる方法はある)、2.は「テストしていない」というソースから読み取れない情報が書いてあるので、これが正解。
    • 残念だが、この発表には共感できませんでした。
  • ランダムデータをPHPで作る
    • generatedata.comFakerFabricateのようなランダムデータを作るサービス/ライブラリの紹介
    • 私は自作するほうが好きですが、特に、generatedata.comは便利そうです。
  • PHPでRubyのゲームを攻略する PHPWarrior
    • RubyのゲームをPHPにコンバートしたら、ロシアで大人気でしたという話。
    • 私は$マークを見ると不安になるので向いていないと思いました。
  • 良心的にまじめに開発するための心構え
    • 題の通り。
    • 他人に説明するつもりでソースを書かないといけないと思いました。
  • PHPでDIをする
    • 題の通り。
    • なんとなく使っていましたが、整理した説明を聞くとわかったような気分になります。
  • サンタクロースを支えるIT技術 チャリティーサンタ
    • ボランティア活動の話。会社ベースの活動でないので、いろいろな立場の人と出会える、好きな技術を使える、などの良い点があるようです。
    • 私も何か新しいプロジェクトをやりたくなりました。
  • phpと夫婦生活
    • 要件定義と称した夫婦の話し合いでプログラミングへの理解を得たという話。
    • ユーザの望むものを提供するのは難しいですね。
  • (あなたにもできるかもしれない)ローカルPHPカンファレンスの作り方
    • パブリックな場で発言して逃げ道をふさげば、イベント開催でも何でもできるという話
    • 茨城にも、「日本Androidの会」茨城支部というのがありまして、たまに勉強会をやっています。
  • THE NEW PERFECT PHP WILL BE COMING SOON
    • パーフェクトPHPの改訂版が出るので、その宣伝。
    • 日本語の本なので、LTの題名も日本語のほうがいいと思いました。
  • 小説執筆の現場で活躍するPHP
    • ツールを作って小説執筆を楽にしたという話。
    • 自分でツールを作って作業を楽にするというのは、エンジニアとして当然の態度だと思うのですが、それができていない人が結構います。そういう人を啓蒙したいです。
  • 蚊にさされないためのPHP
    • Raspberry Piでハードウェアを動作させる話。
    • Raspberry Piからハードウェアをどうやって操作するのでしょうか?時間が短いこともあり、よくわかりませんでした。もっと聞きたかったです。
  • ISUCON2015 PHPで予選を戦ってみた
    • ISUCONという、ソフトを早くするコンテストに参加した話。
    • PHPを使って参加するのは無謀だと思いました。

おまけ

私は聞かなかったのですが、「徳丸先生に怒られない、動的SQLの安全な組み立て方」が大変面白そうな内容でした。これは至言です。

2015年9月26日土曜日

Pydun 1.1.0 リリース

私が作成している、3DダンジョンRPG用のマッピングツール Pydun の新バージョン1.1.0をリリースしました。プロジェクトのサイトからダウンロードできます。ついにPython3に対応しました。使う人には関係ありませんが。

2015年8月1日土曜日

Windows 10 へのアップデートに失敗しました

タイトルの通りです。ファイルのコピーまではうまくいきましたが、その後のデバイスの認識?で止まってしまいました。2回試して2回ともです。原因もわからないので、このまま8.1を使用し続けます。ありきたりですが、これからインストールしようとする人にアドバイスです。
  1. アップデート前にバックアップを忘れずに。OSとは物理的に別のドライブに日ごろからバックアップするのをお勧めします。個人的には、FreeFileSyncというファイルを同期するソフトウェアを使っています。機密性の薄い情報ならば、Dropboxのようなクラウドサービスを使うのもよいでしょう。
  2. 本当にアップデートが必要ですか?たぶん、あなたのやりたいことは今のOSでもできます。(先週の自分に言ってやりたい)
  3. 時間と心に余裕があるときやりましょう。1年間は無料です。

VivaldiのFlash Playerの正しいインストール

WindowsのVivaldiでは2種類のFlashプレイヤーが使えます。1つはNPAPI(Wikipedia英語版の説明)、もう1つはPPAPI(Wikipedia日本語版の説明)です。PPAPIのほうが設計が新しく、安定性も高いのでできればこちらを使いたいのですが、漫然とボタンをクリックしていった場合、NPAPIのほうがインストールされるようです。(予想される原因)PPAPIのほうが安定しているので、こちらを指定してインストールします。その方法はこちら。

  1. Adobe Flash Playerのダウンロードページをブラウザで開きます。
  2. 左下にある、「別のコンピュータの Flash Player が必要な場合」をクリックします。
  3. バージョンを指定してダウンロードできる画面が開きます。オペレーティングシステムは自分の使用しているもの、バージョンは、「PPAPI」が含まれているもの(これを書いた時点では「FP 18 for Opera and Chromium - PPAPI」)を選択します。
  4. オプションのプログラムは全部外しましょう。(これが本当に必要な人はこの世に存在しないでしょう。)
  5. 今すぐダウンロードをクリックします。ダイアログが出るので保存しましょう。ダウンロードが終了したら、左上メニューから「表示」-「ダウンロードパネル」か、下向き矢印のアイコンをクリックして、ダウンロードしたファイルを表示し、先ほどダウンロードしたファイルをダブルクリックして実行します。あとは画面の指示通りにすればインストール終了です。
  6. 本当にインストールされたか確認するには、左上メニューの「ツール」-「プラグインのページ」を選択します。最初は、詳細が表示されていないと思いますので、右上の詳細をクリックして、詳細を表示します。Adobe Flash Player の項目に「タイプ:PPAPI (プロセス外)」とあればインストール成功です。「タイプ:NPAPI」がある場合は、「無効にする」をクリックして無効にしておいたほうがよいでしょう。(そのままでも問題ありませんでしたが)

原因

原因は、VivaldiとGoogle Chromeのレンダリングエンジンが同じ(Chromium)のため、ブラウザをご認識しているためかと思います。ChromeはPPAPIのFlash Player同梱なのでそれ以外(NPAPI)のものをインストールさせようとするのでしょう。

Bluetooth のイヤホンを買いました

BUFFALOが出している、Bluetoothのイヤホン BSHSBE31を買いました。

  • PCとは、ELECOMのLBT-UAN05C2でつないでいるのですが、これをパソコンの裏の端子につけると、結構音飛びしました。パソコンやディスプレイが邪魔になって電波状態が悪いのでしょう。アンテナの向きも逆っぽいし。前の端子につけると、まったく音飛びしなくなりました。
  • 電源を入れてから完全に接続されて音が出るまで、15秒ほどかかります。
  • 携帯にもつないでみましたが、良好です。
  • 左側のイヤホンに3cm×1cm×5mm程度の受信機がありますが、私は気になりませんでした。
  • 充電に思ったより時間がかかります。Ankerの40W 5ポートUSB充電器を使って充電すると、フル充電に3.5時間ぐらいかかりました。おおむね使用時間=充電時間です。

2015年6月13日土曜日

KubuntuにClamAVをインストールする

ClamAVは、オープンソースのアンチウイルスソフトだ。インストールのコマンドは、

sudo install clamav
この後、マシンを再起動すると、ウイルス定義ファイルを更新するfreshclamが起動される。(このあたりの詳細が不明。一度freshclamを手動で起動する必要があるかも)

実際にスキャンするときは、

sudo clamscan target_dir
スーパーユーザーでないと、権限のないファイルをスキャンできない。

今回は自動スキャンしてほしくなかったため、これでよいが、自動スキャンしたい場合は、clamdデーモンを使う。

2015年5月23日土曜日

Pydun 1.0.6.1 リリース

私が作成している、3DダンジョンRPG用のマッピングツール Pydun の新バージョン1.0.6.1をリリースしました。プロジェクトのサイトからダウンロードできます。

2015年5月16日土曜日

KubuntuにKeePassをインストールする

KeePassはパスワード管理ソフトで、様々なサービスのパスワードを暗号化して記憶してくれる。KeePassDroidというAndroidで動作するソフトと互換性がある。メインパソコンと、携帯電話にインストールしているが大変便利である。当然、ノートパソコンにもインストールしておく。Ubuntu用のパッケージがあるようだが(今知った)、今回はそれを使用せずポータブル版を動作させる。KeePassのサイトに動作手順が書いてあるため、それを利用する。
  • monoをインストールする。
    sudo apt-get install mono-devel
  • KeePassのダウンロードページから、Portalble版をダウンロードする。
  • KeePass.exeがあるフォルダで以下のコマンドで起動する。
    mono KeePass.exe
  • 課題

    日本語にはできなかった。