hotch-potch, Note to self

いろいろ作業記録

Nerves講義ノート・始めてみる回

1.はじめに

Elixirでの組込開発環境「Nerves」のハンズオンに参加しました。

nerves-jp.connpass.com

実は、昨年のfukuoka.ex以来、Nervesに触れていないという(!)、NervesJP立ち上げメンバとしては非常にけしからん状況だったのですが・・・

今回久しぶりにやってみて、当時よりも色々ハマりにくくなってる印象でした。

折角の貴重な内容なので、今回のtakase先生の講義内容をまとめてみました。

f:id:hotch-potch:20200720230928p:plain

続きを読む

ElixirでGUI・Scenic チュートリアルチャレンジ

1.はじめに

20年6月に「ElixirConf EU Virtual」が開催されました。

私は参加していなかったのですが、オンライン参加していたNervesJP勢のみなさんが興味を持っていた話題の一つがこちら。

ElixirでGUIアプリを実装するライブラリです。

丁度わたしも、GUIを使ったアプリを作りかけていたのですが、このライブラリの存在を知らなかったので、最近使い始めたPythonKivyを、ElixirからgRPC経由で操作しようかと考えていたところでした。

とりあえず、モノは試しと言うところで、チュートリアルにチャレンジしました。

続きを読む

チュートリアルチャレンジ・gobotでGPIO操作

以前から気になっていたgobotを試してみました。

所々ハマリどころがあったので、備忘録としてまとめます。 ここでは、RaspberryPiのGPIOを操作してみます。

続きを読む

git, Note to self

(覚え書き用)

1.はじめに

たまにしか使わない、あるいは”やっちまった”ときに手直しするコマンドなどをまとめました。

  • 1.はじめに
  • 2.初期化
    • (1)空のままcommitする
    • (2)master→mainに変更
  • 2.過去の修正
    • (1)commit直後に名前やメールアドレスを修正
    • (2)名前やメールアドレスを過去に遡って修正
    • (2)先程のコミットを無かったことに
  • 3.設定変更
    • ユーザ情報
    • ファイルの大文字・小文字の変更を検知
    • 改行コードの自動変更を無効化
    • ホームディレクトリをまとめて圧縮
  • 4.そのほか
    • (1)追加の変更を最新のコミットに追加する
    • (2)UNIX, Windows併用するときの改行コード設定
    • (3)コミット履歴をグラフで表示
    • (4)SourceTreeの使い方
    • (5)bash用gitプロンプト
    • (6)git-flowを使う
    • (7)エラーadding the parent project as a safe.directoryの処置
    • (8)エラーThe server's host key is not cached in the registryの処置
    • (9)git英語

2.初期化

(1)空のままcommitする

# リポジトリ作成
$ git init

# 最初のコミット
$ git commit --allow-empty -m "first commit"

(2)master→mainに変更

ローカルのブランチ名をmainに変更

$ git branch -m master main

※ローカルを変えてからリモートを変えること

続きを読む

mix local.hexが失敗するときの処置

1.はじめに

mix deps.getを実行すると、mix local.hexの処理でコケました。 (下記の例は、circuits_i2cを使う時の例)

「function :inets.stop/2 is undefined」とのことですが・・・

このときの処置についてメモを残します。

$ mix deps.get
Could not find Hex, which is needed to build dependency :circuits_i2c
Shall I install Hex? (if running non-interactively, use "mix local.hex --force") [Yn]
** (UndefinedFunctionError) function :inets.stop/2 is undefined (module :inets is not available)
    :inets.stop(:httpc, :mix)
    (mix) lib/mix/utils.ex:560: Mix.Utils.read_httpc/1
    (mix) lib/mix/utils.ex:501: Mix.Utils.read_path/2
    (mix) lib/mix/local.ex:149: Mix.Local.read_path!/2
    (mix) lib/mix/local.ex:126: Mix.Local.find_matching_versions_from_signed_csv!/2
    (mix) lib/mix/tasks/local.hex.ex:56: Mix.Tasks.Local.Hex.run_install/1
    (mix) lib/mix/dep/loader.ex:168: Mix.Dep.Loader.with_scm_and_app/4
    (mix) lib/mix/dep/loader.ex:121: Mix.Dep.Loader.to_dep/3
続きを読む