歩いたら休め

なんでこんな模様をしているのですか?

アジャイル開発について学ぶには、ちゃんとした資料研究の方法を学ぶと効率いいんじゃないか?

※この記事は適当をブッこいているので話半分で聞いてください

最近、ソフトウェア開発の勉強をサボって歴史と哲学を勉強してしまっていたのですが、『歴史学ってなんだ?』って本を読んで、同じような方法でソフトウェアエンジニアの文化を参考になるんじゃないかと思い始めています。

  • 資料を漁って実証主義的に議論を進める点。会社内だと実験してデータを揃えるのも難しいので、定性的に「自分たちの文化を改善するために、何が有力な仮説なのか」を考えるのに役立ちそう
  • 様々な視点から解釈する点。『チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計』などを読んでても、これはリーン開発手法を組織の視点から見ているように見えて「本当に新しいのは何なのか」を整理するのに役立ちそう。「たしかに一時的に生産性は上がるけど、働きやすさの点でデメリットが無い?」みたいな議論もちゃんとできそう
  • 過去の資料を、現在の視点で洗い直して新しい解釈を与える点。例えばトヨタカンバン方式も、スーパーマーケットが着想元になってるので、似たことができそう

きっかけ

同僚に誘われてRRRを見に行き、たしかに面白かったのですが、「あの結末でいいの?」「最後の英雄な人としてガンディー出てこないんだ…」ってところがやっぱり気になりました。

blog.goo.ne.jp

ただ、いろいろガンディーの本を読んでたら、逆に彼の「けっこうガンディーの考え方も万能じゃなさそうだし、自伝を読んだ印象だと割と頭固そうな人でもあるな」みたいなところが気になってしまいました。なので当たり前の考えかもしれませんが、「いろいろな視点で評価して有用な部分を今の自分たちの参考にする」みたいな態度が必要なんじゃないかと思いました。

virtualdjで出力したcueシートを、csv形式に変換するpythonスクリプトを実装してください

知り合いが悩んでいたので実装してもらった。マジでいけるんだ…

質問文

virtualdjで出力したcueシートを、csv形式に変換するpythonスクリプトを実装してください

回答

import csv

def convert_cue_to_csv(cue_file, csv_file):
    # cueシートのデータを格納するリスト
    cue_data = []

    # cueシートのファイルを開く
    with open(cue_file, 'r') as f:
        # cueシートの各行を処理する
        for line in f:
            # cueシートの行がトラック情報かどうか判断する
            if line.startswith('  TRACK'):
                # トラック情報を格納する辞書
                track_data = {}

                # トラック番号を取得する
                track_num = line.split()[1]
                track_data['Track Number'] = track_num

                # トラックタイプを取得する
                track_type = line.split()[2]
                track_data['Track Type'] = track_type

                # 次の行を処理する
                line = f.readline()

                # トラック名を取得する
                track_name = line.split('"')[1]
                track_data['Track Name'] = track_name

                # 次の行を処理する
                line = f.readline()

                # トラックの長さを取得する
                track_length = line.split()[3]
                track_data['Track Length'] = track_length

                # cueシートのデータにトラック情報を追加する
                cue_data.append(track_data)

    # CSVファイルに書き込む
    with open(csv_file, 'w', newline='') as f:
        # CSVファイルに書き込むためのオブジェクトを作成
        writer = csv.DictWriter(f, fieldnames=['Track Number', 'Track Type', 'Track Name', 'Track Length'])

        # ヘッダーを書き込む
        writer.writeheader()

        # cueシートのデータを書き込む
        writer.writerows(cue_data)

# cueシートのファイル名
cue_file = 'example.cue'

# CSVファイル名
csv_file = 'example.csv'

# cueシートをCSV形式に変換する
convert_cue_to_csv(cue_file, csv_file)

このスクリプトは、cueシートのファイルを開き、トラック情報を取得して、CSVファイルに書き込みます。トラック情報は、トラック

Macの修理中にWindows10で違和感なく乗り切るための設定

先日、普段使っているMacBookが故障してしまい、代わりに2台目として使っているWindows10をメインに利用しています。

