bashのリダイレクトについて

bashで出力内容の出力先を制御する方法として用いられるリダイレクトだが,たいへん不可解で混乱しがちだと思う. 理論的に正しいかどうかはわからないが,私なりに理解した道筋をメモしておく.標準出力に文字列 output を出し,標準エラー出力に error を…

M1 macとIntel macとで設定を共有する場合のhomebrewのパス設定

簡単なメモ. brewのパスが両者で異なるため,設定を変えないとbrewのフォーミュラ類が利用できなくなる. if `uname -m` == arm64 then eval "$(/opt/homebrew/bin/brew shellenv)" else eval "$(/usr/local/bin/brew shellenv)" fi コマンドuname -mを実行…

sshが動かない:Library not loaded

割と毎日のようにsshを使っているが,ある日突然動かなくなり,以下のようなメッセージが出るようになった. dyld[85860]: Library not loaded: /System/Library/Frameworks/Python.framework/Versions/2.7/Python Referenced from: /usr/local/Cellar/opens…

テスタの電池

十年以上前からなんとなく持っているアナログ電気テスタの電池が気づくとすぐ空になっている.最初は抵抗値が検出できず混乱したが,すぐに電気が流れていないと気付いた.しかし減りが早すぎる.どこかショートしてる? 追記 と思ったらヒューズ飛んでた.…

Raspberry Pi 4B が起動しなくなる問題

起動しなくなった sshでRaspberry Piにログインしようとして,IPアドレス,ホスト名の両方を試してもうまくいかない場合,起動していない可能性がある.HDMI 0のポートにディスプレイを繋いだ時,ほぼ正方形の虹色の画面が表示されていてそこから動く気配が…

オプションの有無で挙動が切り替わるマクロ

TeX

TeX言語における条件分岐 TeXには(たぶん)論理式や論理演算子がない(らしい)ので,普通のプログラミング言語と異なる条件分岐の仕方をする.texwiki.texjp.org例えば,ある文字トークンAと文字トークンBが同じである時に挙動Aを行いたい場合には, \ifx<…

Mac OS Mojave以降でのopensslの問題

今更ながらMojaveに更新し,gitをコマンドラインで使おうとしたら下のようなエラーが出た. $ git pull dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib Referenced from: /usr/local/bin/ssh Reason: image not found fatal: …

複数のカウンタの値をまとめて参照する

TeX

たとえばenumerateやsubsectionにおいては,その上位の階層のカウンタと,その時点でのカウンタを合わせたものを参照先として提供している.つまり, \begin{enumerate} \item hoge \begin{enumerate} \item huga \label{huga} \item piyo \end{enumerate} \…

gitリポジトリに入れた巨大なファイルの履歴を削除する

git

前回のエントリ時にはかなり余裕のあるクラウドにリモートを移動したので,ほかの関連ファイルも一括でgit管理してしまおうと思っていたのだが,割と面倒なことになった.関連ファイルには10GBを超える動画ファイルがいくつか含まれており,それをプッシュし…

gitのリモートリポジトリを変更した

以前のエントリで設定した自動プッシュプル運用のgitリモートリポジトリを別のクラウドに移動した.livingdead0812.hatenablog.comlivingdead0812.hatenablog.com理由は単に無料のOneDriveが容量不足になってきたから.ちなみに移動先の候補としては, Dropb…

オブジェクト指向 ≒ classを定義して使う,ということ?

オブジェクト指向ってなに? 【Python】オブジェクト指向プログラミングの概念と書き方 | HEADBOOST オブジェクト指向がわからない! そんなあなたの脳味噌をオブジェクト脳にする準備体操:CodeZine(コードジン) 初心者向けに徹底解説!オブジェクト指向…

xmlを編集・生成する方法についての備忘

構造を変えずに属性やテキストに編集を加える場合 読み込んだファイルオブジェクト(Elementオブジェクト)を直接編集し,別名のオブジェクトを作って書き出す. from lxml import etree as ET tree = ET.parse(filename) root = tree.getroot() # 編集する…

インストールオプションが使えなくなったffmpegで,字幕などのオプションを利用する方法

mac

以前はbrew install ffmpeg --with-libassなどのインストールオプションを使うことで,最小ビルド以外のffmpegの機能が使えるようになったが,たぶん今年の初めくらいからインストールオプションをサポートしなくなったらしい. https://discourse.brew.sh/t…

Tkinterでpygameを使って音を出すときの注意点

たとえばこんな感じで,単に音を鳴らすだけのウィンドウを作ったとして, import tkinter as tk import pygame pygame.init() pygame.mixer.init() se = pygame.mixer.Sound('./se_file.wav') root = tk.Tk() root.title('hoge') def ring(): se.play() butt…

自動補完ツールはひとつでいいという話

適当にいじってそのまま放っておいたEmacsの自動補完関連の環境をきれいにした.適当に行き当たったサイトを参考にしてHelmをインストールして,ついでにそこで(たぶん)紹介されていたAuto-Completeも有効にして使っていたが,Elpyを使うときにElpyのデフ…

gitのローカルリポジトリに自動コミット・自動プッシュを設定する

