Bluepostech

プログラムとかはこっち

このご時世にfortranを触ってきて思ったこと

注意:かなり個人的な愚痴がメインです。 fortranという言語をめぐる現状 fortranという言語を考えてみる fortranのみで「プログラミング経験あり」と言うと笑われる 非情報系にはモダンなプログラミングを教えれる人がいない fortranを学んだ学生がやるべき…

fortranの静的ライブラリと問題点

qiita.com

namelistをなかなか読み込まないときの裏技

qiita.com

fortranでもオブジェクト指向したい

Qiitaに投稿しました。 qiita.com

【bash】プロンプトのパス表示を切り詰める

bashのプロンプト プロンプトは環境変数$PS1で編集する bashのプロンプト bashのプロンプトはいろいろだが、入力部分より前側が長すぎると見づらいことがある。たとえば user@node /home/workspace/mywork1/temp/test $ のように長いと、入力した文字列がわ…

【win10】bash on windowsが強くなっていた

先日アップロードした記事の続き。 bluepost69-tech.hatenablog.com これまでと困ってること そもそも別窓でエディタが開くのは嫌 Atomは重い vimは嫌 ターミナルを使いたい 一瞬Powershellに落ち着いた 久しぶりにbashを触ったらはまった これまでと困って…

Haskell-stackを触ってみた

タイトル通りHaskellを触ってみたのだが、Hello worldのような簡単なコードを実行するまででも「これにしたがってやればいい」みたいなドキュメントが見つからなかったので、メモ書きとして残しておく。環境:windows10 + powershell 1.インストールとセット…

VOCALOID3でのVOCALOID2のライブラリインポート

いろいろつまづいたのでメモ。元々VOCALOID2(以下V2)のライブラリはVOCALOID3(以下V3)のものとは別であり、V2のライブラリをV3で使うにはライブラリインポートツールというものを使わなければならない。このライブラリインポートツールは2016年末でYAMAH…

【win10】立体音響にしたら音割れするようになった

windows10には立体音響っぽくする機能があるらしく、プロパティに「立体音響」なるタブがある。方式を選択して適用すると、仮想的に立体音響となるらしい。ところがそれが落とし穴で、Windows Sonic for Headphonesを選択して適用を押すと音割れするようにな…

Raspberry Pi 3にArchlinux (ARM)を入れてみた

先日友人にRaspberry Piを譲ってもらったので、ArchLinuxでサーバを構築してみた。何番煎じになるかわからないが、日本語のドキュメントが乏しい箇所もあったので、作業をまとめておこうと思う。 1.用意したもの Raspberry Pi 3 いわずもがな。 USB電源アダ…

ドラえもんのエネルギー収支

あまり知られていないことだが、ドラえもんはきわめて優れたエネルギー装置である。子育てロボットにしてはいささかオーバースペックで物騒な気もするが、現実離れした原子炉*1を装備しており、食べた物質をすべてエネルギーにすることができる。アインシュ…

【win10】インラインでemacsが使えない【解決済】

今年初めての投稿で縁起がよくない記事だが、どうしても解決しないので投稿しようと思う。先日windows10のPCを購入し、開発環境を整えようとしたのだが、今まで使ってきたEmacsがうまく動く方法を見つけることができなかった。その顛末をまとめようと思う。 …

【python】matplotlibがdvipngを見つけられない

最近理論の話が続いたのでプログラムの話に戻ろう。先日matplotlibを使ったpythonコードを移植しようとしたところ、以下のようなエラーを吐いて動かない、ということがあった。Could not obtain dvipng version直訳すると「dvipngのバージョンを特定できない…

「熱速度」とは結局何なのか

統計物理の重要な概念のひとつに「熱速度」という概念がある。熱速度とは、気体やプラズマのように多くの粒子からなる系で、さまざまな速度で運動する粒子集団の代表的な速度として定義される。しかし定義がいくつかあるうえ、あまりテキストに載っていない…

ガウス積分まとめ

理系学生としてあってはならないことだが、僕は頻繁にガウス積分を忘れる。導出の方法は覚えているのだが、毎回導出するのはかなりあほらしいしまちがいのもとにもなりかねないので、ここにまとめておこうと思う。 1.一番基本的なケース(e^{-x^2}) 2.指数の…

【python】fortranのnamelistで書かれた設定ファイルを読み込む(f90nml)

以前fortranのnamelistという機能を紹介した。 数字を羅列しただけの平文ファイルとちがってnamelistはfortran独自のものなので、ほかの言語で読み込む場合は何らかの工夫が必要になる。 「fortranで計算した結果をpythonのmatplotlibでグラフ化したい」とい…

【fortran】設定値を別ファイルで与える(namelist)