ブログやSNSの更新程度なら違和感なく使えるかなと思っていたのですが、実際にはいくつか設定しないと「間違ったショートカットキーをつい入力してしまう」などうまく操作できない箇所がありました。今後同様のことがあっても大丈夫なように、メモを残しておきます。

私は外付けのHHKBとMagic Trackpad(2ではない)を利用しているので、それ前提の設定になっています。

Magic Trackpad

そのままでもBluetooth接続はできるのですが、何も設定せずに接続してしまうとスクロールや右クリックの機能が使えません。

mono96.jp

また、そのままではスクロールが今のMacとは逆転しているので、こちらのレジストリエディタの修正を行いました。

pc-karuma.net

ただし、「3本指ドラッグや2本指の画面拡大などの操作ができない」のが問題として残っています。私は3本指ドラッグでの範囲選択はついやってしまうので多少困っています。

こちらのデバイスドライバもあったのですが、MagicTrackpad2しか対応していないのか、私の環境では動作しませんでした。

https://dekunoboh.com/magictrackpad2/

キーボード

まず、使っているHHKBがUS配列なのでその設定を行いました。本体のキーボードは多少使いづらくなりますが、ほぼ家でしか使わないので気にしないことにします。

qiita.com

また、Commandキーの場所にWindowsキーがあり、コピー&ペーストしようとしてできなかったり、Command + Lで検索窓に行こうとしてWindowsキーを押して画面ロックしました。そのためChange Keyを使って右WindowsキーをControllキーに変えました。

forest.watch.impress.co.jp

キーボードショートカット

私が使う頻度が高くて違和感を感じたのはこれらのショートカットキーです。

  • Command + Spaceで入力切り替え
  • Alt + SpaceでAlfredを起動

前者はこちらの記事に倣って、Google日本語入力の設定で行いました。

yk5656.hatenadiary.org

Alfredの類似アプリの中からUeliを導入しました。Alt(Option) + Spaceで実行できます。

www.yokoyan.net

残った課題

以上の設定で私の場合は、ブログの程度であれば違和感なく行うことができるようになりました。

しかし、特にブログを書いているときにMacのControll + A(E)で行頭(行末)に移動するショートカットキーをよく使っていて、間違って押してしまうことがあります。元のControllキーをWindowsキーに設定して、Windows + A(E)のショートカットキーを設定すればいけるかもしれないので、違和感に耐えられなくなったらチャレンジしてみます。

また、前述した通り、トラックパッドの3本指の操作の設定の問題も残っています。

『ISISのDeplatformingから何を学んだか (What was learnt from deplatforming ISIS)』の抄訳

ここ数日で「トランプ大統領が不正選挙を強硬に主張して、支持者がアメリカ議会に乱入した」というニュースが話題になっています。その結果、「TwitterFacebookでアカウントを完全削除された」そうです。

シリコンバレー=白石武志】米ツイッターは8日、8800万人を超えるフォロワーを抱えるトランプ米大統領のアカウントを永久停止したと発表した。6日に首都ワシントンで発生した暴動後の同氏のツイートを精査した結果、さらなる暴力行為を扇動する危険性があると判断したという。同氏は情報発信のよりどころとしてきたツールを政権の末期に失う結果になった。

トランプ大統領の主張の是非はここでは議論しませんが、彼は今までTwitterなどのSNSで過激な主張を行って支持者を集めてきたことには異論がある方は少ないでしょう。アカウントが停止されたことで、更に極端な分断が生まれ、混乱が起こることは(何人かの友人がアメリカにいることもあって)心配です。また、私自身がインターネットやWEBサービスによって様々な違う立場の人と出会ってきた経験があるのですが、最近は逆にエコーチェンバー現象のように、異なる意見間で分断されているように感じています。

そんな折、Hacker Newsに「Twitter thread – What was learnt from deplatforming ISIS | Hacker News」という記事が上がっており、非常に興味深い内容だったので、抄訳とリンクを残しておきます。

news.ycombinator.com

続きを読む

メルカリにおよそ100冊出品しました

長らく眠っていた本を100冊以上メルカリに出品しました。1/15くらいに全部処分する予定です。興味ある方はぜひ見てみてください。

