大学生活でiPadを使ってみた話

この記事は、OIT Advent Calendar 2018 の6日目の記事です。

はじめに

導入理由

  • 6月に担当教員から iPad を入手
  • 同時にIIJSIM も入手
  • 教員「好きに使っていいよ」
  • 教員の私物 Apple Pencil を借りる
  • カバー,保護シールを自腹で買う
  • 研究費ってこうやって使うんだなぁ
  • 学外持ち運びOK出たし活用していく気持ち

感想

良かったこと

  • 鞄が軽くなった
  • 今現在、SurfacePro3が軽くて気に入っているので比較

    SurfacePro3 9.7インチipad
    798g 496g
  • 軽く感じるわけだ...加えて、充電器の重さを考えると差が出る
  • 講義に紙がいらない
    • 講義では配布物の管理や板書が面倒  iPad と借りた ApplePencil を使う
      • 配布物がpdf 有料ソフトがあったりしますが、 Notesで特に不自由はない
      • 配布物が紙 CamScannerで撮ってしまえば後は要領がpdfと一緒
  • sshができる
    • iTerminalを使うだけで研究サーバの監視ができるぞ、すごい
  • レポート、発表課題もできる
  • GoogleDriveで情報共有
    • 研究室の G Suite で共有して終了
    • 論文をダウンロードしておけば、電車内で読める

不便に感じたこと

  • プログラムの描写はつらい
    • プログラムの課題でグラフを表示できない
  • キーボードがないとつらい
    • sshできるし、レポートは書ける
    • 画面がソフトウェアキーボードで埋まるので編集時は大変
    • 結局PCに戻る
  • ノート持ち込みOKの講義に弱い
    • iPadで書いた印刷物はセーフか不明
    • 普通にノートに書いた方が安全

おわりに

  • 同じことがiPhoneでもできるぞ(絶対つらい)
  • 最近はApplePencilを返却してcrayonを使用中
    • 絵を書かないから Apple Pencil と同じように使えている
  • そういえば新しいiPadPro が出てたよね
    • 学部は今年度から個人用のPCが必須
    • 鞄が重いし、ssh出来ればiPad生活で良くない?
    • ただ、色々するならPCもいるかも

余談

  • SurfacePro3が一覧から消えてて、学部入学あたりから使ってたしなぁ、と時の流れを感じた
  • 新しいPCも欲しくなってきた

ADT7410の温度出力

はじめに

  • 電子工作を最近することになって、たまたま使う機会があった
  • HDC1000 と同じプログラムだと意味不明な数字でた

問題

  • 要はHDC1000用のプログラムだった
  • 何かが違うことはだいたいわかった

解決

HDC1000 ADT7410
address 0x40 0x48
quantity 4 2

で違うかったので修正したら少なくとも取得したであろう値は出た

あとは、正しい温度に近い値に変換する必要がある(128で割るといけた)

さいごに

  • はんだ付けの練習をしています、難しいですね

ICTSC2018 一次予選結果の話

はじめに

  • ギリギリになって参加することなり、既に編成されていたチームに招かれた
  • 投稿が遅くなったのは、その後すぐ学会やら学生プロジェクトやらで忙しかった

触った問題

  • SNMP筆記
  • IPv6筆記,実技
  • Network実技1,2
  • Xen 筆記
  • LB 筆記

課題

  • 個人の話
    • IPv6の問題がわからなかった
      • 要勉強
    • 問題量の関係でNetwork実技の解答が雑になって減点等があった
      • 丁寧にやろう
    • PacketFilter の問題が雑に検索した答えだった。選択問題を見落とした。
      • ダメもとで提出してみるべき。問題をよく読むべき
  • チームの話
    • チーム全得点がほぼ一人で稼ぐ結果になった
      • チームとしての地力を上げる必要がある
    • そもそも一問も解けなったメンバーがいる

おわりに

  • 2次予選に向けてチームビルディングしていきたい

Virtual Box で vyos (メモ)

はじめに

  • cisco機器以外を触る機会がありそうなので、少し練習

ssh

  • Virtual Boxをインストールしてvyosを起動できた
  • Vietual Box に直接だとコピペができなかったりしたのでsshの設定

    設定

