パスワードを忘れた? アカウント作成

t-nissieさんのトモダチの日記みんなの日記も見てね。 Idle.srad.jpは、あなたの人生において完全な時間の浪費です。見るなよ、見るなよ。

13651742 journal
プログラミング

t-nissieの日記: 【電脳】CMake 3.12.0がリリース、開発者らがredditでAMA (Ask Me Anything)を開催【タレコミ】

日記 by t-nissie

7月17日、マルチプラットフォーム対応のオープンソースな
ビルドシステムCMakeの最新版3.12.0がリリースされた。

そのリリースサイクルが始まった約1ヶ月前、CMakeの開発元
のKitware社に所属する開発者らがRobert Maynard氏を中心に
redditでAMA (Ask Me Anything) を開催していた。そのスレッド
曰く「ぼくはCMakeのリリースサイクルのマネジメントをしているよ。
『CMakeは嫌い』って言うのみんな大好きだよね。なんでも聞いてね。」

Kitware社はオープンソースな三次元グラフィクスシステムのVTKの開発で有名だ。
Robert Maynard氏はCMakeのCUDA対応も担当しているとのこと。

「『嫌い』って言うのみんな大好きなのはAutotoolsじゃなかったのかな?」との質問には
「その王冠をAutotoolsから奪えて嬉しいよ。」、
「Mesonについてはどう思ってる?」との質問には
「全てがよくオーガナイズされているようだね。」などと答えている。

みなさまはAutotools, CMake, Mesonなどのビルドシステムについてどう思われてますか?

13513324 journal
GNU is Not Unix

t-nissieの日記: 【電脳】GCC 7.3.0をコンパイルして遊んでみた

日記 by t-nissie

GCC 7.3.0がリリースされたそうです。IntelのCPUの脆弱性「Spectre」を
回避する機能が入っているそうですが、よくわかりません。

Fortran の Bug 82567 - [6/7/8] gfortran takes a long
time to compile a simple implied-do with -Optimization.
が直っているかどうかためして遊んでみました。Modern Fortranではこんな
内包表現みたいな書き方もできるんですね。知りませんでした。writeの後の
暗黙のdoは知ってましたが。


$ cat intensional.f
! test Bug 82567
! https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82567
! http://www48.atpages.jp/fortran2008/index.html.bak
!!
SUBROUTINE sub()
IMPLICIT NONE
INTEGER, PARAMETER :: n = 10000
REAL, ALLOCATABLE :: x(:)
REAL :: xc, h
INTEGER :: i
ALLOCATE( x(n) )
xc = 100.
h = xc/n
x = h*[(i,i=1,n)]
! Replacing the previous line with one of these lines gives faster compilation
! x = [(i*h,i=1,n)]
! x = (100./n) *[(i,i=1,n)]
END SUBROUTINE sub
$ gfortran --version && /usr/bin/time -p gfortran -O1 -Wall -ffree-form -c intensional.f
GNU Fortran (GCC) 7.2.0
(中略)
real 21.38
user 20.68
sys 0.11

$ gfortran --version && /usr/bin/time -p gfortran -O1 -Wall -ffree-form -c intensional.f
GNU Fortran (GCC) 7.3.0
(中略)
real 10.62
user 10.54
sys 0.06

これで、直っているのでしょうか???
いまいちバグジラに何て書いてあるかわかりません。
まあ、展開に時間がかかっているのでしょう。
-ftime-reportなんてコンパイルオプションもあるんですね。

13431656 journal
GNU is Not Unix

t-nissieの日記: 【電脳】いまさらMakeを使っている人はMake組。Ninja速い。 1

日記 by t-nissie

タイトルは煽りです。
いまさらCMakeとNinjaを試してみました。
GNU AutotoolsにくらべてCMakeがとてもよいとはわたくしは言えないです。
GNU MakeにくらべてNinjaはとても(下の例では2.5倍)速いです。驚きました。


$ tar xf xtalgrowth-1.0.3.tar.gz
$ mkdir xtalgrowth-1.0.3/build-make xtalgrowth-1.0.3/build-ninja
$ cd xtalgrowth-1.0.3/build-ninja/
$ cmake .. -G Ninja
$ /usr/bin/time ninja -j6
[9/9] Linking C executable src/xtalgrowth
                0.13 real 0.23 user 0.11 sys
$ cd ../build-make/
$ cmake ..
$ /usr/bin/time make -j6
Scanning dependencies of target xtalgrowth
[ 11%] Building C object src/CMakeFiles/xtalgrowth.dir/PostScript.c.o
                  :
