平衡点


2009/12/11

_ ADS へ検索かけて BibTeX のエントリを持ってくる

何故か Ruby::Mechanize を使って 10 分スクリプトでっちあげた.API 公開されてないのかな…ありそうなモンだけれど.

というわけで.

#!/usr/bin/env ruby
require 'mechanize'
require 'kconv'

agent = WWW::Mechanize.new
ads_search = agent.get("http://adsabs.harvard.edu/basic_search.html")
search_form = ads_search.forms[0]
search_form['qsearch'] = "#{ARGV.join(" ")}"
redirect_page = agent.submit(search_form)
results = redirect_page.forms[1].checkboxes_with(:name => 'bibcode')
results_number = results.size
if results_number == 0
  puts "no search result retry!"
elsif results_number > 1
  puts "search result too many, retry!"
  puts "========================="
  i = 0
  results.each do |result|
    puts i.to_s + " " + result.value
    i += 1
  end
else
  result = agent.get(redirect_page.links[5].href)
  bibtex_query = 
    result.link_with(:text => "Bibtex entry for this abstract").href
  bibtex = agent.get(bibtex_query).content.to_s
  puts bibtex.split("\n")[5..-1].join("\n")
end

単にBasic Searchの form に ARGV.join(" ") を入れて, 検索結果が一つだったら BibTeX のエントリを標準出力へ, というもんです.本当はちょっとだけ対話的に, 例えば検索結果の一覧を表示して,必要なモンだけ選んで BibTeX のエントリをまとめて取得する, とかやりたかったけれど, 時間ないんで…

そのうち弄るかもしれない. とりあえず放置((あ, そういえば NAOJ って ADS のミラー止めたのかな)). 誰か弄りませんか? id:msll さんとか.

結果は以下の通り