大規模計算プログラムには大量の設定すべきパラメータがある。物理定数のように内部で与えておけばよいものもあるが、頻繁に変えて実行するものもあり、内部で与えるとその都度コンパイルしなければならず効率が悪い。 簡単に思いつくのは、「平文のまま設定…

【bash】ワイルドカードが使えないコマンドでワイルドカードを使う

ワイルドカードとは、複数のファイルを一気に指定するのに使う記号で、たとえば任意の文字列を表す「*」や任意の1文字を表す「?」が代表的だ。たとえばカレントディレクトリのjpgファイルをpictureというディレクトリへ移動するときは、次のようにする。 mv …

【cygwinで動画編集】2.ffmpegのインストール

lameをインストールした前回に引き続き、ffmpegをインストールしてみよう。 ffmpegもソースからビルドしなければならず、依存するパッケージもたくさんあるが、よくまとまったサイトがたくさんあるのでそちらを参照していただきたい。 僕がインストールした…

【cygwinで動画編集】1.lameとflac

動画や音声ファイルはそのままではとても容量が大きいので、通常は圧縮処理されて容量が抑えられており、その圧縮処理をエンコードという。 有名なエンコーダにはmp3のlame、mp4などのffmpegがある。これらはwindowsのCUIやさまざまな動画編集ソフトにも含ま…

cygwinでpython・pip・numpy・matplotlib

cygwinはwindowsでプログラム環境を作るのには強いツールと言える。apt-cyg install gccとかでコンパイラが入るので、windowネイティブのバイナリをいちいちダウンロードして実行するより楽だ。 しかし、pythonとは非常に相性が悪いらしい。pythonを入れるだ…

【bash】タイトル名に入ったスペースを置換する

タイトルに入ったスペースは、バグの原因のひとつになる。たとえば「I love you.txt」というファイルを「love letter.txt」という名前にリネームするとき、次のようにするとエラーが出る。 mv I love you.txt love letter.txt なぜならば、単語がスペースで…

【Zenfone Goでデレステ】プレイについて

「アイドルマスターシンデレラガールズ スターライトステージ」はシンデレラガールズの世界をモチーフにした音楽ゲームで、最近SMAPの中居君がCMをしたり、基本無料とは到底思えないクオリティのMVなどで大人気のアプリである。 しかし、このデレステという…

【bash】ワンライナーでdoループ

forループはプログラムでは重要な機能だ。「カレントディレクトリ以下のファイル全部に何かする」とか、「findで拡張子が*.pngのファイルを拾ってきてリネームする」とか、そういう「リストに含まれるものに何かする」という局面はよくある。 bashスクリプト…

【bash】コマンドラインで四則演算をする

シェルスクリプトは十分有用な言語といえるが、ただ一つ重大な欠点がある。実は四則演算が単純な式でできないのだ。 たとえば、pythonで1/3を計算して表示するには、たった1文次のようにすればよい。 print 1.0/3.0 ただし1/3としてはならない。なぜならば1/…

【Linux】findで特殊文字をエスケープする

findという非常に便利なコマンドがある。これはファイルを検索するコマンドなので、よくパイプと一緒に使う。 たとえば、カレントディレクトリ以下のemacsで生成される「*.txt~」というような一時ファイルを一挙に削除するときは次のようにすればよい。 find…

【html】ハコを作る方法

このブログはプログラム関係のことも書くのでソースコードを書くことが多いのだが、ソースコードやターミナル上に出るメッセージは囲んでわかるようにしている。 このように囲むには、はてなブログではhtml編集モードに移り、次のように記述する。 <p style="border: dashed 1px; background-color: #e6e6e6;">hoge<br />foo <br></p> …

【bash】forループで連番と飛び値を併用する方法

シェルスクリプトのfor文の基本的な文法は次のようなものになる。 for i in 1 2 3 5 7 11 13{ command } 書ききれるならこのようにすればいいし、この並びでは1,2,3が連番になっているので、次のように指定することもできる。 for i in {1..3} 5 7 11 13 範…

【cygwin】w32texとの競合問題

cygwinを入れて一通りのソフトは導入した。そこで、すでにTeXWorksは動く環境でcygwinでもLaTeXも入れようとしたのだがどういうわけかうまくいかなかった。 TeXLive(w32TeX)はもとから入っている環境にcygwinを入れるときのトラブルじゃないかと思っている…

cygwinを入れてからやること(個人的メモ)

個人的なメモ。でも一般的にはこれだけやっておけば十分だと思う。 1.apt-cygを入れる wgetが入ってなかったら、インストーラで一緒にwgetを入れておく。 wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cygchmod 755 apt-cygmv…