日本発のステーブルコイン「xcoin」を買ってみた

5月15日に日本発のステーブルコイン「xcoin」「xcoin wallet」サービスが始まりました。
このサービスは Exchangers Co.,Ltd.という会社が運営していて、その代表取締役はテレビなどで活躍されている竹田恒泰氏。
竹田恒泰氏のファンというのもありxcoinを購入してみました。

海外に行く予定や海外通貨で何かする予定もないので、今のところ、同氏がプロデュースする「利尻昆布ラーメン くろおび 」の宅配ぐらいでしかxcoinの使い道はありませんw が、今後、マスターカード利用加盟店でxcoinでの支払いが可能になるようだし、大手ポイントサービスとの連携の話もある模様。なかなか面白いサービスになるんじゃないかと思います。

ていうか、そもそもステーブルコインってなんぞ?

ステーブルコインは、安定した価格を実現するように設計された通貨です。
ビットコインをはじめとする仮想通貨暗号資産)は、ドルや円といった法定通貨と比較すると価格変動が激しくその実用性に課題があると一般的に言われています。
仮想通貨が広く普及する上でも価格の安定は大きな課題の一つとして考えられ、ステーブルコインはその課題を解決する通貨として考案されました。
引用「ステーブルコインとは 【bitFlyer(ビットフライヤー)】」

