5月 13, 2021 - コンピューター    DragThingからμDockに乗り換え はコメントを受け付けていません

DragThingからμDockに乗り換え

手軽に起動したいアプリ一覧がDockにおさまるわけもなく、アイコンを並べておいてタブで切り替えられるし、マウントしているドライブ一覧も見えて、手軽に取りだしできるしというので、ランチャーアプリはずっとDragThingを使ってきたのだけど、Mojave対応はしないと発表されてしまったので乗り換え先を探さなければならなくなった。

どれを起動するかとか、どれが起動してるかの判断はアイコンのみでやっているので、アイコンを並べて置いて起動したり、アプリの切り替えができればいいや、ということで、近い機能のものを探したらμDockというのがあった。

呼び出しはF1キーだが、タップなどのジェスチャーも設定できる。ラベルを付けずにアイコンだけ並べられて、タブで切り替えて起動でき、ドライブ一覧も出て、そちらから取り出しが可能なので、欲しかった機能は一応全部満たしている。キーボードから入力してアプリを探すことは滅多にないし、クリックで起動だけだからこれで十分ではある。

ただ、アイコンを極小サイズにできないとか、アイコンとアイコンの間の間隔を詰められない。このため、ランチャーの面積は圧倒的に増えた。で、ランチャーからアプリを起動したりアプリを切り替えたりすると、ランチャーは消えてしまい、状況を見るには再度F1を叩かないといけない。サイズが小さければ常駐していても邪魔にならないので出っぱなしOK、サイズがそんなに小さくできないなら用が済んだらさっさと消えるという、考え方の違いなのだろう。

まあ、目に優しくなったとはいえるし、年寄り向けとも言えるが(笑)。

iCollectionsというのもあって、かなりカスタマイズできて高機能そうなんだけど、お値段的にも機能的にも私にはちとオーバースペックかなあ。

1月 6, 2020 - コンピューター    セクションにサブタイトルつけてアンダーラインする(LaTeX) はコメントを受け付けていません

セクションにサブタイトルつけてアンダーラインする(LaTeX)

いろんなサイトを参考にマクロで解決,と思ったのだけど,試した結果,多分これが一番シンプル。


\section[タイトル{\textcircled{\normalsize 1}} \small {\mc 〜 サブタイトル}]{タイトル{\textcircled{\normalsize 1}} \small {\mc 〜 サブタイトル} \\\hrule}
10月 19, 2019 - コンピューター    VS Code + Jupyter notebook はコメントを受け付けていません

VS Code + Jupyter notebook

Visual Studio CodeがJupyter notebookを扱えるようになったので、環境構築してpythonで遊ぼうと思ったらなかなかうまくいかなかった。まず、pyenvでインストールした最新版の3.4.7の環境(pyenv global 3.4.7)にしてから、jupyter notebookをインストールし、vsCode側のpythonを~pyenv/shims/pythonや~pyenv/versions/3.7.4/pythonにしても、jupyter notebookのファイルを読み込んで実行しようとすると、jupyterに接続できないというエラーが出て先に進まない。コンソールのコマンドラインから、jupyter notebookを入力するときちんと動いて実行できる。

結局、
pyenv install anaconda3-5.3.1
して、
pyenv global anaconda3-5.3.1
で環境をこれに変えた後、VS Code側のpythonインタープリターに(‘base’:conda)を指定すると、最初の起動で待たされるが、それ以降はjupyterの環境でpythonが実効できた。バージョンにこだわるわけではにないので、anacondaを使うことにする。

環境のテストは、ド定番の

print("Hello World")

変数の中身を見られるかどうかのテストは

mport numpy as np
import pandas as pd
import matplotlib.pyplot as plt
p = np.linspace(0,20,100)
random_array = np.random.rand(100,1)

簡単なグラフが出せるかどうかは、

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
p = np.linspace(0,20,100)
plt.plot(p, np.cos(p))

plt.show()