[ 88%] Building C object src/CMakeFiles/xtalgrowth.dir/parse_opt.c.o
[100%] Linking C executable xtalgrowth
[100%] Built target xtalgrowth
                0.32 real 0.31 user 0.23 sys
$ ninja --version
1.8.2

以上 http://loto.sourceforge.net/xtalgrowth/ で遊んでみた結果の報告でした。

12977360 journal
インターネット

t-nissieの日記: 【タレコミ】宇多田ヒカル『30代はほどほど。』と題して3DVR配信を計画 7

日記 by t-nissie

今年6年ぶりに活動を再開したシンガーソングライターの宇多田ヒカルが
2016年12月9日(金) 21:00~21:30 GYAO!から
『30代はほどほど。』と題して3DVRの生中継を計画している。
(2Dマルチアングル版/通常版の配信もあり。)

コの業界において宇多田ヒカルは20歳の誕生日の2003年1月19日に
『20代はイケイケ!』と題した初期的で大規模なインターネットストリーミング放送を
成功させたことで知られているかもしれない。
同年のUNIX MAGAZINE4月号と5月号には沖本忠久による技術解説が掲載された。
上記GYAO!の告知ページではそのダイジェスト映像が視聴可能だ。
タレコミ子はストリーミング放送は見逃してしまったが、
あとからDVDを買って、観て、
天才じゃなくて普通の女の子なんだ→歌い始める→やっぱ天才だわ、
と思ったことを憶えている。

これからの活動に目が離せないヒッキーに対する思いや、
インターネットストリーミングについてのあれこれ、
中の人の思い出話や現在の苦労話などをコメントしていただけたら幸いである。

12970477 journal
アップグレード

t-nissieの日記: 【電脳】Juliaのtypeof(x → x[1])

日記 by t-nissie

ありがたいことに、どこかの誰かがどこかのバグを直してくれたのか、
Pkg.update("Winston")したらWinstonがJulia-0.5で動くようになった。

WARNING: Base.FS is deprecated, use Base.Filesystem instead.

って警告は、$HOME/.julia/v0.5/Winston/src/Winston.jl を

diff --git a/src/Winston.jl b/src/Winston.jl
index ecfaaa6..8f7b5ee 100644
--- a/src/Winston.jl
+++ b/src/Winston.jl
@@ -1868,7 +1868,7 @@ function savesvg(p::PlotContainer, io::IO, width, height)
  end
 
  function savesvg(p::PlotContainer, filename::AbstractString, width, height)
-    io = Base.FS.open(filename, Base.JL_O_CREAT|Base.JL_O_TRUNC|Base.JL_O_WRONLY, 0o644)
+    io = Base.FileSystem.open(filename, Base.JL_O_CREAT|Base.JL_O_TRUNC|Base.JL_O_WRONLY, 0o644)
     savesvg(p, io, width, height)
     close(io)
     nothing

と直せば、抑制できる。

だがしかーし、

Julia-0.4.6:

julia> VERSION
v"0.4.6"
 
julia> typeof(x -> x[1])
Function

Julia-0.5:

julia> VERSION
v"0.5.0"
 
julia> typeof(x -> x[1])
##1#2

これはバグなのか新しい仕様なのか。

追記:
仕様みたい→Julia言語の0.5の変更点
こんなかんじで困っている:

julia> VERSION
v"0.5.0"
 
julia> function g(f::Array{Function,1})
           x = [1,2,3]
           map(f_each -> f_each(x), f)
       end
g (generic function with 1 method)
 
julia> g([x -> 1x[1], x -> 2x[2], x -> 3x[3]])
3-element Array{Int64,1}:
  1
  4
  9
 
julia> g([x -> 1x[1], x -> 2x[2]])
2-element Array{Int64,1}:
  1
  4
 
