りんごがでている

何か役に立つことを書きます

EzXML.jlを作った話

先月ですが、EzXML.jlというXMLやHTMLを扱うためのパッケージをリリースしました。 EzXML.jlはlibxml2というC言語で書かれたメジャーなライブラリのラッパーなのですが、それをJuliaでラップする過程で色々と工夫がありましたので、その辺を共有したいと思い…

RユーザーのためのJulia100問100答

R Adevnt Calendar 8日目の記事です。大幅に遅れて大変申し訳ないです。 この記事ではR言語ユーザーのために100問100答形式でJuliaを紹介していこうと思います。 Julia言語 Juliaってどういう言語なの? Juliaは高レベルでハイパフォーマンスな技術計算のため…

Julia現状確認 (言語編)

これはJuliaアドベントカレンダー1日目の記事です。2016年におけるJuliaの「現状」を確認していこうと思います。 Julia言語とは Juliaとは一体どのような言語でしょうか。julialang.orgの最初の説明を用いると、「他の技術計算環境のユーザに馴染みのある構…

Julia言語の0.5の変更点

9月20日にJulia言語の最新版である0.5がリリースされました。Juliaのメーリングリストに投稿されたアナウンスメントはこちらです: https://groups.google.com/d/msg/julia-users/J2DiH1GnM8o/aO2Ku8o-CgAJ きっと近いうちに本家のブログで詳しい変更点の紹介…

JuliaからRを使う

先日のWACODE夏期講習でRCall.jlのデモをしたら、やはりウケが良かったようなので改めて紹介をします。 RCall.jlはJuliaからR言語の機能を呼び出すツールです。データの受け渡しからREPLでのインタラクティブな実行・プロットも簡単にできます。Juliaを使っ…

『R言語徹底解説』(共立出版)をいただきました!

先日、出版社の方から新刊の『R言語徹底解説』(共立出版)をいただきました。ありがとうございます。 R言語徹底解説 / Hadley Wickham 著 石田 基広 市川 太祐 高柳 慎一 福島 真太朗 訳 | 共立出版 この本は、R言語界では知らない人のいないHadley Wickham氏…

Juliaのユニットテスト

Julia Advent Calendar 9日目の記事です。なんとか途切れさせないでいきましょう。 Juliaと言えばユニットテストが書きやすい言語として有名です[要出典]。 何故書きやすいのかといえば、もちろんマクロがあるからです。 マクロのおかげで、よく分からないア…

Juliaの多分あまり知られてない関数達

Julia Advent Calendar 7日目の記事です。今週ひとりアドベントカレンダーの様相を呈してきているので誰か助けてください。 JuliaのBaseモジュールの関数はたくさんあるため、意外と知られていない関数もあると思います。 ですので、個人的によく使うなぁと…

Japan.R 2015でJuliaの布教してきました

Julia Advent Calendar 6日目の記事です。 昨日のJapan.R 2015のLTでJuliaの布教をしてきました。 5分で55枚のスライドをやり切り、時間ピッタリで無事終えました。 Juliaの速さを早口で表現 #japanR— さわみる (@sourmilk) 2015, 12月 5 だそうです。 当日…

Joneswareの世界

Julia Advent Calendar 2日目の記事です。 JoneswareというのはJulia界の重要人物のひとりであるdcjonesさんの作ったパッケージをさしています。 実は私のJulia Summer of Codeプロジェクトのメンターになってくれた方で、今年のJuliaConでお会いしたことも…

Julia v0.4 新機能&変更点まとめ

待ちに待ったJuliaの新バージョンv0.4がリリース直前です! 現在はRC1RC2が利用可能ですので、新しいもの好きの方はダウンロードして試すことができます。 Releases · JuliaLang/julia · GitHub v0.4はかなり長い間開発されてきましたので、新機能が盛りだく…

Juliaのシンボルとは?

先ほど何となくstackoverflowのJuliaに関する投稿を見ていたら、なるほど確かに最初は分からないかもしれないなと思う疑問と、それに対する分かりやすいKarpinski氏の回答があったので紹介しようと思います。 What is a "symbol" in Julia?stackoverflow.com…

