<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Python / Drkcore</title><link>http://blog.kzfmix.com/Python</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Wed, 04 Mar 2020 12:50:30 +0919</lastBuildDate><item><title>PyCon mini Shizuokaでオンライン登壇しなかった</title><link>http://blog.kzfmix.com/entry/1583270781</link><description>&lt;p&gt;PyCon mini Shizuokaお疲れさまでした。特にスタッフの方は急遽オンラインに切り替えたりして相当バタバタしたことと思いますので、本当にお疲れさまでしたとお気持ちを表明したい。&lt;/p&gt;
&lt;p&gt;Blogに書くまでがカンファレンスだそうなので、なんか書いておきます。&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ja" dir="ltr"&gt;偉そうにいうとアレなので、偉い方は言いましたが、カンファレンスはブログを書くまでがカンファレンスなので、&lt;br&gt;PyCon mini Shizuoka のブログレポートも書いてください！&lt;br&gt;（了承いただければ公式サイトにも掲載できればと思います）&lt;br&gt;自分ももちろん書きますw &lt;a href="https://twitter.com/hashtag/pycon_shizu?src=hash&amp;ref_src=twsrc%5Etfw"&gt;#pycon_shizu&lt;/a&gt;&lt;/p&gt;— Hiroshi Sano (@hrs_sano645) &lt;a href="https://twitter.com/hrs_sano645/status/1233729336919781379?ref_src=twsrc%5Etfw"&gt;February 29, 2020&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;さて私は表記の通りオンラインになったタイミングで&lt;a href="https://shizuoka.pycon.jp/session/fmkz___/"&gt;発表&lt;/a&gt;を取り下げました。理由は単純でブロードキャストしたくないスライドがいくつかあったからですね。次回あればもちろんまた応募します（今度はネタ全開にしようかな）。&lt;/p&gt;
&lt;p&gt;当日はyoutubeでオンラインでちょっと観戦しつつ、締切の迫っているPythonの洋書を翻訳していた。&lt;/p&gt;
&lt;p&gt;そんな感じです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1566944688"&gt;Pycon MYに行ってきた&lt;/a&gt;とか&lt;a href="https://qiita.com/kzfm@github/items/14f12e975ce96d0f0163"&gt;静岡アドベントカレンダー&lt;/a&gt;でも触れたんだけど、ローカルコミュニティは貴重なのでこれからも頑張って欲しいです。ただ、初心者の人とかの対応とか結構消耗していて、運営から離れちゃってる人を何人も見ているので、そのあたりもうまくやれたらいいですねーとは思います。&lt;/p&gt;
&lt;p&gt;おまけ（駄文なので何も求めていない）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nikkie-ftnext.hatenablog.com/entry/2019/10/16/113628"&gt;雑記 | #pyconjp 2019のトークはレベルが低かったのか？ 〜台湾・シンガポールのPyConに参加して〜&lt;/a&gt;というエントリを読んでふむふむーと思った。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;私は初めて「PyCon2019はいいやー」ってスキップした（それまでは海外出張がぶつかったのを除いて参加してる）。結局あの規模だとまぁそうならざるを得ないよねーくらいの感想で、レベルが低いというよりは参加者の満足度を優先したのだろうと考えていますし、それはそれで問題ないよねーと思う。レベルの高いトークももちろんあるし、パッケージ関連の話は毎回聞いていて勉強になっている。&lt;/p&gt;
&lt;p&gt;ただ、私は今年もアジア圏のPyCon行くのを優先してもし都合が合えばJP行くかなーって感じ。でもローカルコミュニティとしてPyConJPに参加するのは面白いよなーとは思っている。2018のPyConJPで一番面白かったのはポスターだったしね。&lt;/p&gt;
&lt;p&gt;PyConJPだって規模を小さくしてガチのヒトを濃縮すればトークのレベルは必然的に上がるけどPyConJPはそういう方向目指しているわけじゃないんじゃないかなーと思っているし、それでいいんじゃないかなーというのが私の見解。&lt;/p&gt;</description><pubDate>Wed, 04 Mar 2020 12:50:30 +0919</pubDate><category>Python</category></item><item><title>画像をリサイズしてサーバーにアップロードするプログラム</title><link>http://blog.kzfmix.com/entry/1574483870</link><description>&lt;p&gt;macosをcatalinaに上げたらperlで書いていた画像をリサイズしてサーバーにアップロードするプログラムが動かなくなって困ったのでpythonで書き直した。&lt;/p&gt;
&lt;p&gt;それにしてもこれいつ書いたんだろう？&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c1"&gt;#!/usr/bin/env perl&lt;/span&gt;