で試せる。

VPythonのインストールは、anacondaの場合は
conda install -c vpython vpython=7.5.0
新しいバージョンにするには、
conda update -c vpython vpython
それ以外の場合は
pip install vpython
で行う。

テストは、

from vpython import *
sphere()

で、動いているかどうかがわかる。

10月 4, 2019 - コンピューター    atomエディタでLaTeX はコメントを受け付けていません

atomエディタでLaTeX

参考:https://twitter.com/i/moments/1065918110752854017より抜粋。

入れるパッケージとしては,document-outline,latex(コンパイル), language-latex(シンタックスハイライト), latexer(補完),pdf-viewは重くなるので使わない方が良いらしい。ビューアはSkimが軽くて,`$ brew cask install skim`でインストールできる。コアパッケージのbracket-matcherに$$を追加。

8月 26, 2019 - コンピューター    Juliaのアップデート はコメントを受け付けていません

Juliaのアップデート

Jupyter notebookとjuliaなどをインストールする,の続き。Juliaをアップデートする手順。brew使ってあれこれやろうとしたけど,結局一旦削除してクリーンインストールするのが確実という結論に。

まずは,$home/juliaをsudo rm -rして思い切り良く消す。

その後,以前実行した上記ページの「juliaのインストール」の手順を実行。ただし,以前はv0.6.2だったのが,今回はv1.2.0を指定する。コンパイルも同様に行い,.bashrcは既に設定済みで書き換えていないので何もしない。

変更があるのは,Jupiter Notebookとの連携のところ。ターミナルから実行した,

julia> Pkg.update()
julia> Pkg.add("IJulia")

は使えない。juliaのコマンドプロンプトが出ている状態で,’]’を入力すると,プロンプトがpkg>に変わるので,

(v1.2) pkg> update
(v1.2) pkg> add IJulia

を実行。^Cまたは[BS]を入力するとjuliaプロンプトに戻る。

実はこの作業の前に,

$ pyenv install anaconda3-5.0.1

していたので,

$ pyenv global anaconda3-5.0.1
$ conda create --name py3.6 python=3.6
$ pyenv local anaconda3-5.0.1/envs/py3.6
$ pyenv global system
$ source $PYENV_ROOT/versions/anaconda3-5.0.1/bin/activate py3.6

を実行しておく。

一旦,^DでJuliaを抜けて,

jupyter kernelspec list

を実行する。

Visual studio Codeと共存させるための設定は、Visual Studio Code側に「Julia」extentionをインストール、preferenceのSettings(vs code自体の設定の方)を開いて、juliaで検索し、[juliua]Configure editor settings to be overridden for [julia] language の下の、Edit in settings.jsonをクリックし、setings.jsonファイルに

"code-runner.clearPreviousOutput": true,
"code-runner.runInTerminal": true,

を入力。

2月 10, 2019 - 未分類    High Sierra10.13.6でSSHトンネリング はコメントを受け付けていません

High Sierra10.13.6でSSHトンネリング

10.13.6に上げたら,これまでの方法ではSSHトンネリングできなくなった。オプション-oKexAlgorithms=+diffie-hellman-group1-sha1を指定するとできるようになった。

sudo ssh -oHostKeyAlgorithms=+ssh-dss -oKexAlgorithms=+diffie-hellman-group1-sha1 -oCiphers=+aes256-cbc user@server -L 110:127.0.0.1:110 -L 25:127.0.0.1:25
7月 15, 2018 - コンピューター    大量のファイルをコピーする はコメントを受け付けていません

大量のファイルをコピーする

MacのTimeMachineバックアップに使っているディスクのUSBケーブルを間違って抜いてしまい,HDDを壊してしまった。立ち上げのたびに,修復できないからフォーマットするようにというメッセージが出るようになって書き込みもできない。最新版のファイルはMac本体にあるので,フォーマットした場合に失われるのは4年ほど前まで遡れる変更履歴ということになる。それで,ちょっと欲張って,データを別のHDDに移動させてからフォーマットすることにした。