株式会社リブセンスのTechNightに参加してきました

リブセンスのエンジニアの方にJuliaの話をしてほしいとの話を受けまして、LTですがJuliaのお話をしてきました。 このようなエンジニア中心の勉強会を毎月行っているようです。 LT大会「TechNight」、7/27(月) 19:30〜開催します。 | LIVESENSE made* せっか…

「シリーズ Useful R データ分析プロセス」をいただきました

著者の福島さんより、「データ分析プロセス」(共立出版)の御恵投いただきました。ありがとうございます。 この本はシリーズ Useful Rのうちの一冊のようです。よく見ると私のラボのOBである門田先生もトランスクリプトーム解析の本をこのシリーズで書かれて…

Julia Summer of Code 2015に採択されました

Julia Summer of Codeという誰も知らないプログラムに採択されました。 この手のプログラムに採用されたのは初めてなので、嬉しくてあちこちで言いふらしています(ウザくてごめんなさい)。 概要としては、最近話題(?)のJuliaというプログラミング言語で夏の…

JuliaTokyo #3 を開催しました

昨日(4月25日)JuliaTokyo #3を開催しました。 イベントページはこちらです。 JuliaTokyo #3 (2015/04/25 14:00〜)juliatokyo.connpass.com 当日の発表資料などはこちらにあります。 JuliaTokyo #3 - 資料一覧 - connpassjuliatokyo.connpass.com 今回私はLT…

Juliaではfor文を使え。ベクトル化してはいけない。

タイトルはいささか誇張です。最後のセクションが一番言いたいことなので、そこまで読んでいただけたら嬉しいです。 きっかけは昨日こんなツイートをしたら割りとRTとFavがあったので、分かっている人には当たり前なのですが、解説を書いたらいいかなと思っ…

JuliaによるNelder-Meadアルゴリズムの実装

Optim.jlというJuliaの関数最適化パッケージの出力が気になったのでプルリクエストを投げたら、ちょっと議論になり色々Nelder-Meadアルゴリズムを調べる事になってしまい、その副作用で少し詳しくなったのでJuliaで実装を書いてみました。Optim.jlの実装より…

Juliaのコードを勝手に最適化してみた

こちらのスライドのパフォーマンスが気になったので、ちょっと速くしてみました。 Juliaのススメ from Ai Makabi Juliaのススメ 気になったのはコレです。 おかしいっ、我らがJuliaがPython + NumPyに負けるわけないっ。 早速いじってみましょう。 元コード…

PythonistaのためのJulia100問100答

この記事はJulia Advent Calendar 2014の12日目の記事だったはずのものです(遅れてすいません...)。 Pythonユーザーとしての自分に対して100問100答形式で気になるだろうことを列挙したものになっています。 全体は以下の様なセクションに分かれています。 J…

Unicodeプログラミングのすゝめ

