Microsoft Flowのアプリをインストールしたスマホに通知を表示するためのWebhookを作成する手順です。

フローの作成

新規フローの作成画面でトリガーとして「要求」を選択します。

新規フローの作成画面

「要求本文の JSON スキーマ」に以下のスキーマを入力し、「詳細オプションを表示する」をクリックしてmethodをPOSTに設定します。

{
    "type": "object",
    "properties": {
        "text": {
            "type": "string"
        }
    }
}

「新しいステップ」→「アクションの追加」で「Sned me a mobile notification」を追加します。

「Text」のテキストボックスをクリックすると右側に表示される「動的なコンテンツ」から「text」を選択します。

動的なコンテンツ

右上の「フローの作成」をクリックするとWebhookのURLが表示されます。

curlで通知のテスト

以下のコマンドを実行するとMicrosoft Flowのアプリをインストールしたスマホに通知が行くはずです。

curl -X POST -H 'Content-type: application/json' --data '{"text": "テストです。"}' '[WebhookのURL]'

PCのライン入力端子やマイク入力端子からの音声をそのまま再生する方法です。 Ubuntu 16.04で確認しましたが、PulseAudioを採用したディストリビューションなら同じ方法でできるはずです。

簡単な方法

$ pactl load-module module-loopback

これだけでライン入力の音声がそのまま再生されるはずです。 上記コマンドのload-moduleunload-moduleに置き換えると再生は止まります。

遅延が少ない方法

上記の方法では数百ミリ秒ほど遅延が発生します。 pacatという入出力の音声データを生で扱えるコマンドをパイプでつなぐことで遅延を少なくすることができます。 まずは以下のコマンドを実行します。

$ pactl info

以下のコマンドの<入力デバイス名>と<再生デバイス名>を、上記のコマンドの実行結果のDefault Sink(再生デバイス名)とDefault Source(入力デバイス名)で置き換えて実行します。

$ pacat -r --latency-msec=1 -d <入力デバイス名> | pacat -p --latency-msec=1 -d <再生デバイス名>

参考

Microsoftの無料メールサービス「Outlook.com」はゴミ箱(削除済みアイテム)から削除しても、ブラウザで「Outlook.com」にログインして「削除済みアイテムを復元」から簡単に削除したメールを復元できます。 スマートフォンの「Outlook」アプリでのみ「Outlook.com」を利用している人などはこの機能に気づかないと思うので、この仕様は問題だと思います。

完全に削除する方法

  • 「Outlook.com」にログインして「削除済みアイテム」→「削除済みアイテムを復元」をクリック。
  • ゴミ箱(削除済みアイテム)から削除したメールが出てくるので、チェックボックスをオン(Shiftキーで一括選択可)にして削除します。

Raspbianの起動やパッケージのインストールが早くなることを期待して、SanDiskのA1規格対応microSD(SDSQUAR-016G-GN6MA)を買いました。 かなり前に買ったUHS-1準拠の16GB microSD(以下、普通のmicroSD)と起動時間などを比較してみようと思います。

A1クラスって何?

A1(Application Performance Class 1)はSD AssociationがSD 5.1 Specificationsで追加した以下の基準を満たすSDカードの規格です。

  • 1500 IOPSの読み込み
  • 500 IOPSの書き込み
  • 10MB/sのシーケンシャル

最新のSD 6.0 SpecificationsではA2規格も追加されたようです。

CrystalDiskMarkの結果

MacBook Pro Early 2015のSDカードスロットでの結果です。

SanDisk A1
↑SanDisk A1

普通のmicroSD
↑普通のmicroSD

4Kのランダムライトが2倍以上出ていますが、ランダムリードは残念なことに同じです。

Raspbianの起動時間

2017-09-07版のRaspbian Stretchを特にチューニングしたりせずRaspberry Pi Zeroで起動した結果です。

  • SanDisk A1 : 33秒
  • 普通のmicroSD : 33秒

パッケージのインストール時間

以下のコマンドを実行した時の結果です。

sudo apt install -d raspberrypi-ui-mods
time sudo apt install -y raspberrypi-ui-mods && sync
  • SanDisk A1 : 10分28秒
  • 普通のmicroSD : 13分42秒

わざわざ割高なA1クラスを買うほどでもないですね。

LuxMark

LuxRenderというオープンソースの3Dレンダリングエンジンを使用し、ベンチマークやストレステストができるLuxMarkというソフトがあります。 LuxMarkはOpenCLが使える環境が必要です。 以下は、CPUとGPUがともにIntelの場合のOpenCLドライバーのインストール方法です。

試した環境

  • OS : Ubuntu 16.04
  • CPU : Intel Pentium G4400
  • GPU : Intel HD Graphics 510

CPUとGPUでOpenCLが使えるか確認する

まず、OpenCLが使えるかどうかclinfoを使って確認します。

sudo apt install clinfo

コマンドを実行して、以下のようにCPUとGPUが表示されない場合はOpenCLドライバーをインストールしないとLuxMarkは使えません。

$ clinfo
〜省略〜
Number of devices    2
  Device Name        Intel(R) HD Graphics
〜省略〜
  Device Name        Intel(R) Pentium(R) CPU G4400 @ 3.30GHz
```bash

## CPUとGPUでOpenCLが使えるようにする
[Intelのホームページ](https://software.intel.com/en-us/articles/opencl-drivers)からLinux用のOpenCLドライバをダウンロードして展開します。
rpmパッケージをdebパッケージに変換してインストールします。
```bash
sudo apt install alien
sudo alien -ci intel-opencl-cpu-r5.0-63503.x86_64.rpm
sudo alien -ci intel-opencl-r5.0-63503.x86_64.rpm

確認

clinfoコマンドでCPUとGPUが表示されることを確認します。

LuxMarkのダウンロード

freeglut3が必要なのでインストールします。

sudo apt install freeglut3

公式Wikiからバイナリをダウンロードして展開します。 luxmarkを実行します。

ストレステストの実行

起動したら、[Mode]→[Stress Test (OpenCL CPUs+GPUs)]をクリックしてストレステストを開始します。

LuxMark

参考

Icon
Ruyoumo
Go言語勉強中