&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="n"&gt;strict&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="n"&gt;warnings&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nn"&gt;DateTime::Format::Epoch::&lt;/span&gt;&lt;span class="n"&gt;Unix&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="n"&gt;DateTime&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nn"&gt;Image::&lt;/span&gt;&lt;span class="n"&gt;Imlib2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nn"&gt;Net::&lt;/span&gt;&lt;span class="n"&gt;OpenSSH&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$tp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;@files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nb"&gt;opendir&lt;/span&gt; &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$dh&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;.&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;@f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="sr"&gt;/\.(JPG|jpg|jpeg|PNG|png)$/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="sr"&gt;/^\./&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;readdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dh&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nb"&gt;closedir&lt;/span&gt; &lt;span class="nv"&gt;$dh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;@f&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$ssh&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nn"&gt;Net::&lt;/span&gt;&lt;span class="n"&gt;OpenSSH&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;XXXXXXX&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nv"&gt;$ssh&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nb"&gt;die&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;SSH connection failed: &amp;quot;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$ssh&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$infile&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;@files&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="nn"&gt;DateTime::Format::Epoch::&lt;/span&gt;&lt;span class="n"&gt;Unix&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;format_datetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DateTime&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$outfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/Users/kzfm/images/blog/&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$now&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;.jpg&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$image&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nn"&gt;Image::&lt;/span&gt;&lt;span class="n"&gt;Imlib2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$infile&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$infile&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt;&lt;span class="sr"&gt;  /^DSCN/&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$tp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$image&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$image&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nv"&gt;$image&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;image_orientate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="p"&gt;}}}&lt;/span&gt;
  &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$image2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$image&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;create_scaled_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;320&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nv"&gt;$image2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;set_quality&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;95&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nv"&gt;$image2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;save&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$outfile&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nv"&gt;$ssh&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;scp_put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$outfile&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/usr/local/html/images/blog/&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$now&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;.jpg&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="nb"&gt;die&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;scp failed: &amp;quot;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$ssh&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;![%s](http://www.kzfmix.com/images/blog/%s.jpg)\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$now&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$now&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nb"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;これをpythonで書き直した。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/usr/bin/env python&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;PIL&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Image&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;glob&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;glob&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;paramiko&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;scp&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;

&lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;
&lt;span class="n"&gt;img_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/Users/kzfm/images/blog&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;remote_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/usr/local/html/images/blog/&amp;quot;&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_epoc_name&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mktime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;timetuple&lt;/span&gt;&lt;span class="p"&gt;())))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;save_resize_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;en&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_epoc_name&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;resize_file_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;{}.jpg&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;en&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;img_dir&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;resize_file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;img&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Image&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;height&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;img&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;resize&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;Image&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LANCZOS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;img&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;90&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;expand&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;save&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;en&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;__main__&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;paramiko&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SSHClient&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;sshc&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;sshc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_missing_host_key_policy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;paramiko&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AutoAddPolicy&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
        &lt;span class="n"&gt;sshc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hostname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;0.0.0.0&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mo"&gt;0000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;XXX&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;scp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SCPClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sshc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_transport&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;scpc&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;*.jpeg&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                &lt;span class="n"&gt;fname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;en&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;save_resize_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;scpc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;remote_dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;![{0}](http://www.kzfmix.com/images/blog/{0}.jpg)&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;en&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;</description><pubDate>Sat, 23 Nov 2019 13:43:12 +0919</pubDate><category>Python</category><category>Perl</category></item><item><title>Pycon MYに行ってきた</title><link>http://blog.kzfmix.com/entry/1566944688</link><description>&lt;p&gt;今年はPyCon APAC(PH)に行きたかったんだけど、仕事が忙しくてキャンセルしたので、どうしようかなーと思っていたら、ちょうど夏休みとして&lt;a href="https://pycon.my/"&gt;PyConMY&lt;/a&gt;に行けたので行ってみた。&lt;/p&gt;
&lt;p&gt;さて、今までどのくらいPyConに行っているかというと、2015,2017以外は参加していた。海外のPyConに参加するのは今回初めてです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1296293066"&gt;PyCon mini JPに参加した&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1314738448"&gt;PyConJP2011に参加してきた&lt;/a&gt; &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1347711071"&gt;PyConJP2012一日目&lt;/a&gt; &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1347859979"&gt;PyConJP2012二日目&lt;/a&gt;  &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1375349530"&gt;PyCon APAC 2013で発表することになった&lt;/a&gt; &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1379218570"&gt;PyCon APAC 2013で発表してきた&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1410784043"&gt;PyconJP2014に参加しました&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1474501702"&gt;PyConJP2016に行ってきた&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1540099983"&gt;PyConJp 2018に参加しました&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最近はちょっとデータサイエンス寄りというか、創薬というニッチな領域に特化したPythonコードばっかり書いていて、PyCon向きじゃないかなーと思って距離を置いていたけど、quantum physicsの演題とかあって、僕もLTでもいいから発表すればよかったなーと後悔した。何もなくてもエレベーターピッチよろしくLTネタは用意して貯めておこうっと。
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Computational Physics with Python by Dr Norhasliza Yusof. &lt;a href="https://twitter.com/hashtag/pyconmy2019?src=hash&amp;ref_src=twsrc%5Etfw"&gt;#pyconmy2019&lt;/a&gt; &lt;a href="https://t.co/a1l3Qt7RNN"&gt;pic.twitter.com/a1l3Qt7RNN&lt;/a&gt;&lt;/p&gt;— PyCon MY (@pyconmy) &lt;a href="https://twitter.com/pyconmy/status/1165510245205991424?ref_src=twsrc%5Etfw"&gt;August 25, 2019&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;h3&gt;Keynote Speech by @WillingCarol&lt;/h3&gt;
&lt;p&gt;今回はjupyterの開発者が基調講演するってことで参加を決めたけど、これが大変刺さった。&lt;/p&gt;
&lt;p&gt;I was really moved by her presentation!&lt;/p&gt;
&lt;script async class="speakerdeck-embed" data-id="d7b5411d55ea4f0da9b30c965a21894a" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"&gt;&lt;/script&gt;