Julia Advent Calendar 2014 4日目の記事です。 以前、工学部の友人から「変数mとuの積をmuと書いたと思ったら、パラメータμをmuと書いてたりするFortranのコードがあって混乱する」という話を聞きました。 最近の言語はUnicodeを使える物も多いですが(Unico…

X分で学ぶJulia

2016/11/20 追記: この記事は内容が一部古くなっています。最新版はこちらを参照して下さい Julia Advent Calendar 2014 1日目の記事です。 まだまだJuliaは一般に知られていない言語ということもありまして、Juliaの基本的な機能を最短で学ぶ記事を初日に書…

Consensus CDSの領域をGRangesオブジェクトにする

Bioconductor - TxDb.Hsapiens.UCSC.hg19.knownGeneは便利なのですが、ある遺伝子に対応するtranscriptが多すぎてどうしたものかと困ってました。 で、UCSCのゲノムブラウザで見るとConsensus CDS(CCDS)のアノテーションもあるのですが、このBioconductorの…

RStudioから使えるR Markdownで日本語のPDFを作成する

RStudioではRの実行結果を埋め込んでドキュメントやレポートを作成するのにLaTeXベースのものとMarkdown(の亜種のR Markdown)ベースのものが選べるのですが、R Markdownから日本語を含んだレポートをPDF化するのに手間取ったのでその方法を記述します。 私の…

JuliaTokyo #2 でモンテカルロ法について話してきました

9月27日の JuliaTokyo #2 で『Juliaで学ぶ Hamiltonian Monte Carlo (NUTS 入り)』と題してHamiltonian Monte Carlo (HMC) とStanで使われているNUTSについてお話してきました。 JuliaTokyo #2 (2014/09/27 14:00〜) JuliaTokyo #2 - connpass 内容 Juliaで…

コマンドを並列に実行するGNU parallelがとても便利

最近のコンピュータは複数のCPUコアを持っているので並列にコマンドを実行することができます。 たくさんの同じようなファイルに同じ処理を実行することは、私のやっているバイオインフォマティクスではよくあります。 しかし自分で並列に実行するスクリプト…

statisticsにt検定を実装しました

ちょっとHaskellのstatisticsパッケージを見ていたら、統計的仮説検定に何故かt検定が無かったのでチョイチョイと実装しました。 https://github.com/bos/statistics/pull/66 masterの一歩手前のconfidenceブランチに取り込まれましたので、そのうち使えるよ…

JuliaTokyo #1 を開催しました

日本で(多分)最初のJuliaの勉強会 JuliaTokyo #1 を開催しました。イベントページはこちらです。 http://juliatokyo.connpass.com/event/6891/ 当日は40人ほどの参加者が集まり、いつの間にJuliaがそんなに一般化したんだという感じでしたが、Julia歴1週間と…

HaskellのFusionがあれば速度と抽象化を両立できる

データの分析をする際には配列やベクトルは欠かせないデータ構造です。 大体どの言語にも大体配列は用意されていて、そこにサンプルのデータ等を入れて統計量を計算したり関数に渡して回帰をしたりするわけです。 ベクトルという単位でデータの塊を扱うもの…

Pythonのコマンドライン引数処理の決定版 docopt (あとJuliaに移植したよ)

Pythonをよく使う人にはよく知ってる人も多いのですが、docoptという便利ライブラリがあります。 docoptはargparseやoptparseのようなコマンドライン引数をパースするライブラリなのですが、その発想がコロンブスの卵なのです。 例えばPython標準のargparse…

Haskellでデータ処理がしたい!

この記事はIIJの@kazu_yamamotoさんの下で、アルバイトとして書いています。 最終的な目的はHaskellでの統計処理やデータ処理のツールを整備しようというものですが、その下調べをした内容をこの記事にまとめています。 ご意見などコメントいただけるとあり…

Juliaのデストラクター

Juliaのマニュアルを読むとコンストラクターの記述はちゃんとあるのですが、デストラクターに関しての記述が見当たりません。ググっても情報が出てこないようなので、ここにその方法を残しておきます。 JuliaにはC++の~ClassName()のようにデストラクター専…

matplotlib入門

matplotlibはPythonでグラフを描画するときなどに使われる標準的なライブラリです。 画像ファイルを作るばかりでなく、簡単なアニメーションやインタラクティブなグラフを作ることも可能です。 実際の例はmatplotlibサイトのギャラリーで見ることができます…

Haskell Tips (文字列編)

この記事はHaskell Advent 2012のための記事です。(遅れてすいません(ヽ´ω`)) Haskellで実際にプログラムを書く上では、様々なパッケージにある型や関数を利用するのが不可避になります。 そういった便利ツールのうち文字列まわりについて調べたところを、Ha…

モナドトランスフォーマー・ステップ・バイ・ステップ(Monad Transformers Step By Step)

著者のMartin Grabmüller氏に許可をいただきましたので、 Haskellモナドトランスフォーマーのチュートリアルを翻訳したものを公開します。 タイポや誤訳、プログラムのミス等ありましたら、 Twitter宛@bicycle1885かコメント欄までご連絡頂けるとありがたい…

第6回 スタートHaskell2 で発表してきました

2012年の11月18日日曜日に神保町で行われたスタートHaskell2の第6回で、モナドについて発表してきました。 当日の朝まで資料作って、お布団との癒着により家を出るのがギリギリになって、バス停で財布を忘れてきたことに気がついて取りに戻ったのでギリギリ…

Haskellのパッケージ管理について調べてみた

Haskellやって1年ちょっと経つわけですが、Haskellで使うpackageの管理についてよく知らなかったので色々調べてみました。 対象としては最近Haskellを始めた方やpackage管理についてよく知らないという方向けです、 packageを利用する側からの説明なので、…

YAPC::Asia 2012でスタッフしてきた(2回目)

YAPC::Asia 2012で去年に引き続き今年もスタッフしてきましたΣ(゚∀゚ノ)ノ去年まではずっと大岡山の東工大でやってきたようですが、今年は私の本拠地であります東大本郷キャンパスでした。YAPC::Asiaとは私にとってLarry Wallやネットでしか見たことないPerl Mon…

CSSとjQueryのreadyイベントのタイミング

ちょっとハマったので紹介しておきます。 症状 jQueryを使ってウェブページのグローバルナビゲーションをウィンドウに対して縦方向にセンタリングしようとしていたとき、ページのリロードを繰り返すと3回に1回ぐらいグローバルナビゲーションの位置が下に…

Yesodチュートリアルの蛇足(3)

前回に引き続きYesodチュートリアルを先に進めていこう。参考にしているチュートリアルはこちら Haskell web programming 今回は3章Mirrorをやってみる。 こんな入力フォームに"Hello Yesod!"と打つと、そのテキストとテキストをひっくり返した文字列を結合…

Yesodチュートリアルの蛇足(2)

前回の続きを。参考にしているチュートリアルはこちらから。 Haskell web programming今日は2.Echoからやっていこう。YesodはFront Controller Patternをとっている。 つまりYesodへのリクエストはひとつの入り口から入って、そこから各所に割り振られる。 …

Yesodチュートリアルの蛇足(1)

YesodというHaskell製のフレームワークがある。 近々O'ReillyからYesod本(Haskell and Yesod)が出るらしいので、その前にちょっと触ってみようと思ったのでその記録を。参考にしたチュートリアルは、 Haskell web programming 冒頭の紹介によると、膨大なリ…

スタートHaskell 第6回(最終回)に参加してきた

先週の土曜日に当たる1月28日、神保町近くにあるIIJを会場にした「スタートHaskell 第6回」に参加してきた。 スタートHaskellは去年7月の第0回から数えて7回目で、自分はこのうち6回参加したので結構参加者の人たちを(一方的に)覚えてしまった。 @…

Ubuntu11.10 から Linux Mint 12 "Lisa" へ

OSの移行なんてそうそうやるものでもないので、備忘録として。 MintはUbuntuより人気? DistroWatch.com: Put the fun back into computing. Use Linux, BSD.のデータによると、ページランク的にはMintがUbuntuを上回って今一番注目を集めているLinuxディス…

一体何番煎じか分かったもんじゃないけどMonadでStack (2)

前回の記事で作製した data Stack a = Stack a (Stack a) | Empty deriving (Show) type MonadStack a = State (Stack a) a で問題が発覚したから、ちゃんと直しましょう。名だたるHaskeller達に噴飯されないように。せめて失笑レベルまで持って行きたいな。…

[idea] ものごとに名前を付けると、中身は隠される

市民ら約300人が参加。二井関成知事が基調講演し、「04年に阿東町(現・山口市阿東町)で79年ぶりに鳥インフルエンザが発生した際、トップの決断の重要性を痛感した。近年はゲリラ豪雨も増えており、自助、公助、共助を組み合わせた防災文化を日ごろ…

一体何番煎じか分かったもんじゃないけどMonadでStack (1)

前回のスタートHaskell第5回に触発されたので色々とモナドをいじっていこうっと♪~(´ε` ) おっと、触発されただけで別にマスターしてないので悪しからず。 まだ全然Monad理解してないのでツッコミなどあったら是非是非お願いします。さて、状態を扱えるCont…

スタート Haskell 第5回

スタートHaskell第5回(http://atnd.org/events/22289)参加してきましたのでメモなどを。 概要 発表 今回はプログラミングHaskellの10章と11章のお話+山本和彦(@kazu_yamamoto)さんのモナドチュートリアル その後 後半の実習と懇談会は予定があって参加できな…