https://www.mercari.com/jp/u/252084402/

Firefoxのprofileを切り替えて、集中用のブラウザを用意する

最近、「コミュニケーションするとき」と「プログラミングに集中するとき」で気持ちを切り替えるために、ブラウザのログイン情報を分けています。具体的には、集中するときには、チャットツールやメールをブックマークやログイン状態から外したものを利用しています。

仕事用のPCでは、Google Chromeを利用しているため、それをChromeのマルチユーザー機能で切り替えています。

dev.classmethod.jp

ただ、私はプライベートではGoogle ChromeではなくFirefoxを使っています。Firefoxではなかなかいい方法が見つからなかったのですが、次の方法で実現できることが分かりました。

  1. 複数のプロファイルを用意する
  2. プロファイルマネージャーを起動するコマンドをアプリケーション化する

私はMacですが、WindowsLinuxでも同じような方法で実現できるはずです。

ちなみに、「Firefoxでアカウントを切り替える方法」を調べると、以下のアドオンも引っかかります。これはタブごとにログイン状態を切り替えるアドオンであり、今回の「ブックマークや拡張機能も違うものを使いたい」という要求には答えられなかったため導入を見送りました。AWS複数アカウントを切り替えてログインしたいときなどには活躍しそうです。

www.lifehacker.jp

①複数のプロファイルを用意する

まず、別のFirefoxアカウントと切り替えられるようにしなければいけません。これは以下のドキュメントに書かれている方法で実現できます。

support.mozilla.org

これでユーザープロファイルを切り替えられるようになるのですが、プロファイルマネージャー (ユーザープロファイルの選択) を開くためには「Firefox を閉じてプロファイルマネージャーを起動する」にある通り、毎回次のようなコマンドを実行する必要があります。

Terminal アプリケーションで、次のコマンドを入力してください:
/Applications/Firefox.app/Contents/MacOS/firefox-bin -P

Google Chromeがブラウザ画面で簡単に切り替えられるの対して、これはあまりに面倒です。

次のステップで、このスクリプトをアプリケーションとして実行できるようにします。これによりAlfredで検索したり、Dockに表示したりできます。

②プロファイルマネージャーを起動するコマンドをアプリケーション化する

次は、プロファイルマネージャーの実行コマンドを.appの形式で実行できるようにします。こちらのサイトを参考に設定しました。

この「Google Chromeの起動コマンド」の代わりに /Applications/Firefox.app/Contents/MacOS/firefox-bin -P を実行するように設定します。

www.karakaram.com

一応Appleの公式のドキュメントも載せておきます。あまり参考になりませんでしたが。

support.apple.com

結果

これにより、Dockerからプロファイルマネージャーの実行コマンドを登録できるようになり、

f:id:takeshi0406:20200822182320p:plain

プロファイルを選択し、

普段利用しているものと隔離されたFirefoxを起動できます。こちらのプロファイルで改めて拡張機能やブックマークを設定すれば、SNSなどに気を散らされることなくプログラミング集中できることでしょう。

健康にいいとされる「茶色い炭水化物」を試してみます

『世界一シンプルで科学的に証明された究極の食事』で「精製された『白い炭水化物』を精製されていない『茶色い炭水化物』に置き換えるといい」という方法が進められていました。そこで、全粒粉パスタを買って試してみました。

上の商品で、トマトソースとシーフードミックスのパスタ(ペスカトーレ?)で、味に問題はなく、少し蕎麦っぽい食感でした。少し風味があるのはさっぱりした味だと気になるかもしれないので、しばらくいろいろ試してみます。

他にも、同じく「茶色い炭水化物」である玄米も試そうと思います。あまり外出もできないので、あまり普段の生活で負担にならず、楽しみのバリエーションも増やせるような食事を探してみます。

最近、リゾットも試しています。事前にお米を炊かなくて楽だし、オリーブオイル、魚介類、野菜などの食材が簡単に取れるという理由です。

フライパンリゾット

フライパンリゾット

  • 作者:若山 曜子
  • 発売日: 2017/10/13
  • メディア: 単行本(ソフトカバー)