アルパカ三銃士

〜アルパカに酔いしれる獣たちへ捧げる〜

Perl

Hokkaido.pm #14 に参加してきました。

とても行きたかったので参加してきました! hokkaidopm.connpass.com 北海道自体が最高すぎる... ついでに Perl で作る極小機能しか持たないシェルの作り方について登壇してきました。 交通費、宿泊費は株式会社メルカリに出してもらったので感謝しています。…

Package::Stash という凄そうなやつ

先日このようなツイートをした 凄い神モジュール見つけたhttps://t.co/bPdOXBRkiy— K (@CodeHex) 2018年1月25日 Package::Stash というモジュールの詳細は以下のリンクから metacpan.org

XS での pTHX/pTHX_, aTHX/aTHX_ について

今日は以前紹介した、List::Flatten::XS を更新してバージョン 0.03 をリリースしたのだが、リリースした途端に次のような issue が飛んできた。 github.com 内容はスレッド Perl でビルドができないというもので、一番最初のレポートが去年の 4 月頃になっ…

LLVM IR からバイナリを生成するための Perl スクリプト

以下のリンクの続き。 副産物として Perl スクリプトをコンパイルしてくれる Perl スクリプトを作成した。 codehex.hateblo.jp

Perl で Compiler::CodeGenerator::LLVM を用いて LLVM IR を出力する

約 4 年前になると思うが、@goccy54 さんが LLVM のライブラリを用いて、Perl のコードから LLVM IR を生成するといった夢のようなモジュールを作成されていた。 それが Compiler::CodeGenerator::LLVM である。 これをどのような感じで使うのかは、@papix …

ポインタで vector を作ってはいけないかもしれない

この issue を解決しようとしてデバッグしまくってた結果疑問が出てきた。 github.com それは STL の vector でポインタを使ってはいけない疑惑。

Perl XS デバッグを vscode で行う

タイトルの通り、vscode を使って XS のデバッグを行う。 環境は Mac OS X El capitan MacBook Air (11-inch, Mid 2012) で lldb を用いる。Perl は 5.24.1 で plenv を使って管理している。 まずはデバッグしたいプロジェクトを vscode で開き、launch.json…

Perl の隠れ演算子の紹介(2017)

この記事は「Perl Advent Calendar 2017」の 25 日目の記事です。 まさか全部埋まるとは思っていませんでした。これも皆さんのおかげ様です。 ありがとうございました! qiita.com Perl には隠れ演算子なるものが存在します。 これらは、言語開発者が意図し…

MXNet の基礎を Perl で学んでみた part 2

前回の「MXNet の基礎を Perl で学んでみた part 1」では NDArray api, Symbol api を組み合わせて計算を試した。今回は、前回使用した api も使ってデータセットをどう準備するか、ニューラルネットをどのように組み立ていくかのチュートリアルを行う。 以…

MXNet の基礎を Perl で学んでみた part 1

最近 MXNet の論文を読んだり、MXNet はこれから使われるのかどうかについて調査していた。 結構将来ありそうな感じがした。 MXNet についてのレポートです pic.twitter.com/n6gjOcxNIQ— K (@CodeHex) 2017年9月5日 そこで、何かしら基本になりそうなチュー…

AI::MxNet の char_lstm.pl を触ってみた

前々から LSTM に興味があった(何かしらの文章を生成させてみたいと思ってた)ため、今回 AI::MxNet の example に含まれている char_lstm.pl を触ってみた。 github.com LSTM については以下の記事が丁寧に解説している。 s0sem0y.hatenablog.com このサン…

plenv を使った環境で AI::MXNet を簡単にインストールする

もっと簡単な方法があれば教えてほしいが、公式のインストールガイドを若干変更することで、簡単に依存関係を含めインストールできた。環境は OS X で以下の手順。 brew install swig cpanm PDL Mouse Function::Parameters export MXNET_HOME=${PWD} # AI::…