問題は,膨大な数のファイルを迅速にコピーする方法。最初は素直にFinderを使ってコピーしようとした。そうしたら,ファイルサイズの計算を始めてしまい,一晩経っても終わらない。これでは話にならないので,ターミナルを開いてcp -Rでコピーすることを試みた。こちらは,直ちにコピーが始まったが,速度が速かったのは丸一日ちょっとくらいで,2日目になると大して大きく無いファイルでもコピーするのに何秒かかかるようになってしまった。結局,一番早くて速度低下が起きなかったは,

tar -cf – ./Backups.backupdb |(cd /Volumes/NewHDD/ ; tar -xvpf – )

を実行することだった。ただし,古い方のバックアップディスクにcdし,lsを実行した時にBackups.backupdbが見える状態でこのコマンドを実行する。/Volumes以下は,コピー先のHDDの名前とその中にあるコピー先フォルダまでを指定する。

コピー中は,リスクはあるが,ウイルスチェックソフトの実行は止めておくこと。コピーの度にチェックがかかると,数が多いだけにかかる時間が馬鹿にならない程度延びる。また,ディスクは

Mac OS拡張(ジャーナリング)でフォーマットするしかないが,ファイル変更履歴が記録されるので,単純コピーなら,ジャーナルはオフにしておく。dfするなどして,/dev以下のどれがコピー先ディスクか確認した後で

diskutil disableJournal disk***

を実行する。***には,/dev以下にあるデバイスの名前の一部が入る。

ただ,今回はこの努力は結局無駄になり,ディスクの内容は救い出せなかった。コピーは順調だったのだが,コピー元4TBディスクで3TB使用,コピー先4TBで行ったところ,コピー先の容量が3.5TBを超え,使用しているブロック数もコピー元をとっくに超えているのにコピーが終わらない。どうも,ディスクを壊した時に,読み出しでどこかでループに入るような壊れ方をしたらしい。特に失われた重要ファイルも無く,何ヶ月も前のファイルが必要になる可能性はほとんど無かったので,結局諦めて,壊れたディスクを再フォーマットして新たにバックアップを作成することにした。

3月 9, 2018 - コンピューター    High SierraでSSHトンネリング はコメントを受け付けていません

High SierraでSSHトンネリング

High SierraにしたらこれまでできていたSSHトンネリングができなくなってしまった。どうも、Ciphersも明示的に指定して、

ssh -oHostKeyAlgorithms=+ssh-dss -oCiphers=+aes256-cbc 自分@メールサーバ -L 110:127.0.0.1:110 -L 25:127.0.0.1:25

のようにやらないといけないらしい。必要があればsudoで。

2月 19, 2018 - コンピューター    「さよならジュピター」関連のプログラムリスト はコメントを受け付けていません

「さよならジュピター」関連のプログラムリスト

なにぶん昔のパソコン雑誌というかマイコン雑誌のスクラップなので、そのまま実行はできないだろうけど。参考資料として。

MICRO(さよならジュピター).pdf(50.8MBほどあるので回線細いところでクリック注意)

1月 6, 2018 - コンピューター    Jupyter notebookとjuliaなどをインストールする はコメントを受け付けていません

Jupyter notebookとjuliaなどをインストールする

brewのアップデート

 仕事場とおうちのMacBook Pro(macOS Sierra 10.12.6)に、Jupyter notebookとjuliaなどをインストールしたのでメモ。

 最近は普通のアプリばっかりインストールしてるしTeXはインストーラがあるしで、パッケージからのインストールをずっとしていなかった。その間にOSのバージョンも上がったりしてるので、まずはbrewのアップデートから。なお、開発ツールのXCodeは最新版をインストール済みなので、インストールしていない場合はまずApp Storeからインストールしておくと後が楽かも。


$ brew doctor