set service ssh port 22
commit
save
  • reboot しないと使えないとか見たけどそんなことはなかった
  • (何ならsaveしたのにconfig消し飛んでて悲しくなった)
  • dhcp で降ってきた10.0.2.15/24 なんだこいつは
  • Virtual boxのアダプターをブリッジ接続に変更した
  • ちゃんと別のIPアドレス降ってきて無事ssh完了

ethを増やす

  • $ show interface なんかをすると
  • eth0 しかなかったので、増やしたいなぁと思って
# set interfaces ethernet eth1 address 192.168.0.1/24
  interface ethernet eth1: does not exist
  Value validation failed
  Set failed
  • どうやらvyos内で解決はできなさそうだった

    解決

  • 起動する前にVirtual Box でアダプターを有効にする必要がある
  • 一つは自動的に有効になっていたオチ

終わりに

  • Virtual Box で事前に設定しておく必要がある
  • アダプタの割当がnatだと10.0.2.15/24が降ってくるみたい
  • どうやらブリッジよりホストオンリーアダプタがいいらしい

WSLからMatplotlibを用いて画像が表示されない話

はじめに

  • Opencvを使って表示できてよかった
  • その後Matplotlibを使うときに問題が起きた

エラー

jpgファイルを読み込んで表示させるプログラムで

$ python3.6 demoMatplotlib.py
Traceback (most recent call last):
  File "demoMatplotlib.py", line 2, in <module>
    img = plt.imread('img/flash/ambient.jpg')
  File "/usr/local/lib/python3.6/dist-packages/matplotlib/pyplot.py", line 2381, in imread
    return _imread(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/matplotlib/image.py", line 1360, in imread
    'more images' % list(handlers))
ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images
  • pngじゃないとダメみたいなことを言われた

解決

stackoverflow

pip install pillow
  • これでjpgでも対応できた

終わりに

  • 割とすぐ見つかってよかった

WSLのpython3.6でapt_pkgがないとか言われる話

はじめに

  • 課外活動でpython3.6 + Opencv3.2 を使う機会があった
  • import cv2は普通に動作したが、関数呼び出し時にエラーが出た

エラー

$ python3.6 demoOpenCV.py
OpenCV(3.4.1) Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /io/opencv/modules/highgui/src/window.cpp, line 356
Traceback (most recent call last):
  File "demoOpenCV.py", line 4, in <module>
    cv2.imshow('img',img)
cv2.error: OpenCV(3.4.1) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215) size.width>0 && size.height>0 in function imshow

Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Original exception was:
Traceback (most recent call last):
  File "demoOpenCV.py", line 4, in <module>
    cv2.imshow('img',img)
cv2.error: OpenCV(3.4.1) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215) size.width>0 && size.height>0 in function imshow
  • ModuleNotFoundError: No module named 'apt_pkg' を解決すれば良さげ

解決

stackoverflow

cd /usr/lib/python3/dist-packages
sudo cp apt_pkg.cpython-34m-i386-linux-gnu.so apt_pkg.so

すると動く、ということで実行してみると

  • apt_pkg.cpython-34m-i386-linux-gnu.soはなかった
  • ls で確認すると apt_pkg.cpython-35m-x86_64-linux-gnu.so というよく似た名前があった
  • こいつをcpしてプログラムを動作させた
$ python3.6 demoOpenCV.py
: cannot connect to X server
  • エラーが変わってX server を入れたら良さげ

X server

  • Xmingを入れた
  • 起動後ターミナル内で export DISPLAY=:0.0 を入力
  • その後、プログラムを動作させると無事動いた

終わりに

  • 色々なサイトを眺めたので一つにまとめた
  • 他のエラーが出ないことを祈る

nsecの処理時間をshellで測る

はじめに

  • 大きな差がない時間を比較する課題があった
  • time コマンドだと差が無くて泣いた

調査

  • cやc++のライブラリを使う方法がたくさん出てきた
    • 「違う、そうじゃない」となった

解決

知り合いが教えてくれた

#!/bin/bash
s=$(date +%s.%6N)
eval "$@"
t=$(date +%s.%6N)
echo "scale=1; $t - $s"|bc
  • これを保存(ex.hoge.sh)
  • Shellで./hoge.sh ./hogehoge.c のようにする
  • これでnsecからμsecまでを取ったが表示される

さいごに

  • ネットで調べたけど全く出てこなかったので書いた
  • 次に使うときはいつになるだろうか...