以前のエントリで示したように,ローカルの作業フォルダをgitで管理してクラウドドライブにpushするようにしたわけだが, livingdead0812.hatenablog.com 案の定,手動での同期は操作忘れを頻発することがわかったので,自動でのコミットとプッシュのために…

リストやタプルの中身を展開して関数に引数として渡す

いくつかの関数は,可変長位置引数としてリストやタプルを渡すことができるが,できないものもある. 参考:変数の種類について note.crohaco.netたとえば,osモジュールのos.path.join()などがそれである. os.path.join()は,直接複数の文字列を渡すとパス…

OS X のemacsをシェルから起動してもPATHが引き継がれなくなった問題

起こったこと あるとき気がついたら,YaTeXのC-c t jやC-c t bが効かなくなっていた. 具体的には, /bin/bash: platex: command not found というメッセージが出て止まってしまう.ターミナルでは, which platex /Library/TeX/texbin/platex となる一方,M…

クラウドドライブにgitのリモートリポジトリを構築する

そもそもクラウド自体がgit(だと思う)を使って実現しているわけだから,いかにも屋上屋を架している感があるが,メリットがないわけではない. こういう場合に 複数台のコンピュータを使うが,それ以外の環境(スマートフォンやタブレット)ではアクセスし…

再帰的に関数を実行するときに返り値が取得できない

はまったこと 数値を入力させたいなど,正しい値が得られるまで同じ処理を繰り返したいことがある. 具体的には,例えばこんな感じ. def get_number(): try: num = raw_input('enter number: ') except ValueError: get_number() else: return num get_numb…

AppleScriptで動画の長さを取得する

ファイルの情報を取得するのにはFinderにファイルを渡して問い合わせるのが一般的だと思う. 2/3 AppleScriptの構造を上手に調べる [Mac OSの使い方] All About choose file set theFile to result tell application "Finder" properties of item theFile en…

gb4e.styの例文で例文番号を操作する(途中から始める)方法

TeX

\begin{exe} \setcounter{xnumi}{7} \ex \begin{xlist} \ex ひとつめの例文です \ex ほげほげ \end{xlist} \ex \begin{xlist} \ex みっつめの例文です \end{xlist} \ex \begin{xlist} \ex ふがふが \end{xlist} \end{exe}こんな感じで,exe環境の中の,番号…

homebrew caskで任意のバージョンのアプリケーションをインストールする・ダウングレードする

mac

起こった問題 いまだにOSX El Capitanを使っているのだが(そしてそれほど「いまだに」とは思っていなかったのだが), 先日CotEditorをなんとなくbrew upgradeしたら,OS10.12.xx以上じゃないと使えません的なメッセージが出た(たぶん3.6.7; どのバージョ…

一時ファイルの名前が既存のファイルと同じにならないようにする方法

十分長いランダム文字列でファイル名を決めておけばそう重複することはないだろうが,天文学的確率で起こる問題を回避するために. 所定のディレクトリに作ろうとする名前のディレクトリがある限り,新規にランダム文字列を生成する.2018/12/3追記:最初に…

try-exceptで複数の例外を定義する方法

やりたいこと いくつか例外として処理したい条件があって,それぞれ別の挙動を設定しておきたい. 疑似コードで書くと以下のような状態. try: procedure1 except Exc1: behavior1 except Exc2: behavior2 finally: procedure2 やったこと 条件ごとにExcepti…

リスト内包表記でできないかもしれないこと

リスト内包表記 リスト内包表記とは,(定義はわからないが)forループの結果をそのままリストにする書き方であり,ちょっとした応用的なpython独特の文法らしい. 内包表記を使わずにリストを定義→forループ→リストにappend,とやるより速度がだいぶ速いら…

特定の位置にある改行を除去し,2行を1行にする(または,リストのふたつの要素をつなげてひとつにする)

例 たとえばこんなテキストがあるとする. 01 ID = 0001 02 ref = hoge 03 body = "hogehogehugahuga" 04 ID = 0002 05 ref = bura 06 body = " 07 buraburaguruguru" ... 06と07は本来1行なのだが,なぜか改行されてしまっている. なんとなく構造のあるテ…

iPhoneのGoogleMapでナビゲーション中に音声が聞こえない問題

Settings -> Notifications -> GoogleMap の Sound を On にしたら声が出るようになった (iPhone6, iOS11.4).Onになってるとバイブレーションがビービーうるさくて嫌だから切っていたのだが,画面を凝視しないと道がわからないのも嫌だ.アプリごとにバイブ…

OneDrive (for Business) の同期が進まない,または異様に遅い

mac

OneDriveをアップデートしたら治った アプリケーションのメニューにアップデートという選択肢がないが,インストールし直せばいいっぽい 私はAppStoreからインストールしてたが,インストールしてあるのになぜかボタンが「インストール」になってた(普通は…

emacs shell の起動時に.bash_profileが読み込まれない問題

問題 emacsのシェルでpythonを実行すると,入っているはずのパッケージが呼び出されないことがある. $ which python /usr/bin/python $ pyenv versions system (set by /Users/user/.pyenv/version) 2.7.10 3.4.6 ∗ anaconda2-4.3.1 anaconda3-4.3.1 こんな…