アメリカではテザーやリブラなどのステーブルコイン銘柄が既に市場を席捲していて、米ドルであれば1ドル=1コインとしてドル建てで発行、実際の資産の裏付けにより価格変動を安定させつつ決済・送金における仮想通貨の利便性を両立しているとのこと。中国もデジタル人民元のプロジェクトを進めているらしい(怖…

Cryptoslateによると、現在ステーブルコインに分類される仮想通貨を合わせると、時価総額にして80億ドルを超える規模になる。とりわけ、最も時価総額の多いステーブルコインのテザー(USDT)は、仮想通貨の時価総額ランキングで5位以内に入っている。
引用「『ステーブルコインの現状と将来性』Facebookの仮想通貨リブラ、中銀デジタル通貨台頭で業界再編へ【COINPOST】

xcoinは156種類のステーブルコインを取り扱う

Facebook が運営するリブラも「米ドル、ユーロ、英ポンド、シンガポールドル」の複数のステーブルコインを取り扱っているようですが、なんとxcoinは156種類ものステーブルコインを取り扱う。ぶっちぎりですねwwww今のところこの規模で取り扱うサービスはない模様。それが日本発というのもなんとも痛快!

日本なら日本円と同価値になるXJPY。米ドルなら同価値になるXUSDという感じでxcoinを購入できる。購入したxcoinは専用アプリの「xcoin wallet」で送金や交換などの管理がまるっとできる。しかも送金まではわずか4秒でできるのがすごいとのこと。

仕組みとしては以下のようなものらしい。

トークンの発行にはイーサリアムのブロックチェーンを活用しERC20トークンを発行する。なおこのブロックチェーンはパブリックでなく、プライベートチェーンとのこと。

通常パブリックなブロックチェーンはブロックの承認を文字通りパブリックにすることで取引が改竄されない信頼を担保している。

引用「竹田恒泰氏のエクスコイン社らが発表した156種類のステーブルコイン「xcoin」について考察 【 あたらしい経済】

日本発のステーブルコイン。せっかくだから応援してもいいじゃないですか

今の段階では国内でxcoinを利用した購買行動ができないので、PayPayなどの電子決済サービスの方がもちろん便利です。

将来的に、世界各国で自国通貨を裏付けにしたデジタル通貨を発行する動きになることは間違いないので、デジタル通貨プラットフォームであるxcoinはをそのまま吸収できるのが強み。
そんな日本製のプラットフォームが世界を席捲する可能性があるって考えるとなんだか夢がありますよね。

電子決済であれば国内での利用に制限されるけど、xcoinなら世界中どこでもxcoin walletひとつでマスターカードの提携店で決済できたり、交換や送金も手数料もなく簡単にできる。
国内の利用手段も大手ポイントサービスとの提携など色々な展開も期待できる。今はラーメンしか買えないけれどwww応援してもいいんじゃないかと思います。
興味があれば以下のリンクから公式サイトを覗いてみてください。

xcoin公式サイト

こちらの動画でもっと詳しく知ることができます。


【Solr】Date Mathの仕様をソースコードで確認する

Solr のリファレンスガイドでは Date Math においてどの時間単位がどういう表記で許されているかの仕様はあまり詳しくは説明されておらず、いくつかの具体例が挙げられているのみです。 例に挙がっていない時間の単位が使えるのかはどうかは試してみないと分かりません。

そこで Solr 8.4.1 のソースコードで仕様を確認してみました。

Date Math を扱うクラスを探して org.apache.solr.util.DateMathParser というクラスに行き当たりました。そのソースコードでは、扱える単位は以下のように定義されていました。

    Map units = new HashMap<>(13);
    units.put("YEAR",        ChronoUnit.YEARS);
    units.put("YEARS",       ChronoUnit.YEARS);
    units.put("MONTH",       ChronoUnit.MONTHS);
    units.put("MONTHS",      ChronoUnit.MONTHS);
    units.put("DAY",         ChronoUnit.DAYS);
    units.put("DAYS",        ChronoUnit.DAYS);
    units.put("DATE",        ChronoUnit.DAYS);
    units.put("HOUR",        ChronoUnit.HOURS);
    units.put("HOURS",       ChronoUnit.HOURS);
    units.put("MINUTE",      ChronoUnit.MINUTES);
    units.put("MINUTES",     ChronoUnit.MINUTES);
    units.put("SECOND",      ChronoUnit.SECONDS);
    units.put("SECONDS",     ChronoUnit.SECONDS);
    units.put("MILLI",       ChronoUnit.MILLIS);
    units.put("MILLIS",      ChronoUnit.MILLIS);
    units.put("MILLISECOND", ChronoUnit.MILLIS);
    units.put("MILLISECONDS",ChronoUnit.MILLIS);

まとめると以下のようになります。ミリ秒の異表記が妙に充実していますね。

  • 年 : YEAR,YEARS
  • 月 : MONTH,MONTHS
  • 日 : DAY,DAYS,DATE
  • 時 : HOUR,HOURS
  • 分 : MINUTE,MINUTES
  • 秒 : SECOND,SECONDS
  • ミリ秒 : MILLI,MILLIS,MILLISECOND,MILLISECONDS

週(WEEK)が見当たりませんが、近くに書かれているコメントによると、週については
/WEEK と書いたときの丸め処理(たとえば NOW/DAY と書くとその日の0時0分0秒になる)がややこしいので今のところ採用していないとのことです。


おうちでDIYチャレンジしませんか?

こんにちは、デザイナーのはなです。

お休みの日も外に遊びに行けない昨今、みなさんはどうやっておうち時間を過ごしていますか?

私はもとより多趣味で引きこもりなので、正直あまり以前の休日の過ごし方と変わっていません;

さて、私の多趣味のうちのひとつにDIYがあります。

この機会に新しく食器を置く棚を作りたいなと思っているので、おさらいがてら以前私が本棚を作ったときの過程を紹介したいと思います。

1.設計

 設計というと大層に聞こえますが、要はどんなものを作りたいか考える時間です。

大体こんな感じのものを作ろうかなと決めたら、ざっくり設計図を書きます。

こんなヘロヘロのフリーハンドでも大丈夫です。

左下のグレーの箇所に通販で購入した机を、右下の箇所にギターを置きたかったので、その大きさをもとにして全体のサイズなどを決めました。

また、どんな大きさの木材がいくつ必要なのか書き出しておくと、買い物がスムーズです。

2.材料調達

ホームセンターや通販などで、木材を始めとする必要な材料を調達します。

ホームセンターだと購入した木材をカットしてくれるサービスを行っていることが多いので、設計図をもとにすべての木材をカットしてもらいます。

また、木材は通販でも購入できます。

好きなサイズにカットしてくれるサービスもあるので、こんなときだからうまく活用したいですね!

https://www.rakuten.co.jp/mokuzai-o/

https://shop.woodworks-marutoku.com/

また、個人的におすすめしたいのが平安伸銅さんのDIYパーツです。

LABRICOという突っ張り棒パーツが有名ですね。

平安伸銅さんのサイトには、おしゃれなDIYパーツが色々揃っており、見ているだけで創造意欲がかきたてられます。

https://www.heianshindo.co.jp/labrico/

3.塗装

買ってきた木材に塗装を行います。

塗料にもいろいろありますが、置く場所や用途によってどの塗料を選んだらよいかが変わってきます。

室内用の本棚なら防水のことなどはあまり考えなくてもいいですが、食器棚となると①食品に触れるものが乗る②濡れているものが乗る可能性がある、などと少し注意が必要です。

ちなみに私はDIYのすべての工程の中で塗装が一番好きです。

4.組み立て

塗装した木材を組み立てていきます。

このとき注意したいのが、大きめのものを一人で作った場合、組み立てと設置の順番を間違えると詰むということです。

今回作った本棚の設計では、LABRICOを使用した木の柱を建てる必要がありました。

LABRICOなど突っ張り棒パーツを使用した棚などの作り方のサイトを見ると、先に組み立てをすべて行ってから設置すると書いてあることが多いですが、私一人では柱を二本以上同時に建てることができなかったため、L字金具をつけた柱を一本ずつ先に設置→棚板を設置 という順序で組み立て設置を行いました。

5. 設置

前項でも書いたとおり、組み立てと設置は順番を考えながら行います。

手伝ってくれる人がいるなら、素直に手伝ってもらったほうがいいと思います。

(私は父親に「お前一人では無理だ」と散々言われ腹が立ったので意地でも一人で完成させました)

設置したら完成です!

すごくいい感じに出来上がりました!

(趣味がバレバレで恥ずかしいところだけぼかしを入れました)

自分で作った棚だと愛着もひとしおです。

ちなみに青い壁紙は、貼ってはがせる賃貸用の壁紙のりを使って貼りました。

壁のどこか一面に壁紙を貼るだけで部屋の雰囲気がガラッとかわるので、こちらも手軽なDIYとしておすすめです!

まとめ

大規模なDIYとなると、やろうやろうとは言いつつなかなか始められなかったり、時間がかかるということに臆してしまう気持ちも出てくると思います。

ですが、作る作らないは置いておいて、とりあえず設置場所のサイズを図って必要な木材の枚数だけ出してみると、あれ?案外作れそうだな?という気持ちになってきます。

私も食器棚を作ろう作ろうと思いつつ、いろいろ忙しかったのもあって作り始められていなかったのですが、数少ない外出の予定が潰れまくっている今がまさに作りどきなのかなと思いました。

みなさんもこの機会に、少し手間のかかるDIYに挑戦してみませんか?


GWの大半は北半球から南半球へお引越し

カツラです。

ここ1ヶ月は新型コロナウイルス対策の為3日に一度の食料買い出し以外に外出しておりません。まぁ私にとっては単純に食料買い出しに出る日が1日1回から3日1回に減ったぐらいなんですが、流石にそろそろ外に出たい気持ちが湧いてきます。

Twitterで話題になって買った「あつ森」ですが、GW中に妹達とオンラインをして気づいたことが1つ、自分の島の住人があまりにも可愛くない
それもこれもストーリークリアを重視して出会った住人を片っ端から勧誘してたのがまずかった。
そして最後に住人を入れ替えればいいやと軽い気持ちで考えていたのがいけなかった・・・。
なのでクリアした後にやった離島ガチャの黒いカンガルーこと「アザラク」だけが唯一のお気に入りの状態。。。これではいかんと住人の入れ替えを実施。

色々調べてみてやったけど
・キャンプにくるのは可愛いとは限らないそして頻度も割と少ない
・住人を追い出すために虫取り網で叩いてたけど心が痛い・・・そしてよくよく調べてみると住人と別れるには逆に親しくなる必要がある

兄弟全員北半球だったので悩んだ末に南半球に移住(再プレイ)これがGWの大半でした。

まず最初の住人リセマラ。
アネキタイプは微妙なのばっかだったのでハキハキタイプでいいのを試みる(ペンタが理想)。
2時間経過・・・
もう果物が「みかん」で普通に許容できる範囲であればいいやと妥協。
最終的にハムスケとウェンディと「りんご」で初回ガチャを終了。
最初の強制キャンプガチャはもちろん失敗・・・ピエロっぽい羊。
そして勝手に移住してくる住人。
数多もの離島ガチャに失敗し最終的に到達したのがこちら

最初にしっかり選んで誘っていれば良かった。


OpenCVでのオーバーヘッドの少ない静止画像撮影方法

はじめに

Amazon Rekognition を使った顔認識システムを検討しています。

  • Raspberry Pi 3 とカメラモジュールと OpenCV を使う
  • USBで接続したキーボードのEnterキーを押したら撮影
  • ASWへのリクエストで1秒程度必要になるので、撮影に要する時間はなるべく短く

シャッターボタン(Enterキー)を押してから画像データを取得するまでの遅延をなるべく小さくするためには、OpenCVでの処理にある程度のコツが必要なことが分かったのでこの記事にまとめてみました。

Raspberry Pi の準備

  1. Raspbeian Buster with desktop をインストール
  2. raspi-config を起動して Interfacing Options → Camera で カメラインタフェースを有効化
  3. apt-get install python-opencv

ダメダメな例

最初にうっかり書いてしまったバージョンです。
raw_input で入力待ちをして、入力があれば VedeoCapture オブジェクトを生成して read で画像を1枚読み込む、という処理を無限ループします。 一応動きますが、毎回 VideoCapture を作っているので遅い(キー入力から画像取得まで1秒弱)です。
さらに、後述の通り2回目以降正しく動作しません。

ダメな例

ループの外で VideoCapture を生成して使い回すようにしました。VideoCapture生成処理の分(0.4秒程度)早くなりました。
ただし、上のダメダメな例でもそうでしたが、2回目以降のシャッターは正しく動作しません。

  1. 顔をカメラに向けた状態で起動
  2. キー入力する
  3. 顔が写った画像が記録される
  4. 顔をフレームから外す
  5. キー入力する
  6. 顔が写った画像が記録される

といった具合です。2回目以降はキー入力された時点の映像がキャプチャされません。

正しいキャプチャの方法

VideoCapture を使うサンプルコードは世に溢れてますが、そのほとんどは動画のすべてのフレームを漏れなく処理するには、のようなパターンで、処理をブロックしておいて何らかのトリガで1枚だけキャプチャをするという今回のような使い方はあまりしないようです。
改めて VideoCapture の仕様を調べてみると、フレームレートに応じた頻度で read を呼び出して VideoCapture 内部のフレームを進めないと、過去のフレームを読み込んでしまうことになるようです。要するに、ダメな例のコードでは read の回数が少なすぎた訳です。

したがって、以下のような動作が必要になります。

  1. 適切なウェイト(50msec程度)を入れつつreadを繰り返し実行
  2. キー入力が発生したら最後に読み込んだ画像をメインの処理に渡す

こういう場合の定石は cv2.imshow して cv2.waitKey でタイムアウト有りのキー入力待ちをすることです。タイムアウトを50msecに設定すれば、キー入力が無ければ50msec毎に cv2.read を実行できます。

もっと動作を軽く

上の定番のやり方の場合、imshowするのでそれなりにCPU負荷が掛かります。カメラに映っている映像を表示しなくても良い用途のためにもっと軽い方法も欲しくなります。

select を使ってタイムアウト付きキー入力関数を自前で用意しました。

おわりに

imshowとwaitKeyを使う版だとほとんど何もしていないときでもCPU使用率が20%強になりますが、動画表示しない版だと3%程度まで抑えることができました。また、プログラムの構成上キー入力の前に画像読み込みが終わっているので、処理の遅延をなるべく小さくという意味でも非常に良いものになっています。