を実行して、特にアップデートせよというメッセージが出なければ次の作業はすっ飛ばして参考サイトの通りに実行すれば良い。私の環境では、Warningがいくつか出た後、


You haven't updated for at least 24 hours. This is a long time in brewland!
To update Homebrew, run `brew update`.

と表示されたので、まずは素直に、


$ brew update

を実行。すると、


You should probably change the ownership and permissions of /usr/local
back to your user account.
  sudo chown -R $(whoami):admin /usr/local

と表示された。/usr/localの所有者って、rootにしておくのかなと思っていたのだけど、どうも違うらしい。実は、長く使っている間にroot:admin, root:wheel, apj:admin(私)が/usr/local以下に混在している状態になっていたので、この際、root:wheelに統一しようかと思って試してみたのだけど、rootを所有者にした後で、root権限でbrewを実行しようとするとできなくなっていた。仕方がないのでまたも素直に、


$ sudo chown -R $(whoami):admin /usr/local

を実行。その後で、


$ brew update

を実行すると、暫く待たされた後でアップデートが完了した。/usr/local/Homebrew以下にbrewの関連ファイルが置かれた状態になる。which brewすると/usr/local/bin/brewが出るが、これはシンボリックリンクで、実体は/usr/local/Homebrew/bin/brewである。

これでbrewのアップデートが終わったので、チェックのために


$ brew doctor

を実行すると、


/usr/local/bin/brew: line 9: /usr/local/bin/readlink: Bad CPU type in executable
/usr/local/bin/brew: line 9: /usr/local/bin/readlink: Bad CPU type in executable
/bin/bash: /usr/local/Library/Homebrew/brew.sh: No such file or directory

となって動かない。どうも、システムの方は64-bitで動いているのに、/usr/local/bin/readlinkが32-bitで動いているということらしい。変なものを動かすのもアレなので、


$ sudo find / -name "readlink" -ls

して探してみると、


421811       24 -rwxr-xr-x    1 root             wheel               27456  7 15 13:27 /usr/bin/readlink
1153733       32 -rwxrwxrwx    1 apj              admin               13772  3 10  2004 /usr/local/bin/readlink

が見つかった。多分、/usr/bin/readlinkが正解で、/usr/local/bin/readlinkは2004年のもの……ってめっちゃ古い!古いやつが入ってる理由は忘れたが、LaTeXインストールの関係でexport PATHをした時に/usr/binよりも/usr/local/binを先に見に行くようになってしまったので古い方を先に見つけてしまうということになったらしい。そこで、(削除しちゃっても問題ないんだろうけどとりあえず)


$ mv /usr/local/bin/readlink /usr/local/bin/readlink.2004.old

と名前を変えてからwhith readlinkすると、/usr/bin/readlinkを見つけてくれるようになった。これで、エラーは出なくなった。再度、brew doctorすると、/usr/local/libにbrewで管理してないライブラリがあってトラブルの元だと警告されるが、とりあえず無視し、


Warning: Xcode alone is not sufficient on Sierra.
Install the Command Line Tools:
  xcode-select --install

に対応。コマンドラインからxcode-select –installを実行すると、「”xcode-select”コマンドを実行するにはコマンドライン・デベロッパ・ツールが必要です。ツールを今すぐインストールしますか?」という表示が別ウィンドウで開くので、インストールをクリック。XCodeを入れていなければ、XCodeも一緒にインストールするボタンもあるのでそちらをクリックすれば良い。


Warning: Your XQuartz (2.7.7) is outdated.
Please install XQuartz 2.7.11 (or delete the current version).
XQuartz can be updated using Homebrew-Cask by running
  brew cask reinstall xquartz

と、


Warning: Some installed formula are missing dependencies.
You should `brew install` the missing dependencies:
  brew install pcre

には対応しておく。いずれもそれぞれ一番下の行をコマンドラインにコピペしてEnterを押すだけ。


$ brew prune