$ ADSquery2bib.rb Busse 1970 thermal instabillity
 @ARTICLE{1970JFM....44..441B,
    author = {{Busse}, F.~H.},
     title = "{Thermal instabilities in rapidly rotating systems.}",
   journal = {Journal of Fluid Mechanics},
      year = 1970,
    volume = 44,
     pages = {441-460},
       doi = {10.1017/S0022112070001921},
    adsurl = {http://adsabs.harvard.edu/abs/1970JFM....44..441B},
   adsnote = {Provided by the SAO/NASA Astrophysics Data System}
  }

_ 今日は予備審らしい

いやぁ, 準備が追いつきません. 間に合うのかなコレ…

札幌に来ています. とりあえず日曜日に帰ることにして, 土曜は札幌を堪能しようかと思っています.

うー…. 寝れん…


2009/12/13

_ 村主さんの GPGPU プレゼン

slideshare に上がっていたのでメモ

...ふむ

_ 予備審

終わりました. というわけで 12/25 までに紙を書く必要があります.

がんばります(`・ω・´)シャキーン


2009/12/15

_ OpenMPI で "use mpi" が効いたり効かなかったり

こんなしょーもない(configure の際にチェック用に走らせている)コード.

program conftes11
  use mpi
!  include 'mpif.h'
  integer:: err_mpi, rank_mpi, np_mpi
  call MPI_Init(err_mpi)
  call MPI_Comm_Rank(MPI_COMM_WORLD, rank_mpi, err_mpi)
  call MPI_Comm_Size(MPI_COMM_WORLD, np_mpi, err_mpi)
  call MPI_Finalize(err_mpi)
end
  • "use mpi" だと mpi.mod が無い, という error.
    • mpi.mod はとある場所にちゃんとある.
    • mpif90 --showme:compile でも, きちんと -I で include している
  • include 'mpif.h' だとコンパイルが通る -> 実行可能

うーん. 時間無いのに

_ノ乙(、ン、)_


2009/12/17

_ ptex-bin が コアダンプします!

気にせず upgrade したので, 久々に sid を体験(笑).やったね! 博士論文どうするんだい?

...いや, まあ chroot 環境下の lenny でコンパイルしますけれどねー.

% platex main
This is pTeXk, Version 3.141592-p3.1.10 (euc) (Web2C 7.5.4)
 %&-line parsing enabled.
(./main.tex
pLaTeX2e <2006/11/10>+0 (based on LaTeX2e <2009/09/24> patch level 0)
(/usr/share/texmf/ptex/platex/misc/jsbook.cls
Document Class: jsbook 2009/08/23 okumura
*** glibc detected *** platex: free(): invalid pointer: 0x0000000002258591 ***
======= Backtrace: =========
/lib/libc.so.6[0x7f61b32d3d56]
/lib/libc.so.6(cfree+0x6c)[0x7f61b32d89bc]
/usr/lib/libkpathsea.so.4[0x7f61b38422aa]
/usr/lib/libkpathsea.so.4(kpse_fontmap_lookup+0xd9)[0x7f61b3842509]
/usr/lib/libkpathsea.so.4(kpse_find_file+0x2f9)[0x7f61b383ee49]
platex[0x43fa6a]
platex[0x4297b4]
platex[0x434656]
platex[0x40811e]
platex[0x43b84d]
platex[0x40d219]
platex[0x43ee4e]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7f61b3281abd]
platex[0x401bc9]
======= Memory map: ========
00400000-00449000 r-xp 00000000 08:04 1077525042                         /usr/bin/ptex
00649000-0064a000 rw-p 00049000 08:04 1077525042                         /usr/bin/ptex
0064a000-006cd000 rw-p 00000000 00:00 0
020d4000-02284000 rw-p 00000000 00:00 0                                  [heap]
7f61ac000000-7f61ac021000 rw-p 00000000 00:00 0
7f61ac021000-7f61b0000000 ---p 00000000 00:00 0
7f61b04a1000-7f61b04b7000 r-xp 00000000 08:04 536871082                  /lib/libgcc_s.so.1
7f61b04b7000-7f61b06b6000 ---p 00016000 08:04 536871082                  /lib/libgcc_s.so.1
7f61b06b6000-7f61b06b7000 rw-p 00015000 08:04 536871082                  /lib/libgcc_s.so.1
7f61b06b7000-7f61b2f11000 rw-p 00000000 00:00 0
7f61b2f11000-7f61b3263000 r--p 00000000 08:04 1083298830                 /usr/lib/locale/locale-archive
7f61b3263000-7f61b33ad000 r-xp 00000000 08:04 536872399                  /lib/libc-2.10.2.so
7f61b33ad000-7f61b35ad000 ---p 0014a000 08:04 536872399                  /lib/libc-2.10.2.so
7f61b35ad000-7f61b35b1000 r--p 0014a000 08:04 536872399                  /lib/libc-2.10.2.so
7f61b35b1000-7f61b35b2000 rw-p 0014e000 08:04 536872399                  /lib/libc-2.10.2.so
7f61b35b2000-7f61b35b7000 rw-p 00000000 00:00 0
7f61b35b7000-7f61b3638000 r-xp 00000000 08:04 536872366                  /lib/libm-2.10.2.so
7f61b3638000-7f61b3837000 ---p 00081000 08:04 536872366                  /lib/libm-2.10.2.so
7f61b3837000-7f61b3838000 r--p 00080000 08:04 536872366                  /lib/libm-2.10.2.so
7f61b3838000-7f61b3839000 rw-p 00081000 08:04 536872366                  /lib/libm-2.10.2.so
7f61b3839000-7f61b384a000 r-xp 00000000 08:04 538096451                  /usr/lib/libkpathsea.so.4.0.0
7f61b384a000-7f61b3a4a000 ---p 00011000 08:04 538096451                  /usr/lib/libkpathsea.so.4.0.0
7f61b3a4a000-7f61b3a4b000 rw-p 00011000 08:04 538096451                  /usr/lib/libkpathsea.so.4.0.0
7f61b3a4b000-7f61b3a4e000 rw-p 00000000 00:00 0
7f61b3a4e000-7f61b3a6b000 r-xp 00000000 08:04 536872391                  /lib/ld-2.10.2.so
7f61b3ad1000-7f61b3c5a000 rw-p 00000000 00:00 0
7f61b3c62000-7f61b3c6a000 rw-p 00000000 00:00 0
7f61b3c6a000-7f61b3c6b000 r--p 0001c000 08:04 536872391                  /lib/ld-2.10.2.so
7f61b3c6b000-7f61b3c6c000 rw-p 0001d000 08:04 536872391                  /lib/ld-2.10.2.so
7fff77d21000-7fff77d36000 rw-p 00000000 00:00 0                          [stack]
7fff77dd0000-7fff77dd1000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
zsh: abort      platex main

これですね.

_ノ乙(、ン、)_


2009/12/21

_ お買い物

一足遅いけれど.

R.I.P. / Merry Christmas
BUMP OF CHICKEN, TOY&#39;S FACTORY Inc., ¥790

スピードチューンの方が好きなわけで, 久々に良い感じ.もう少しリズムセクションがラウドだったら申し分ない.

満足.

_ 「OpenMPI で "use mpi" が効きません」の続き

まさかと思って, gfortran-4.3 を install してから試してみた.

コードは以下の通り. 本来は configure 時に試すコードなので"print ..." は無いけれど.

program test
  use mpi
  integer :: err, rank, np
  call MPI_Init(err)
  call MPI_Comm_Rank(MPI_Comm_World, rank, err)
  print *, "hello! I'm proc=", rank
  call MPI_Comm_Size(MPI_Comm_World, np, err)
  call MPI_Finalize(err)
end program test

でもって OMPI_FC を指定して試してみると...

$ mpif90 conftest.f90
conftest.f90:2.9:

  use mpi
         1
Fatal Error: Parse error when checking module version for file
'mpi.mod' opened at (1)
$ OMPI_FC=/usr/bin/gfortran-4.3 mpif90 conftest.f90
$ mpiexec -np 4 ./a.out
 hello! I'm proc=           1
 hello! I'm proc=           2
 hello! I'm proc=           3
 hello! I'm proc=           0

( ゜д゜) 通ったヨ...ソウイウコトデスカ...

どうしよ. BTS すべき?(小心者)...

(追記) BTS しました. 我ながら変な英語…


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