忍者ブログ
日々の研究生活のメモ書きなど
% .libPaths()
でわかる

自分の場合は
/Library/Frameworks/R.framework/Versions/3.5/Resources/library
だった


自分で追加したい場合は
% .libPaths("./hoge")
のようにする
これを ~/.Rprofile に書いておくと勝手に起動時に読み込まれる
(パッケージのインストール先の優先順位はどうなる? )





PR
某申請書類をTeXで作成しようとした(これまでもTeXでやってた)
そしたら次のようなコンパイルエラーが出始めた・・・
This is e-pTeX, Version 3.14159265-p3.8.1-180226-2.6 (utf8.euc) (TeX Live 2018/MacPorts 2018.47642_8) (preloaded format=platex 2019.3.6) 21 MAR 2019 16:03
entering extended mode
restricted \\write18 enabled.
%&-line parsing enabled.
**pd.tex
(./pd.tex
pLaTeX2e <2018-04-01>+1 (based on LaTeX2e <2018-04-01> patch level 2)
Babel <3.18> and hyphenation patterns for 3 language(s) loaded.
(/opt/local/share/texmf-texlive/tex/platex/base/jarticle.cls
Document Class: jarticle 2018/02/04 v1.7h Standard pLaTeX class
\\c@@paper=\\count83
(/opt/local/share/texmf-texlive/tex/platex/base/jsize11.clo
File: jsize11.clo 2018/02/04 v1.7h Standard pLaTeX file (size option)
)

(略)


(/opt/local/share/texmf-texlive/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)

(/opt/local/share/texmf-texlive/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\\KV@toks@=\\toks15
)
(/opt/local/share/texmf-texlive/tex/latex/graphics/graphics.sty
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)

(/opt/local/share/texmf-texlive/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
(/opt/local/share/texmf-texlive/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: dvipdfmx.def on input line 91.

(略)

(./forms/hook5.tex) (./forms/hook7.tex) (./forms/pd_forms.tex
(./forms/pd_form_03-04.tex
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 24.
(./blahblah.tex)
! Undefined control sequence.
\\Gread@pdf #1->\\Gread@generic
{#1}\\Gread@extractbb@aux
l.28

?
! Emergency stop.
\\Gread@pdf #1->\\Gread@generic
{#1}\\Gread@extractbb@aux
l.28

End of file on the terminal!

申請書類のTeX版を作ってくれてるYさんにこのエラーを見せて相談したところどうやら
graphicx.styってスタイルシートがめちゃくちゃ古いらしい
確かに1999年だわ・・・

このときのTeX環境はMacPortsですべて作ってて
% sudo port install texlive-lang-japanese texlive-luatex texlive-xetex texlive
って感じでやってた
もしかしたら
% sudo port install texlive-lang-japanese
だけだったかもしれんけど・・・

このあとportであれこれ試してたら完全にTeXがコンパイルできなくなりました
本当にありがとうございました






しょうがないからMacPorts以外の方法でTeXliveをインストールするかぁ〜と探していたら
以下のページを見つけた

■ 参考 : macOS に Tex Live 2018をインストールする

これでもできそうだったけど、いろいろとコマンドを打ったりでめんどくさそうだったのでパス





MacPortsさんであれこれするのは諦めてMacTeXをインストールすることにしました
ここを参考にしました

■ 参考 : 教授でもできるMac OS XへのLaTeXとTeXShopのインストレーション

他にはTeXShopの公式サイトにもMacTeXのダウンロードリンクがあったけど、
そっちはインストール関連の説明があんまりなかったので↑のほうが参考になりました



■ 記事にそってやっていく
1. MacTeX-2018をダウンロードする。

2. MacTeXをインストールする。
インストール先は /usr/local/texlive/2018
アンインストールするときは /usr/local/texlive/2018 を削除すればOK

3. Applications/TeX/TeX Live Utility (「アプリケーション」フォルダーの中のTeXフォルダーの中のTeX Live Utility) を立ち上げて、環境を整備する。
これは
% sudo tlmgr update --self
% sudo tlmgr update --all
するのと同じか?

4. 標準の用紙をA4に設定する
これはいるのかわからん・・・

5. PATHを追加する
/Library/TeX/texbin
をPATHの前に追加する、少なくともMacPortsのPATHよりも前にする

# ここからTeXShop
6. TeXShopを起動する => アップデートを確認で最新のversionにする

7. 環境設定 => pTeX (ptex2pdf) を選択する => TeXShopを再起動して設定を反映する

8. terminalで以下のコマンドを打つ
defaults write TeXShop FixLineNumberScroll NO
defaults write TeXShop SourceScrollElasticity NO
defaults write TeXShop FixPreviewBlur YES

これらのコマンドの意味は↓に書いてあった
■ 参考 : MacTeX 2016 のインストール&日本語環境構築法 (El Capitan 以前/以後両対応)
1行目の FixLineNumberScroll NO は,(10.7 Lionなど)古い OS X において存在した,行番号がスクロールしないOS側のバグに対処するための対症療法を停止させる措置です。最近の OS X ではこのバグが修正されていますので,この対症療法は不要となりました。対症療法が残っていると,スクロール速度が遅くなる原因となります。

2行目の SourceScrollElasticity NO は,スクロール時に上下端で大きく跳ね返るバウンスエフェクトを停止させる措置です。OS X 10.10 Yosemite 以降では,このバウンスがかなり大げさになり,以前の OS X と比べてうっとうしさが目立つようになりました。ですからこのエフェクトは停止させておくのがよいでしょう。

3行目の FixPreviewBlur YES は,OS X 10.10 Yosemite 以降において,プレビューウィンドウのPDFが(一部の環境で)ぼやけて見えてしまうのを防止する措置です。
とのこと


8. コンパイルするTeXソースの一番上は
\documentclass[dvipdfmx,uplatex]{jsarticle}
にする
自分の場合は、これをしなくてもコンパイルできたけど念の為メモ・・・






MacTeXをインストールしてみてすごいなぁ〜と思ったのは、これまで自分が手でインストールしてたスタイルシートが全部入ってること
すばらしい








先週、突然python2からpython3に移行しなければならないトラブルがあった
今のmacportsの上にさらにpython3をインストールしてみたが、うまくいかない
それで一度macportsをアンインストールしてやり直した
そしたらpython3はうまく動くようになった


が明けて今週、gnuplotがx11で動かない
どうやらDISPLAY環境変数がおかしなことになってるけど、それをどうすればいいのかはわからない・・・
x11はxQuartsを公式ホームページからダウンロードしてきてインストールしていた

Macでgnuplotが使えないだけならまぁaquatermとか別のを使って表示させればいいかなぁ〜くらいに思ってたけど
sshした先のgnuplotもxwindowをこっちに飛ばせないのでNG

これはまずい・・・





まずはXquartzのアンインストールをする

■ 参考 :Xquartzのアンインストール

メモ
#Xquartzの自動起動を停止
launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist

#作成されたファイルを削除
sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartz

#パッケージのインストール情報を削除
sudo pkgutil --forget org.macosforge.xquartz.pkg



その後でmacportでx11をインストールする
% port search xorg-server
xorg-server @1.18.4_3 (x11, devel)
The X.org / Xquartz X server.

xorg-server-devel @1.20.3 (x11, devel)
The X.org / Xquartz X server.

Found 2 ports.

% sudo port install xorg-server
なんかエラーが出て止まる

% sudo port -f activate xinit
% sudo port install xorg-server

インストールのあとで再起動する
これでx11関連のトラブルは解決できた

(今ふと思えば、sudo port -f activate xinitを1回実行したら再インストールなくてもトラブル解決したんじゃないの〜?)






その後、sshログインすると
Warning: No xauth data; using fake authentication data for X11 forwarding.
というエラーが表示されるようになった
プロットとかx11はきちんとできているので、実害は今のところないがなんとかしないと









NISを使ってパスワードを共有している計算機を使う機会があった

hogeというユーザを追加する方法は
% su
% useradd -m -g users hoge
% passwd hoge

% cd /var/yp
% make
これでOK


ユーザが自分自身でNISで共有するパスワードを変更したいときは
%yppasswd

ユーザが自分自身でログインシェルを変更したいときは
%ypchsh










■ plotの基本
plot(x, y)
■ 参考 : グラフィックスパラメータを設定する、確認する


■ 対数表示、常用対数のみ使える
plot(x, y, log="x")
plot(x, y, log="y")
plot(x, y, log="xy")


■ 範囲指定
plot(x, y, xlim=c(0, 1))
plot(x, y, ylim=c(0, 1))


■ タイトルとかラベル
plot(x, y, main="上につくタイトル")
plot(x, y, xlab="x軸のラベル")
plot(x, y, ylab="y軸のラベル")
ラベルとかを大きくするにはtmag=1.5とかするらしいけど、現在のRではもはやサポートされていないらしい
今使えるのは↓
mainを大きくしたいときは cex.main=1.5
labelを大きくしたいときは cex.lab=1.5
数字を大きくすると大きくなる


■ 重ね書き
plot(x, y)
par(new=T)
plot(a, b)
とか、linesを使う場合はpar(new=T)はいらないっぽい
ググった感じ、そっちを奨励してる人もいた
あとpar(new=T)を使う場合はグラフの範囲指定を意識的にしないといけない
plot(x, y)
lines(a, b)


■ 線の色
col = 1
col="blue"
col = rgb(1, 0, 0)


■ 線の太さ
lwd=2





(2019/03/06 追記)
# rhoをギリシャ文字で入れたい場合は
main = expression(rho)

# 通常の文章にギリシャ文字を混ぜたい場合はexpressionの中でpasteを使う
main = expression(paste(lambda, "=5 のポアソン分布 "))

■ 参考 : ggplot2でギリシャ文字や数式を表示したい

■ 参考 : Rコード:プロットのタイトルにギリシャ文字を利用する。







ここがわかりやすかった
といってもヒストグラムを1から書いたわけではなくて、どういうオプションが使えるのかをちょっと知りたかっただけ
■ 参考 : Rによるヒストグラムの描画



■ グラフの中に最尤推定法で得られたパラメーターを書き込みたい

■ 参考 : Rの数式描画の中で変数を展開したいときはbquoteを使う
hist(dat, freq = FALSE, ylim = c(0, max(max(h$density),max(y))), xlab = "z", ylab = "f(z)",
main = paste("Density Plot\nmu = ", round(a[1], 3), "\ntheta = ", round(a[2], 3), "\ngamma = ", round(a[3], 3) ), cex.main=1 )
cex.mainでmainの文字サイズを指定できる

pasteで文字列と変数を繋げた文字列を作ることができる
これで、グラフの中に最尤推定法で得られたパラメーターを書き込める

pasteでつなげたときに間に空白を入れたくないときは
paste("AAA", "BBB", sep="")
round(x, 2)
は桁数を短くするための関数
これで出力する小数点以下の数を2桁にできる







(2019/08/02 追記)

とりあえずRで困ったらhelp(hist)って打てば大体わかるから

ヒストグラムのbin数を変えたくてあれこれ調べた
ビン数を30にしたかったら、break=30

y軸をログにするには、result = hist()で結果を一度格納してから、そのresultのlogを取るしかないっぽい


↓もっと詳細なヘルプは実際にRで見てください
hist package:graphics R Documentation

Histograms

Description:

The generic function ‘hist’ computes a histogram of the given
data values. If ‘plot = TRUE’, the resulting object of class
‘"histogram"’ is plotted by ‘plot.histogram’, before it is
returned.

Usage:

hist(x, ...)

## Default S3 method:
hist(x, breaks = "Sturges",
freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main = paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, warn.unused = TRUE, ...)






Rを使うことになったので新しくカテゴリを作った
ヘビーユーザーにはならないと信じてるので、凝ったことはしない




■ インストール
Mac用のRは https://cran.r-project.org の「Download R for (Mac) OS X」からインストールできる

追加のパッケージをインストールしたいときは起動後に
パッケージとデータ → パッケージマネージャ
からインストールできる


R起動時に毎回パッケージを読み込むようにするのがめんどくさいので設定ファイルを用意する
~/.Rprofile を作成する
読み込みたいパッケージ名が hoge だとすると、Rprofileの中に
library(hoge)
と書いておけばOK


RをGUIで実行したときもCUIで実行したときもその履歴を残したいときは、.Rprofileに次の文章を追記しておく
.Last = function() { if (interactive()) try(savehistory()) }






■ はじめに読む

■ 参考 : Rの初歩





■ コマンドメモ
このあと追記していきます

getwd()
今いる場所を調べる

setwd("/Users/hoge/foo")
ワーキングディレクトリを変える






■ データを読み込みたい

こんなデータを読み込みたい
1 5.2
2 2.3
3 1.1
4 6.9
5 10.2
6 1.1
7 2.4
みたいな感じで、複数行・複数列のデータ

↓ ここには情報はなかった
■ 参考 : Rでデータ読み込みから前処理までのTips


Rのwikiがあったので見てみたが、↑のようなフォーマットのデータの読み込み方法は書いてなかった
■ 参考 : ファイルを読み込む tips 集(暫定版)


ググってるとdata.frameというのを使うのが良さそうだった
data.frameについてよくまとめられていた
■ 参考 : データフレームTips大全
# テキストデータをその構造を維持したまま読み込み
# 列(変数名)ラベルが自動的につけられる、これがいらない場合は read.table("hoge.txt", header=TRUE)とすればいい?
data1 <- read.table("data/hoge.txt")


# 1列目のみ欲しいとき
data2 <- data1[, 1]


# data2のうち範囲指定してデータを取り出したいとき
# この場合は 4.6 < x < 5.0 を満たすデータのみ取り出せる
data3 <- subset(data2, 4.6<data2, data2<5.0)



■ スクリプト的にRを使いたいとき

やることを hoge.R というファイルに書いておく
Rを起動して
source("hoge.R")
で書いてあることを順次実行してくれる



■ データ書き出し

■ 参考 : テキストデータのファイル出力に関係する関数の例

writeを使うのが一番簡単そう
writeでは1つの変数しか書き出すことができないので、pasteを使って複数の変数を1つの文字列に収める必要がある
それを何度も書き出せばいいっぽい
Rだとヘビーな計算はさせないやろうし



■ whileループ
i <- 1
while (i < 6) {
print(i)
i = i+1
}
■ forループ,
for (i in 1:5) {
 print(i)
}
■ グラフを画像として保存したい
png("hoge.png")
のあとでプロット
画像の書き込みを終了するときは
dev.off()

pdfにしたいときは
pdf("hoge.pdf")
このあとでplotを何個も書くと、その分だけページができて複数の画像を同時に保存できる

epsは
postscript("hoge.eps")
tex用のepsは
postscript("hoge.eps", horizontal = F, onefile = F, paper = "special")


gnuplotでいうところの
set terminal something
set output "somthing"
を同時にできる感じなので便利





(2019/03/01 追記)
■ 指数表示にしたいとき

「R 指数表示にしたい」でぐぐったら指数表示にしない方法しか出てこなかった
とりあえず sprintf("%e", a)って感じで対応した
sprintf("%.3e", a)とかC言語と同じフォーマットはそのまま使える
便利




(2019/03/07 追記)

xという配列にデータ点を追加したいとき
先頭に1を追加したいときは
new_x < c(1, x)

後ろに1を追加したいときは
new_x < c(x, 1)









exp(x)-1 が入った計算をしてて、計算の精度が気になった
gslのドキュメントを見てたら、expm1という関数があるっぽい

よくよく調べてみたら、別にgsl内に限らずmath.hにある一般的な関数だった
expm1 = exp(x)-1

expm1fは返り値がfloat
expm1lは返り値がlong double

■ 参考 : C言語関数辞典 - expm1, expm1f, expm1l


忘れそうなのでメモ







1行のデータを読み込む方法は「猿でもわかるROOT」に書いてあった
この例はヒストグラムを作る方法だけど、自分が本当にやりたいのはTGraphでグラフを書くこと
#include <fstream>
TH1S h1(”name”, ”title”, 150, -10, 20);
ifstream data(”filename.dat”);
double x;
while (data >> x) h1.Fill(x);
data.close();
#include <fstream.h>という書き方は古いらしくてエラーが出た
今は#include <fstream>らしい




で、これを複数行のデータに置き換えたい

■ 参考 : Reading in data in columns from a file (C++)
double cola, colb, colc;
ifstream in(file);
while(!in.eof()){
in >> cola;
in >> colb;
in >> colc;
}
みたいにして、やると複数行読み込めるらしい
ただ、このままコードを書いて実行すると、なぜか最後の行に空の行が追加されてしまい
配列が1つ多くなってしまった
それを手で消すような処理をしてもよかったけどなんか気持ち悪いので他の方法を探した





結局動かすのはROOTのうえなので、ROOTの機能でそんなのがないかどうか調べてみた

■ 参考 : 4.1 Read Graph Points from File

自分が必要だったのはまさにこれ
データのフォーマットに合わせて"%lg %lg"の部分は置き換える
3行なら%lgを増やす
TGraphErrors *graph = new TGraphErrors("hoge.txt", "%lg %lg");
graph->SetMarkerStyle(kCircle);
graph->SetMarkerColor(2);

graph->SetTitle("simulation data dayo");
graph->GetXaxis()->SetTitle("Xaxis-no-label");
graph->GetYaxis()->SetTitle("Yaxis-no-label");
graph->Draw("AP");
c1->Print("hoge.png");



(2019/03/28 追記)

読み込んだデータのサンプル点数をする方法は、
graph->GetN()



(2019/04/01 追記)

データの値を見たいときは
graph->Print()
で画面に出力できる


また、データを直接いじりたいときはGetXなどを使って取ってくる
for(int index = 0;index < double >GetN();index++){
double x = graph->GetX()[index];
double xerr = graph->GetErrorX(index);
double y = graph->GetY()[index];
double yerr = graph->GetErrorY(index);
}
■ 参考 : TGraphErrorsを使いこなす


もしこの読み込んだデータのy座標のデータを100倍したい場合は、
for (int i=0; i>graph->GetN();i++) graph>GetY()[i] *= 100;


■ 参考 : TGraph and Scale()?



■ 複数のTGraphのデータをプロットしたいときはTMultiGraphを使う
TMultiGraph *mg = new TMultiGraph();
mg->Add(graph1);
mg->Add(graph2);
mg->Draw("LP");
c1->BuildLegend();

最後のBuildLegend()はなくてもいい
もしつけたら、自動的にlegendを作成してくれる
legendに一覧される名前は
graph1->SetTitle("Graph legend1");
graph2->SetTitle("Graph legend2");
みたいにして付ける

■ 参考 : Multigraph legends









sshfsコマンドを使えばOK
Macへのインストールはportでできる
sshfs @2.10 (fuse)
SSH filesystem for FUSE
使い方はsshとほぼ同じだけど、事前にローカル(手元)でディレクトリを作っておいた方がいい
(Macでは作らなくてもいけたけど、Linuxだと事前に用意必須)
sshfs ユーザ名@ssh先のホスト名:マウントするディレクトリへのPATH ローカルでのマウント位置

例えば
mkdir foo
sshfs your_name@hoge.com:/somewhere foo
Macの場合、最初に警告が出て環境設定での許可が必要だった(スクショ撮り忘れた)




マウントを解除するときは
diskutil unmount foo

fusermountを使って
fusermount -u foo
でも解除できる
uオプションなしだと
fusermount: old style mounting not supported
というエラーができて、マウントを解除できなかった


それでも無理ならpsでPIDを調べてkillコマンドで終了させる






sshfsが今やろうとしてることの要件に叶うかは微妙かも?
ssh先のファイルの処理は全部手元でやるので、ファイルを全部scpしてきてるのと変わらなかった
毎回scpしなくても1度sshfsするだけでよくなるのが利点かも






(2019/07/26 追記)

sshfsで接続したときに、接続先のディレクトリをread-onlyで接続したいときは
sshfs your_name@hoge.com:/somewhere foo -o ro
みたいにオプションを付ければOK







https://coffeepote.tumblr.com/post/181248344248/こないだ京都に行ったときの清水寺


すばらしい

tumblrのテンプレートとかテーマとかいじろうかと思ってたけどもういいやw
アルバムは全部タグで管理するとして、あとはそのタグ一覧をわかりやすく表示できればそれでOKか





テスト2

2枚画像がある場合はどうなるか?

https://coffeepote.tumblr.com/post/181247830953/野郎オブクラッシャー



思い立ってtumblrにアカウントを作成した
ギリギリまでgoogle+とどっちにするか悩んだけど、なんとなくこっちにしてみた

■ 参考 : 容量無制限の画像置き場としてGoogle+とTumblrを試してみた 前編 のこと




tumblrのリンクは以下からどうぞ (右のサイドバーも修正しとかないと)








使ってるテーマは Quite Big ってやつ
日付表示が海外の方式で 20 12月 とかになっててキレかけたけど
テンプレートのhtmlを直接編集することができたので、2018年12月20日みたいに修正した

■ 参考 : tumblrで日付を日本語表記にする

↓で日付とかで検索するとどの変数を置き換えればいいかだいたいわかる
■ 参考 : カスタムHTMLテーマを作成するには





https://coffeepote.tumblr.com/post/181248998463/今のflickrのアルバム一覧

58個のアルバムをそのまま移設しなければ・・・・





そのうち追記します










もうすぐ2018年が終わりそうですが、うだつの上がらない生活をしております・・・

1ヶ月ちょい前の11月頭に1泊4日で台湾にポケモンGOイベに緊急参戦してきました
その記事を書こうと思って途中まで書いたりしたものの、以下の理由でflickrを使うことができなくなってしまって挫折中



というのもflickrの運営がyahooじゃなくなって、2019年2月には今の写真が1000枚まで削除されるらしい
なので、今更flickrを使うわけにはいかんし
じゃあどこに移住するのか?というのもまだ当たりを付けれていない状況で〜

たぶんgoogleにするのかなぁ〜?
googleフォト(って名前なのか?)は無制限にアップロードできるらしいので、容量を気にしなくていいのは便利そう
けど便利すぎて怖い・・・

他の選択肢としてはこの忍者ブログに直接アップロードすることもできる(flickrに出会う前はそうしてた)
けど、無料アカウントなので500MBまで
有料アカウント(年2400円)になると、3GBまで使えるらしい
この時代にしょっぱすぎて泣ける


あと、正直flickrのUIが便利すぎたので、あれを超えられるところは無さそうだからほんと悩む
たぶんHPを運営してる人が他の鯖に移住するのを渋るのに似てる気がするw

今回のflickrの話は来年2月って制限時間があるのでなんとかしなければ・・・





2018年9月に

■ 参考 : 【ポケモンGO】カントーずかんコンプしました

って記事書いてますが、この後台湾に行ってジョウト図鑑の方もコンプしました
早く記事を書いておかないと忘れる・・・





今気づいたけど、flickrから他のサイトに写真をすべて移設したはいいものの、すべての写真のリンクをまた貼り直さないといけないのかよ・・・
flickrにアップロードしてある写真が9000枚で、そのうちブログにリンクを貼ってあるのは多く見積もっても1000枚以下やろ・・・
年末実家に帰ってからやるか・・・
良いお年を









なんか以前はできていた気がするけど、ある時からそれができなくなって不便だと気づいた
調べて見たら、v1.9から仕様が変更になったらしい

tmuxの設定ファイルに次のように書いておけばOK
# tmuxで新しいペインを開いた時に同じディレクトリで開くようにする
bind c new-window -c '#{pane_current_path}'

# ペイン分割時も同一ディレクトリで開くようにする
# 画面分割 |と-は感覚的に分かりやすいので追加してる。デフォルトは"と%
bind | split-window -c '#{pane_current_path}'
bind - split-window -h -c '#{pane_current_path}'
bind '"' split-window -c '#{pane_current_path}'
bind % split-window -h -c '#{pane_current_path}'


■ 参考 : tmuxで新しいペインを開いた時に同じディレクトリで開くようにする









気づいたら130000アクセス超えてました





いつもありがとうございます m(_ _)m






git update-index --assume-unchanged hoge.txt

■ 参考 : 既に git 管理しているファイルをあえて無視したい








最初「python history」とかでググったら、本当にpythonの歴史が出てきて泣いた
「python 対話モード 履歴」とかで調べたら出てきた

■ 参考 : Pythonの対話モードの履歴を残す方法

これが一番良さそうだったのでそのまま採用〜
便利








CentOS7では過去にやってみたけど、今回はDebian9

■ 参考 : 【CentOS7】MacのVirtualBoxにCentOS7をインストールして環境整備する>

Virtual Boxをインストールする
[https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads)からダウンロードしてくる

- Virtual Boxを起動する
- 左上の新規からスタート
名前は「CentOS7」
タイプ Linux、バージョン Red Hat(64-bit)
名前さえ入力すればあとは自動的に埋まるはず
- メモリサイズは8GBとした
- ファイルタイプは「仮想ハードドライブを作成する」=> さらに「VDI」を選択
- ストレージは「可変」
- ファイルの場所とサイズ設定は「30GB」とした







インストールOK


■ デフォルト解像度以外の大きさを追加する

■ 参考 : Debian 9: VirtualBox上のDebian 9にGuest Additionsをインストールする>

↑の手順3からで良かった
ただし、エラーメッセージの情報量が自分のところはもっとペラい

最初に
[Devices] > [Insert Guest Additions CD image...]
とクリックしてみたが↓のページと同じエラーが出た
原因は同じですでにマウントしているからだったっぽい
■ 参考 : VirtualBoxにあるCentOS7で[Insert Guest Additions CD image...]を押下したら Unable to insert the virtual optical disk となった時の確認方法>



cd /media/cdrom/
sudo apt-get install linux-headers-amd64 linux-headers-4.9.0-7-amd64
sudo sh ./VBoxLinuxAdditions.run
sudo reboot
そのまま sudo sh ./VBoxLinuxAdditions.run するだけだと以下のようなエラーが出た
↓パッと見エラーとかそういうことが書いてないので、見過ごしてた・・・(読まずに食べてた)
エラー画面


指示通りlinux-headers-amd64 linux-headers-4.9.0-7-amd64をインストールして再起動
追加の解像度設定を選べるようになった
解像度

■ コピー&ペーストをホストとVirtualBox内で共有する設定

■ 参考 : VirtualBoxでOS間のクリップボードを共有する方法






かなり前に書いた記事だけどとりあえず公開しときます
そのうち修正するかも(これはしないな)










ググって見た感じ、pyzmqというモジュールのversionが古いのが原因っぽい
v16からv17に上げればOKだった
sudo port selfupdate
port outdated | grep "zmq"
sudo port upgrade py27-zmq
sudo port upgrade zmq

■ 参考 : Jupiter notebook のエラー 'AttributeError: type object ‘IOLoop’ has no attribute ‘initialized’'


ただ、そこまでして動くようになったjupyter notebookだけど環境設定で心が折れて使わなくなった・・・・










android端末の方の設定を見直したけど、よくわからない通信量が発生してた
調べて見たらバックグラウンドでアプリを自動アップデートをしてたっぽい

ずっとandroid端末の方で設定するものだと思ってたけど、「Play ストア」の設定の方から変更するらしい

■ 参考 : アンドロイドのアプリの自動更新と停止の仕方








■ 参考 : scpの使い方 -l オプション (帯域制限)

■ 参考 : rsync, wget, curl, scp に速度制限をかける方法まとめ

scp -l 8192 hoge.txt name@where:

単位は [Kbit/s]

メモ
2MB ~ 16000Kbit
1MB ~ 8000Kbit
500KB ~ 4000Kbit
100KB ~ 800Kbit










C言語で書かれたライブラリをC++のコードで読んで使っていたが次のようなエラーが出た
hoge.h:85:18: error: use of parameter outside function body before ']' token
・・・

原因はわかりやすく↓に書かれていた
■ 参考 : 「2次元配列の値を関数の引数として渡したい」
C++言語ではNGです。nはコンパイル時定数でければなりません。
C言語(C99以降)ではOKです。第1引数に与えたnの値は、第2引数の2次元配列型に適用されます。(厳密には"VLA型へのポインタ型"になります)
C++にはないCの機能として VLA(Variable Length Array; 可変長配列) があります。C/C++の差異はこの言語機能の有無から生じています。


ほほぉ〜







いろんな人と話してていくつか解決方法の案が出てきた

(1) インライン関数にしてしまう

インライン関数はコンパイル時に展開されるので、関数コールをするわけではない
なので、関数の引数の型とかも気にする必要がない

■ 参考 : [C][GCC]C言語のインライン関数につい


(2) C++言語の定義済みマクロ __cplusplus を使ってコードを分岐させる

■ 参考 : 定義済みマクロ__cplusplusとgccの長い歴史

■ 参考 : よくみる extern "C" {} と __cplusplus

これが一番わかり易いかなぁ〜と感じた
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* Cのコードがたくさん */

#ifdef __cplusplus
}
#endif /* __cplusplus */
のようにするといいっぽい


extern "C" { /* Cのコード */ }で囲まれているところはC言語っぽく扱ってねとのこと





2012年にXtraFinderについて記事を書いた
その後、SIPという機能がMacに入って、インストールがめんどくさくなり、そして有料化された・・・・

■ 参考 : 【Mac】ついに出会えたTabが使えるFinderアプリ


XtraFinderに代わるFinderアプリを探したのでまとめておく
自分がほしい機能はタブ、2ペイン(2 pain)くらい
あと無料も望ましい





■ XtraFinder

有料($4.99) or 無料(期限があるかは不明)
過去に使ってたことがある、かなり便利で特に不満はなかった



■ PathFinder8

有料($40) or 無料(30日間)
高すぎてドン引き



■ TotalFinder

有料($12) or 無料(14日間)
XtraFinderで使えてた機能はすべて使えそう
無料であればすぐに乗り換えてた
DualModeってのがほしいんだよなぁ〜〜〜



■ Commander One

基本無料 + 一部機能を開放するのに有料($32) or お試し無料15日間
課金で開放される機能一覧
使ってないからわからんけどそこまで魅力的な機能はない
有料で開放されるものCommander Oneは少し使ってみた
2ペインになって便利
オプションで自分好みの画面表示に変えられる
キーコンフィグでファイルを開くコマンドとかいろいろと設定できる(Returnでディレクトリに入るなど)
左端にサイドバーがないのが超不満(この点でこのアプリを使うのをやめた)
あとドラッグアンドドロップするごとに「本当にいいの?」って許可を求めてくるのも厄介
たぶん設定でOK/OFFできると思うけど見つけられなかった

■ 参考 : TotalFinder、XtraFinder が使えなくなっている方におすすめの2ペイン型のファイルマネージャー「Commander One」





■ TotalFinder

v3は有料($29~)
v2は無料

■ 参考 : Macの人気FTPアプリ「ForkLift 3」登場!そして「ForkLift 2」は無料に! | iTea4.0
v2はAppStoreでダウンロードできる
フォークリフトとりあえず、2ペインができて、サイドバーがあって無料できれば最低限OKなのでv2を使っている最中

このアプリの難点を上げるとすると
・サイドバーに好きなディレクトリを登録する機能 favoriteが上にずっと表示されてて邪魔、消せない
・リスト表示にしたときに、Finderなら1列ごとに背景色が違ってるけど、このアプリだと真っ白なのでファイルの区切り目が分かりづらい









iPod touchの画面がバキバキになった話は以前書いた
それがきっかけでiPhone8を即購入
ついにガラケーとはおさらば

その後、iPod touchくんにはline連絡用端末としての余生を与えていたが
最近、画面のガラスがぽろぽろと落ちてきて内部の回路が見えてきた・・
しょうがないのでプラスチックの板で養生したりしてたら、カメラが完全に塞がった・・・

まぁ今更touchのカメラを使うことはないからいっかと思ってたけど、
lineで撮影した写真を共有できないことに気づいた


しかし、さすがにapple社
2つの端末で写真や連絡先などなどを簡単に共有する機能 AirDrop があった
共有経路はbluetoothやwifi(優先度はどっちのが高いんだ?)


これで、iPhone=>iPod touchに写真を送っていた
変な人から写真が送られてこないように + 自分の名前を知られたくないので「連絡先のみ」というオプションはONにしておく

だが、iPod touch=>iPhoneへは写真が送れなかった
AirDropの画面で選択肢に現れない
iPhoneの設定で「すべての人から受け取る」にするとiPod touchからでも受け取れる


原因はおそらく↓
「AirDrop」の公開設定が「連絡先のみ」の場合、相手先が表示される条件
送信者・受信者共に、iCloudにサインインしていること
送信者・受信者共に、iCloudへ同期している連絡先データの中にお互いのApple ID(メールアドレス)が登録されていること
※ Apple ID以外のメールアドレスや電話番号が登録されていても、公開先としては表示されません。

■ 参考 : [iPhone/iPad]AirDropで写真などのデータが受け取れません。対処方法を教えてください。



appleにも記事があった
iPhone、iPad、iPod touch では、以下の点を確認してください。
コントロールセンターで AirDrop の設定を確認します。AirDrop が「連絡先のみ」からコンテンツを受け取る設定になっている場合、両方のデバイスが iCloud にサインインしていて、送信者の Apple ID に紐付けられているメールアドレスまたは電話番号が送信先の iOS デバイス の連絡先 App に登録されている必要があります。
受信側の iOS デバイスの「設定」>「モバイル通信」で、「インターネット共有」がオフになっていることを確認します。

■ 参考 : Mac で AirDrop を使う



iPhoneの電話帳にiCloudと紐付けているアドレスを追加してみたけどダメだったわ・・・
たぶんどっか間違ってるんだろう

一番簡単な解決方法としては、iCloudで電話帳を共有するようにしたらうまく行くとおもう
けど、それだとiPod touchを落としたときにまずい・・・






「iPhone 連絡先 削除」でググったらわかった
方法1:直接にiPhone連絡先を削除
メイン画面の「連絡先」アイコンをタップする。
削除したい連絡先を選択し、その名前をタップする。
右上の「編集」ボタンを押す。
「連絡先を削除」が見えてくるまで画面を下方にスクロールする。
「連絡先を削除」を選択し、「削除」が表示されたらそれを押す。
右にスライドしたら削除、という方式じゃないのは誤って削除するのを避けるため?






リポジトリをcloneしようとしたら、次のようなエラーが出た
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
元のgitのversionはgit version 1.8.5.2
かなり古いマシーンだったので、ひとまずportでgitをアップデートすることにした
ググった感じ、それが解決方法っぽかったし

■ 参考 : Git error:1407742E

■ 参考 : GitHub への push/pull/clone が突然「error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version」エラーで使えなくなった件






(追記)

gitを個別にアップデートしようとしたが、エラーが出て最後までいかない
めんどくさくなったので
sudo /opt /opt_backup
としてから、gitをインストールしなおすことにした

インストールするソフト自体は多くないのですぐできるやろ・・・







プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
import MyProfile
import coffee_pote from TWITTER
import amazonのほしい物リスト from WISH_LIST

print "株式売買を始めてだいたい1ヶ月くらい立ちますた"

# 最終更新 2019/07/20
カウンター
ブログ内検索
ツイートするボタン
リンク
相互リンク募集中です (Twitterにてお知らせください)

Demo scripts for gnuplot version 5
(gnuplotのさまざまなデモ画像と作り方がまとめられている、眺めているだけでできるようになった気分になれる)

gnuplotスクリプトの解説
(米澤進吾さんの個人ページ、gnuplotと言えばこのかた)

gnuplot のページ
(Takeno Lab、うちのブログがリンクされていたのでリンク返し)

とある物理の院生日誌~院生は社会へ旅立った~
(研究室の先輩の個人ブログ)

英語例文を見て自然に英語・英会話を学ぶ
(楠本慶ニさんの個人ページ、様々な情報の密度の高さに感動)

Twitterから映画の評価が分かる & 映画の鑑賞記録が残せる coco
(映画の感想をまとめられるサイト、いつもお世話になっています)

Astronomy Picture of the Day Archive
(天文や宇宙関連の最新の話題について画像とともにNASAが説明しているページ)

今日のほしぞら
(任意の時刻の空で見える星を表示してくれる、国立天文台が管理している)

GNUPLOTとアニメーション
(応用の項目の「見せてあげよう!ラピュタの雷を!!」あたりからすごすぎる)

読書メーター
(読んだ本をリストできる便利なサイト)

flickr難民の写真置き場
(20XX年、flickrは有料化の炎に包まれた。あらゆるflickr無料ユーザーは絶滅したかに見えた。 しかし、tumblr移住民は死に絶えてはいなかった。)

教授でもできるMac OS X へのLaTeX, X11, gccのインストレーションと環境設定
(阪大の山中卓さんのwebページ、タイトルにセンスが溢れている、内容は超充実してる、特にTeX関連、学振DCとかPDの申請書類作成時にはお世話になっております)


Template "simple02" by Emile*Emilie
忍者ブログ [PR]