julia> g([x -> 1x[1]])
ERROR: MethodError: no method matching g(::Array{##13#14,1})
Closest candidates are:
  g(::Array{Function,1}) at REPL[1]:2

function g(f::Array{Function,1})と引数の型を指定しないで、ただ
function g(f)と書けば動くけど。

12944601 journal
数学

t-nissieの日記: 【電脳】Juliaのbool(x::Number)

日記 by t-nissie

0.4.6でdeprecated

julia> VERSION
v"0.4.6"
 
julia> bool(Complex(1.0,-0.0))
WARNING: bool(x::Number) is deprecated, use x != 0 instead.
  in depwarn at deprecated.jl:73
  in bool at deprecated.jl:50
while loading no file, in expression starting on line 0
true

0.5でError

julia> VERSION
v"0.5.0"
 
julia> bool(Complex(1.0,-0.0))
ERROR: UndefVarError: bool not defined

12905767 journal
GNU is Not Unix

t-nissieの日記: 【電脳】GNU a2ps で Julia のコードをハイライト【ソースコードの印刷】

日記 by t-nissie

ソースコードを印刷する機会はあまりなくなってきている。
しかし、どうしても取れないバグを見つけたいときや
新しい言語を学びたいときはまだソースを印刷してぼんやり眺めたり
鉛筆で書き込みを入れながら流れを追うことがある。

で、Juliaのコードを印刷したくなって、a2ps用のスタイル
シートを書いた→highlighting Julia code with a2p(1)

    $ LANG=C a2ps --header='Printed by t-nissie' --media=a4 --prologue=color\
      --portrait --columns=1 --margin=3 --borders=off -f 11.0 --pretty-print=julia\
      -o RungeKutta.ps ~/.julia/v0.4/RungeKutta/src/RungeKutta.jl

などと使う。

で、ruby.sshはこうしないと、module名とかdefで定義される
関数の名前とかがハイライトされないような気がする。

--- a2ps-4.14/sheets/ruby.ssh    2007-12-29 10:35:15.000000000 +0900
+++ /usr/share/a2ps/sheets/ruby.ssh    2016-09-04 07:08:35.675506024 +0900
@@ -48,8 +48,8 @@
     /^=begin/           Comment_strong        /^=end/,
 
     # Some declarations
-    (/\\(def\\|class\\|module\\)/    # \1. the keyword
-     /\\([[:blank:]]+\\)/        # \2. blanks
+    (/(def|class|module)/    # \1. the keyword
+     /([[:blank:]]+)/        # \2. blanks
      \1 Keyword_strong, \2 Plain) (Label_strong  + Index1)
     closers are
       /$/ Plain,

12857981 journal
日記

t-nissieの日記: 【国民投票】簡単な技術計算に何使ってる? 18

日記 by t-nissie

* 関数電卓
* 携帯電話のアプリ
* GNUPLOTのプロンプト(数学関数豊富、履歴機能、グラフもすぐ描ける)
* Juliaのプロンプト(2\1で割り算も)
* bc(1)
* Emacsの*scratch*でEmacs Lisp
* 逆ポーランド記法の何か

わたくしは、GNUPLOT、Emacsの*scratch*、関数電卓の順。

12836565 journal
日記

t-nissieの日記: 【電脳】Mac OS Xでコンパイルしたruby-2.3.1やruby-2.4.0でrequire "tkextlib/tkimg/png"できない 1

日記 by t-nissie

Mac OS X 10.11.5, Xcode 7.3でコンパイルしたruby-2.3.1やruby-2.4.0-preview1で
require "tkextlib/tkimg/png"できなくて困っています。お助けを。

$ cat tktest.rb
require "tk"
require "tkextlib/tkimg/png"
$ ruby --version
ruby 2.4.0preview1 (2016-06-20 trunk 55466) [x86_64-darwin15]
$ ruby tktest.rb
/usr/local/lib/ruby/2.4.0/tk/package.rb:87:in `rescue in require': TkPackage dlopen(/System/Library/Tcl/8.5/Img1.4/libtkimgpng1.4.dylib, 10): image not found (RuntimeError)
    from /usr/local/lib/ruby/2.4.0/tk/package.rb:84:in `require'
    from /usr/local/lib/ruby/2.4.0/tkextlib/tkimg/png.rb:15:in `<top (required)>'
    from /usr/local/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from tktest.rb:2:in `<main>'
 
$ ls -l /System/Library/Tcl/8.5/Img1.4/libtkimgpng1.4.dylib
ls: /System/Library/Tcl/8.5/Img1.4/libtkimgpng1.4.dylib: No such file or directory
$ ls -l /System/Library/Tcl/8.4/Img1.4/libtkimgpng1.4.dylib
-rwxr-xr-x  1 root  wheel  27296 12  3  2015 /System/Library/Tcl/8.4/Img1.4/libtkimgpng1.4.dylib

12763746 journal
GNU is Not Unix

t-nissieの日記: 【電脳】GCC 6.1がリリース

日記 by t-nissie

ついにGNU Compiler Collection (GCC) 6.1がリリースされましたね.

ソースは日本のミラーなどからダウンロードできます.
(URLにftpが含まれるから,Safariがなんか変.)

わたくしは
pow(x, 1/32.)とかが速くなっているらしいので、
GCC-6でpow(x, 1/32.), pow(x, 1/48.), pow(x, 1/72.)のベンチマークを取ってみたり,
ifのインデントのミスを警告してくれる-Wmisleading-indentationを試してみたりして遊びました.

どなたかタレコミをお願いします(タリキ・ホーガン).

typodupeerror

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

読み込み中...