も実行しておく。

Python, anacondaのインストール

やり方はhttps://qiita.com/Haji-Fuji/items/9e3d6ca46eb02f3c241fに書いてある通り。まずはpyenvからインストール。以下の内容を1行ずつコピペして実行。


$ brew install pyenv
$ brew install pyenv-virtualenv

環境変数の登録。


$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

登録したら、shellに設定を読み込ませる。


$ source .bash_profile

pyenvを使ってanacondaなどをインストール。以下を1行ずつコピペして実行。


$ pyenv install 3.6.0

$ pyenv install anaconda3-4.3.1

$ pyenv global anaconda3-4.3.1
$ conda create --name py3.6.0 python=3.6.0
$ pyenv local anaconda3-4.3.1/envs/py3.6.0
$ pyenv global system
$ source $PYENV_ROOT/versions/anaconda3-4.3.1/bin/activate py3.6.0

Jupiter Notebookのインストール

コマンドラインから1行ずつ以下を入力して実行するだけ。


$ pip install jupyter
$ pip install "ipython[notebook]"

起動するには、


$ jupyter notebook

終了するにはCtrl-Cを入力。

gfortranとcmakeのインストール

juliaをインストールするには、gfortranとcmakeが必要になる。gfortranはgccに統合されたので、gccをインストールすれば自動的にgfortranも使えるようになる。


$ brew install gcc

して、whitch gfortranを実行し、/usr/local/bin/gfortranと出ることを確認。cmakeの方は、


$ brew install cmake

で良い。

juliaのインストール

https://qiita.com/phigasui/items/8af41d1bcbe7ef276cfeを参考にした、というかほとんどこのサイトの通り。


$ sudo xcodebuild -license

を実行すると、license agreementが表示されるので、spaceを叩いて最後まで読んで、’q’で抜けたあと、agreeするかどうかきかれるので、agreeタイプしてEnter。

juliaをもらってくる。


$ git clone https://github.com/JuliaLang/julia.git

ダウンロードが終わったら、


$ cd julia
$ git tag

スペースを叩いて最後まで見ると、v0.6.2がある。


$ git checkout v0.6.2

次に、


$ system_profiler SPHardwareDataType | grep Cores

を実行すると、ウチの環境ではTotal Number of Cores: 4と出たので、上記サイトのアドバイスに従って


$ make -j4

を実行。ただ、makeする前にターミナルのログをクリアするか、新しいターミナルウィンドウでやった方が良い。コンパイル時間は長いしメッセージが長大で最長不倒メッセージかこれは、って勢いなので、途中でどんなエラーが出たかは後から検索して探すことになる。だからクリアしてからやらないと、これ以前の手順で出たエラーまでひっかかって面倒臭い。別の仕事をしてお茶淹れて休憩して……くらい待てば終了。

コンパイルが完了すると、$Home/julia/usr/bin/juliaができてて、これが実体。

パスを通すために、$Homeに戻り、.bash_profileの最後に、


source ~/.bashrc

を追加する。~./bashrcには、


alias julia='~/julia/usr/bin/julia'

と書いておく。書き換えたら忘れず、source ~./bash_profile。juliaと入力して、実行されることを確認する。抜ける時はCtrl-D。

Jupyter Notebookとの連携

上記サイトの手順通りで、juliaから行う。まずjuliaを起動し、ターミナルで


julia> Pkg.update()
julia> Pkg.add("IJulia")

となるように1行ずつ入力して実行。インストールできているかどうかのチェックは、


$ jupyter kernelspec list
Available kernels:
Available kernels:
  julia-0.6    $Home/Library/Jupyter/kernels/julia-0.6
  python3     $Home/.pyenv/versions/anaconda3-4.3.1/envs/py3.6.0/share/jupyter/kernels/python3
$ jupyter notebook

右上のNewをクリックすると、JuliaとPythonが選べるようになっていれば多分OK。

固定ページ:1234567...13»