&lt;p&gt;実用的な科学のためにはPython, Jupyter, KnowledgeそしてCommunityが必要であるとのこと。これに関してはそうだと思うし、コミュニティ形成の難しさもわかる。 &lt;a href="http://mishima-syk.github.io/"&gt;Mishima.syk&lt;/a&gt;っていうライフサイエンス系のコミュニティがうまく回っているし、初心者≠教えて君対応のような無駄に疲れるようなことするのも面倒くさいなーっていう気持ちがあったので、最近地域コミュニテイに出るのは避けてたけど、PyconMYにでてみてやっぱある程度の頻度でそういうコミュニティーに参加する必要あるかなと思った。&lt;/p&gt;
&lt;p&gt;静岡だと最近&lt;a href="https://py-suruga.connpass.com/"&gt;Python駿河&lt;/a&gt;ってのができて&lt;a href="http://twitter.com/hrs_sano645"&gt;@hrs_sano645&lt;/a&gt;が顔を出しているようだけど、僕もそのうち参加しようかなと思った。&lt;/p&gt;
&lt;h3&gt;Air asiaのスポンサードセッション&lt;/h3&gt;
&lt;p&gt;スライドとかアップされてないみたいだけど、これもマジよかった。スタートアップっぽさと勢いがあって、
そっかーそうだよなーと一人で妙に納得してしまった。&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;more than airlines&lt;/p&gt;— kzfm (@fmkz___) &lt;a href="https://twitter.com/fmkz___/status/1165184829635219456?ref_src=twsrc%5Etfw"&gt;August 24, 2019&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;自分の業界も more than pharmaみたいな感じでデジタルヘルスケアを目指す向きが強いけど、規制が厳しすぎるのとそもそもITに対する理解が乏しいから難しいよねー、どうしたもんかなーもうちょい真面目に考えないといけないよね
みたいな感想を持った。&lt;/p&gt;
&lt;h3&gt;Automate the Boring Stuff with Slackbot by Takanori Suzuki&lt;/h3&gt;
&lt;p&gt;Slackbotを作る話。ITSとの連携の話が参考になった。製薬向けのITS早く作んなきゃと思った。あと&lt;a href="https://gitea.io/en-us/"&gt;Gitea&lt;/a&gt;にプッシュされたらSlackに通知するようにしよっと。&lt;/p&gt;
&lt;h3&gt;Capturing Modern Streaming Media by Neo Zora.&lt;/h3&gt;
&lt;p&gt;Requestsでストリーミング処理してて、おー！となった。&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ja" dir="ltr"&gt;Requestsでストリーミング処理できるんだ &lt;a href="https://t.co/j0ocxJUKj8"&gt;pic.twitter.com/j0ocxJUKj8&lt;/a&gt;&lt;/p&gt;— kzfm (@fmkz___) &lt;a href="https://twitter.com/fmkz___/status/1165465178982404096?ref_src=twsrc%5Etfw"&gt;August 25, 2019&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;h3&gt;Will AutoML take over data scientist's job?  By Fatin Fatihah Zahari.&lt;/h3&gt;
&lt;p&gt;MSのスポンサードセッション。Auto MLではデータサイエンティストは駆逐できんよという話でした。&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ja" dir="ltr"&gt;MSのスポンサードセッションでAuto MLはデータサイエンティストを減らすのか？否！っていう話。 &lt;a href="https://t.co/9lZGnh6hWL"&gt;pic.twitter.com/9lZGnh6hWL&lt;/a&gt;&lt;/p&gt;— kzfm (@fmkz___) &lt;a href="https://twitter.com/fmkz___/status/1165474894437470208?ref_src=twsrc%5Etfw"&gt;August 25, 2019&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;ま、ドメイン知識が一番大切なんだろうなとは思う。&lt;/p&gt;
&lt;h3&gt;Visualise the black box - An introduction to interoperable machine learning by Rahul Bhatia.&lt;/h3&gt;
&lt;p&gt;機械学習のモデルを解釈するためのライブラリの紹介。4つ挙げてたけど、最後の一つは忘れた。スライドアップされないかな&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eli5.readthedocs.io/en/latest/"&gt;ELI5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/marcotcr/lime"&gt;Lime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/slundberg/shap"&gt;shap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このあたりの話を今度の&lt;a href="http://mishima-syk.github.io/mishimasyk/2019/07/02/No-Theme.html"&gt;Mishima.syk&lt;/a&gt;で話そうと思っているが、単にマレーシアの食について熱く語るだけかもしれない。&lt;/p&gt;</description><pubDate>Wed, 04 Sep 2019 10:14:51 +0919</pubDate><category>Python</category></item><item><title>KL4日目(PyConMY2日目)</title><link>http://blog.kzfmix.com/entry/1566731207</link><description>&lt;p&gt;今日で4日目。朝は&lt;a href="https://www.tripadvisor.jp/Restaurant_Review-g298570-d1165225-Reviews-Kedai_Kopi_Lai_Foong-Kuala_Lumpur_Wilayah_Persekutuan.html"&gt;ララヌードル&lt;/a&gt;でも食べようとフードコートに向かったが、目当てのあさりヌードルの屋台は開いてなかった。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566731168" src="http://www.kzfmix.com/images/blog/1566731168.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;開いてる店で牛肉麵を注文。麺は黄色い玉子麺でラーメンを食べてる感じに近かった。ちなみに台北のはほぼウドンであった。それからコピを頼んだらミルクの入ってない甘苦いコーヒーがきて予想外。次回は&lt;a href="http://www.malaysia-magazine.com/immigrate/lifeinfo/%E3%83%9E%E3%83%AC%E3%83%BC%E3%82%B7%E3%82%A2%E3%81%AE%E3%82%AB%E3%83%95%E3%82%A7%E3%81%A7%E3%81%AEkopi%E3%81%AE%E6%B3%A8%E6%96%87%E6%96%B9%E6%B3%95.html"&gt;気をつけて注文&lt;/a&gt;しないと。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566731163" src="http://www.kzfmix.com/images/blog/1566731163.jpg" /&gt;
&lt;img alt="1566731166" src="http://www.kzfmix.com/images/blog/1566731166.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;夜は近所に美味しそうな&lt;a href="https://www.tripadvisor.jp/Restaurant_Review-g298570-d6561066-Reviews-Vinni_Jeyaa_Banana_Leaf_Curry_House-Kuala_Lumpur_Wilayah_Persekutuan.html"&gt;インドレストラン&lt;/a&gt;を見つけたので行ってみた。が、注文システムが全くわからん、、、しかも出口側から入ったらしくメニューも見当たらなかった。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566731174" src="http://www.kzfmix.com/images/blog/1566731174.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;皿にご飯を盛っている兄さんと目があったのでそれをくれと言ったら、トレーにライスを盛って渡してくれた。あとはブフェスタイルで適当に取れということらしい。といってもわからないので、それっぽいものを盛り付けていって席に座ったら、皿を眺めて紙に11RMって書き込まれたから載せたおかずの量で判断しているらしい。ついでに飲み物を聞かれたのでココナッツを注文したら5RMだった。しかも量が多すぎて最後に残した。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566731177" src="http://www.kzfmix.com/images/blog/1566731177.jpg" /&gt;
&lt;img alt="1566731172" src="http://www.kzfmix.com/images/blog/1566731172.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;カレーは美味しい。ブフェスタイルで食べたいものを乗せられるんだから明日はマトン多めの辛いカレーをかけまくりたいところだが、朝6時からやっているとしてもその時間には料理が揃ってないから、何が食べられるからわからんよね。明日も行くかお粥で健康的な朝を迎えるか悩む。&lt;/p&gt;
&lt;h2&gt;PyConMY2019 2日目&lt;/h2&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="und" dir="ltr"&gt;&lt;a href="https://twitter.com/hashtag/pyconmy2019?src=hash&amp;ref_src=twsrc%5Etfw"&gt;#pyconmy2019&lt;/a&gt; &lt;a href="https://t.co/edfFdzLYGh"&gt;pic.twitter.com/edfFdzLYGh&lt;/a&gt;&lt;/p&gt;— PyCon MY (@pyconmy) &lt;a href="https://twitter.com/pyconmy/status/1165461894288658435?ref_src=twsrc%5Etfw"&gt;August 25, 2019&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pycon.my/pyconmy-2019-programme-schedule/"&gt;プログラムが画像&lt;/a&gt;だからタイトルと演者を書くのがめんどくさくなった。というわけで別にブログにまとめておかなくてもいいやーって気分になってしまったので、来月の&lt;a href="http://mishima-syk.github.io/mishimasyk/2019/07/02/No-Theme.html"&gt;Mishima.syk&lt;/a&gt;をチェックするか、&lt;a href="https://twitter.com/fmkz___"&gt;Twitter&lt;/a&gt;で代用のこと。&lt;/p&gt;
&lt;h3&gt;良かった演題&lt;/h3&gt;
&lt;p&gt;&lt;img alt="1566733314" src="http://www.kzfmix.com/images/blog/1566733314.jpg" /&gt;
&lt;img alt="1566733311" src="http://www.kzfmix.com/images/blog/1566733311.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566733308" src="http://www.kzfmix.com/images/blog/1566733308.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;良かった演題2&lt;/h3&gt;
&lt;p&gt;&lt;img alt="1566733320" src="http://www.kzfmix.com/images/blog/1566733320.jpg" /&gt;
&lt;img alt="1566733317" src="http://www.kzfmix.com/images/blog/1566733317.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;良かった演題3&lt;/h3&gt;
&lt;p&gt;&lt;img alt="1566733325" src="http://www.kzfmix.com/images/blog/1566733325.jpg" /&gt;
&lt;img alt="1566733328" src="http://www.kzfmix.com/images/blog/1566733328.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;PyConは楽しいですな。またどこかに行こうっと。&lt;/p&gt;</description><pubDate>Sun, 25 Aug 2019 20:59:05 +0919</pubDate><category>life</category><category>Python</category><category>KL</category></item><item><title>KL3日目(PyConMY1日目)</title><link>http://blog.kzfmix.com/entry/1566646920</link><description>&lt;p&gt;今日から&lt;a href="https://pycon.my/"&gt;PyConMY&lt;/a&gt;だ、&lt;a href="https://www.youtube.com/channel/UCKCp5FR-XGHPXFTIXWejObQ"&gt;イェイイェイ&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;書いていたらほぼ全て食絡みの話になっているので、PyCon my 2019の話は最後にちょっとだけ書きました。&lt;/p&gt;
&lt;p&gt;朝は定番の&lt;a href="https://tabelog.com/malaysia/A8201/A820106/82000126/"&gt;漢記&lt;/a&gt;で鶏粥+揚げパンとアイスコーヒーを頼んでみた。&lt;/p&gt;
&lt;p&gt;揚げパンさっと来た。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646013" src="http://www.kzfmix.com/images/blog/1566646013.jpg" /&gt;
&lt;img alt="1566646001" src="http://www.kzfmix.com/images/blog/1566646001.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;続いて粥、最後にアイスコーヒー（甘い）が到着&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646024" src="http://www.kzfmix.com/images/blog/1566646024.jpg" /&gt;
&lt;img alt="1566646003" src="http://www.kzfmix.com/images/blog/1566646003.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;揚げパンを乗せていただく。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646019" src="http://www.kzfmix.com/images/blog/1566646019.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;この後ちょっとお腹の調子が悪くなったのはコーヒーの氷のせいかなと疑った。
PyCon始まるまで辛かった。&lt;/p&gt;
&lt;p&gt;行きは緑色の路線のMRTでTTDI駅まで行ったら歩いて10分弱が会場だった。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646006" src="http://www.kzfmix.com/images/blog/1566646006.jpg" /&gt;
&lt;img alt="1566646016" src="http://www.kzfmix.com/images/blog/1566646016.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;なんでAir Asiaがスポンサーなの？って疑問だったけど、スポンサーセッション聞いてたらなるほど！と思った。
ウェブサイトもアプリも使いまくったから大変勉強になった。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646011" src="http://www.kzfmix.com/images/blog/1566646011.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;お昼ごはんも出た。テーブルで隣に座った方が、ローカルの方でRoR何年かやっていたらしい。
とか、他愛もない話をしていた。テーブルの向こうではデータサイエンスを仕事にするならマレーシアよりシンガポールのほうが賃金いいから移っちゃうよなーみたいな話もしていた気がする。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646027" src="http://www.kzfmix.com/images/blog/1566646027.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;昼休みにコータスの影が出てたので外に出たらすぐ遭遇。天然物ゲット。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646029" src="http://www.kzfmix.com/images/blog/1566646029.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;帰り道でニャンコ。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646037" src="http://www.kzfmix.com/images/blog/1566646037.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;夕飯はオールドチャイナカフェでニョニャラクサ。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566645993" src="http://www.kzfmix.com/images/blog/1566645993.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;注文の際、「飲み物はどうすんだ？ビールは？ビールはのまんのか？オイ！」って聞かれたので、「ええ、まぁ」と。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566645998" src="http://www.kzfmix.com/images/blog/1566645998.jpg" /&gt;
&lt;img alt="1566646008" src="http://www.kzfmix.com/images/blog/1566646008.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;ニョニャラクサはココナッツカレーヌードルで、ビーフンと黄麺が半分ずつ入ってた。
具材にかまぼこと油揚げが入っていて、中華とマレーの融合ですなとか偉そうなことを考えながら食べてた。&lt;/p&gt;
&lt;p&gt;これはこれで美味しいが、もう少しナシレマを攻めたほうがよいのではないかという結論に達した。&lt;/p&gt;
&lt;p&gt;食事も終了間際に、バチッと音がなってカウンターの付近だけ停電した。カウンターのレジ端末(WindowsXP?)は動いていたが、レシートの印刷やクレジットカード処理用のカードリーダーが使えなくなっていたので、海外のクレジットで払いたい勢は相当苛ついていた。私も15分近く待たされた。結局ビールとニョニャラクサで31RMだったのでビールはコンビニで買うのとそんなに変わらない値段であった。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566646034" src="http://www.kzfmix.com/images/blog/1566646034.jpg" /&gt;
&lt;img alt="1566646032" src="http://www.kzfmix.com/images/blog/1566646032.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;帰り道にヒンズー教の寺院を見つけた&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566645995" src="http://www.kzfmix.com/images/blog/1566645995.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;ホテルに戻ってきてから作業をしていて、ふと昨日の牛肉麺のところは明日は休みだから、汁あり食べておこうかなーと
のこのこでかけたら既に店じまいしていた。&lt;/p&gt;
&lt;p&gt;ぶらぶら戻りながら、歩道橋があったので登って撮ってみた。ちなみにみなさん普通に横断するので、歩道橋を渡るという無駄なことをするやつなどいないｗ&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566653474" src="http://www.kzfmix.com/images/blog/1566653474.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;帰りに、&lt;a href="https://www.tripadvisor.jp/ShowUserReviews-g298570-d15074169-r662114884-Kim_Soya_Bean-Kuala_Lumpur_Wilayah_Persekutuan.html"&gt;Kim Soya Bean&lt;/a&gt;で豆花(温)を持ち帰った。2RM(60円弱)なのでコスパは超良いが、豆腐屋の豆腐しか食べない私としてはこれをスーパー美味しいと表現することには抵抗がある。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1566653471" src="http://www.kzfmix.com/images/blog/1566653471.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;夜食として毎日食べたいとは思う。&lt;/p&gt;
&lt;h2&gt;PyconMY 2019&lt;/h2&gt;
&lt;p&gt;PyconJPのように人が溢れているわけではないので、聞きたいセッションは確実に聞けるのは良かった。あとは全編英語なのも個人的には良かった。尚、参加者の中で日本人は私と今回演者として参加されたTakanori Suzukiだけであった模様。来年はどこかでなんか発表しようかなと思った（特にエアアジアのスポンサードセッションを聞いていて）。あとはLTようの小ネタくらい常に持ち運んだほうがいいだろうという。&lt;/p&gt;
&lt;h3&gt;Automate the Boring Stuff with Slackbot / Takanori Suzuki&lt;/h3&gt;
&lt;p&gt;Slackのボットを作る話。うちはSlackオルタネーティブを使っていて、創薬プロジェクト用のITSを作っているところなので、JIRAとボットの連携の話は大変参考になった。うちのボットは「疲れた」とか「死にたい」とかつぶやくと、「&lt;a href="http://oryouri.2chblog.jp/archives/9911803.html"&gt;トキがストロングゼロを勧める&lt;/a&gt;」ボットしかまともに動いていないので、意味のあるボットを動かしたいところ。&lt;/p&gt;
&lt;h3&gt;Visualize the Black Box – An introduction to Interpretable Machine Learning / Rahul Bhatia&lt;/h3&gt;
&lt;p&gt;ブラックボックスになりがちな機械学習の解釈性を高めるためのライブラリを紹介していた。5つくらい紹介していたので、全部理解してうまく使いこなせるようにしたい。スライドアップされたら追記。&lt;/p&gt;
&lt;h3&gt;Air Asia 3.0&lt;/h3&gt;
&lt;p&gt;Air AsiaのITのほうのスポンサードセッション。&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;more than airlines&lt;/p&gt;— kzfm (@fmkz___) &lt;a href="https://twitter.com/fmkz___/status/1165184829635219456?ref_src=twsrc%5Etfw"&gt;August 24, 2019&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;といっていて、非常に感銘を受けた。製薬インダストリーがヘルスケアカンパニーとかモバイルヘルスケアとかいいつつ、IT側を丸投げとか自社でどうにかするっていう発想がなく、製薬ペイ楽しみですねみたいな状況になっているのと全然違うなーと。&lt;/p&gt;
&lt;p&gt;うちも、こういうのちゃんとやってITもまともな体制にして、プログラマーが楽しく仕事できるような会社になればいいなーと思った。&lt;/p&gt;</description><pubDate>Sat, 24 Aug 2019 23:31:16 +0919</pubDate><category>life</category><category>Python</category><category>KL</category></item><item><title>PyConJp 2018に参加しました</title><link>http://blog.kzfmix.com/entry/1540099983</link><description>&lt;p&gt;去年は参加できなかったので今年は参加しました。&lt;/p&gt;
&lt;p&gt;pythonの型の話が面白かったです。Are Python types Pythonic? それからjupyterの話も面白かった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Build text classification models 突然キャンセルになって他の聞きたいセッションも満席になってた&lt;/li&gt;
&lt;li&gt;英語トラックなのに突然日本語にスイッチしてあれーってなった。準備不足だったのかな？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;メルカリの人が多かった気がする。何年か前はソシャゲの会社が多かったけど。データサイエンス系のセッションは
あまり多くなかった気がするのか興味のあるセッションが少なかっただけなのかはわからなかった。&lt;/p&gt;
&lt;p&gt;ところで来年のPyCon APACは&lt;a href="https://groups.google.com/d/msg/pycon-organizers-apac/Uvccg4Ub-2E/xy0RDza4BgAJ"&gt;フィリピン&lt;/a&gt;だそうなので参加できたらいいなと思っている（Food.py）。&lt;/p&gt;
&lt;p&gt;それからなんか発表したいけど、最近は創薬ネタしかないんだよなー。もっと家でコード書かないと駄目ですね。&lt;/p&gt;
&lt;p&gt;蒲田の鳥万&lt;/p&gt;
&lt;p&gt;&lt;img alt="1540099113" src="http://www.kzfmix.com/images/blog/1540099113.jpg" /&gt;
&lt;img alt="1540099116" src="http://www.kzfmix.com/images/blog/1540099116.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="1540099118" src="http://www.kzfmix.com/images/blog/1540099118.jpg" /&gt;
&lt;img alt="1540099120" src="http://www.kzfmix.com/images/blog/1540099120.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;近所のビートル&lt;/p&gt;
&lt;p&gt;&lt;img alt="1540099123" src="http://www.kzfmix.com/images/blog/1540099123.jpg" /&gt;
&lt;img alt="1540099125" src="http://www.kzfmix.com/images/blog/1540099125.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="1540099127" src="http://www.kzfmix.com/images/blog/1540099127.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;PyCon会場近くのにこまる三代目&lt;/p&gt;
&lt;p&gt;&lt;img alt="1540099130" src="http://www.kzfmix.com/images/blog/1540099130.jpg" /&gt;
&lt;img alt="1540099132" src="http://www.kzfmix.com/images/blog/1540099132.jpg" /&gt;&lt;/p&gt;</description><pubDate>Sun, 21 Oct 2018 14:36:44 +0919</pubDate><category>Python</category><category>蒲田</category></item><item><title>Shizuoka.py #7やりました</title><link>http://blog.kzfmix.com/entry/1538275967</link><description>&lt;p&gt;久しぶりに吉原のコミュニティFでShizuoka.pyをやりました。&lt;/p&gt;
&lt;p&gt;今回人が４人しか集まらなくて時間を持て余すのではないかと危惧したけれど全員濃いネタを持ち寄ってきて大変楽しい時間を過ごせました。&lt;/p&gt;
&lt;p&gt;今回の演題は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/presentation/d/174_cA8k6Y5rV7GGrow3EB2I7ZitTmMOkvvl3Rv1D0EA/edit#slide=id.g4244121151_0_17"&gt;ESP32でMicroPythonを使ってみる話題(IoT)&lt;/a&gt; &lt;a href="http://twitter.com/hrs_sano645"&gt;@hrs_sano645&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;製薬企業でpythonがどう使われていてDeep Learningで何をやっているのか？ &lt;a href="http://twitter.com/fmkz___"&gt;@fmkz___&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;pythonでdroneを制御する話 &lt;a href="http://twitter.com/ringtaro"&gt;@ringtaro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;型アノテーションよろしそう &lt;a href="http://twitter.com/fmkz___"&gt;@fmkz___&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;バイオデータベースをわかりやすく見せたい &lt;a href="http://twitter.com/oec014"&gt;@oec014&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;amazon dash button hack &lt;a href="http://twitter.com/hrs_sano645"&gt;@hrs_sano645&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回おやつに&lt;a href="http://sugikiyo.com/?page_id=736"&gt;杉山フルーツの生ゼリー&lt;/a&gt;を買ってみました。食べたくなったら次回来れば良いと思います。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1538294288" src="http://www.kzfmix.com/images/blog/1538294288.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;pythonでdroneを飛ばす動画。DQNで訓練させて、絶対に捕まらないドローンとかできんのかな？ｗ&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/AhptvOLuvDM" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;懇親会は予約していなかったので、流れで会場の向かいの居酒屋入ろうとしたらオープンしてなかったので、近所のインド人の経営しているカレー屋さんにお邪魔しました。飲み放題とディナーのセットで3Kだったんだけど、生ビールがすぐに切れたらしくビール頼むと店員さんが近所の酒屋にダッシュしに行くらしく、申し訳ないので後半はワインを飲みましたｗ料理はすごく美味しいのでもっと流行るべきお店だと思いました。&lt;/p&gt;
&lt;p&gt;写真は生ビールのグラスに瓶ビールを注ぐ図(Figure. 1)。 右図はシーカバブで大変美味しかった。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1538294290" src="http://www.kzfmix.com/images/blog/1538294290.jpg" /&gt;
&lt;img alt="1538294293" src="http://www.kzfmix.com/images/blog/1538294293.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;ティッカかなんかとサラダ。奥のは左とは違う料理。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1538294296" src="http://www.kzfmix.com/images/blog/1538294296.jpg" /&gt;
&lt;img alt="1538294298" src="http://www.kzfmix.com/images/blog/1538294298.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;カレーは二種類来てチキンとマトン。マトンのほうが辛いし、スパイスも効いていて好み。ナンはこのあと更に二枚来た。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1538294301" src="http://www.kzfmix.com/images/blog/1538294301.jpg" /&gt;
&lt;img alt="1538294304" src="http://www.kzfmix.com/images/blog/1538294304.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;サービスで更に一皿頂いて満足&lt;/p&gt;
&lt;p&gt;&lt;img alt="1538294306" src="http://www.kzfmix.com/images/blog/1538294306.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Shizuoka.pyも始めて5年位経つけど継続的に集まれるのが良いですね。今後もゆるく楽しくやっていきたいですね。&lt;/p&gt;</description><pubDate>Sun, 30 Sep 2018 17:17:11 +0919</pubDate><category>Python</category></item><item><title>Psikit as a Electronic-Structure Informatics library</title><link>http://blog.kzfmix.com/entry/1536978824</link><description>&lt;p&gt;Now &lt;a href="https://iwatobipen.wordpress.com/2018/08/24/calculate-homo-and-lumo-with-psi4-rdkit-psi4/"&gt;pen&lt;/a&gt; and I are planning to develop a library for a Electronic-Structure Informatics named Psikit (Psi4 + RDKit).&lt;/p&gt;
&lt;p&gt;Which coding style do you like?&lt;/p&gt;
&lt;p&gt;The repository is &lt;a href="https://github.com/Mishima-syk/psikit"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;psikit as a wrapper library?&lt;/h3&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;psikit&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt; &lt;span class="kn"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;np&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;rdkit&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Chem&lt;/span&gt;

&lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;core&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_output_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;out.dat&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_memory&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;4 GB&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_num_threads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;mol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Chem&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MolFromSmiles&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;c1ccccc1&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;benz&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;geometry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mol&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;scf_e&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scf_wfn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;energy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;B3LYP/cc-pVDZ&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;return_wfn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;HOMO&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_homo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scf_wfn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;LUMO&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;psikit&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_lumo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scf_wfn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;HOMO&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;LUMO&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scf_e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h3&gt;or psikit as a set of util functions library?&lt;/h3&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;psi4&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;psikit&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;mol2xyz&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_homo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_lumo&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt; &lt;span class="kn"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;np&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;rdkit&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Chem&lt;/span&gt;
&lt;span class="n"&gt;psi4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;core&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_output_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;out.dat&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;mol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Chem&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MolFromSmiles&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;c1ccccc1&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;xyz&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mol2xyz&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mol&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;psi4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_memory&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;4 GB&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;psi4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_num_threads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;benz&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;psi4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;geometry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xyz&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;scf_e&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scf_wfn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;psi4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;energy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;B3LYP/cc-pVDZ&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;return_wfn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;HOMO&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_homo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scf_wfn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;LUMO&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_lumo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scf_wfn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;HOMO&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;LUMO&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scf_e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;</description><pubDate>Sat, 15 Sep 2018 11:49:19 +0919</pubDate><category>Python</category><category>RDKit</category><category>Psi4</category></item><item><title>Shizuoka.py #7やります</title><link>http://blog.kzfmix.com/entry/1534934245</link><description>&lt;p&gt;前回からかなり時間が経ってしまいましたが、Shizuoka.py #7やります&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://connpass.com/event/99046/"&gt;Shizuoka.py #7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://connpass.com/event/99049/"&gt;Shizuoka.py #7 懇親会&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;皆さまの参加をお待ちしています( ･`ω･´)&lt;/p&gt;</description><pubDate>Wed, 22 Aug 2018 19:37:39 +0919</pubDate><category>Python</category></item><item><title>パーフェクトPythonを読んだ</title><link>http://blog.kzfmix.com/entry/1377642157</link><description>&lt;p&gt;5年くらい前に&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/477415539X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51qCCa-gPLL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;パーフェクトPython (PERFECT SERIES 5)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Pythonサポーターズ&lt;br /&gt;
    技術評論社 / 3360円 ( 2013-03-05 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;なかなか良い本だったと思う&lt;/p&gt;</description><pubDate>Tue, 05 Jun 2018 01:19:40 +0919</pubDate><category>Python</category></item></channel></rss>