クマは森で用を足しますか?

アウトプットは重要です。

Android

Pixel 7 のログから逆引きして学び始める eSIM MEP

Apple は iPhone 13 から、Google は Pixel 7 から eSIM MEP (Multiple Enabled Profiles) をサポートしています。一般市民が触って遊べるようなものなのかどうかは疑問なところですが、どんな仕組みで動いているのか知っておいても良いかなと考えています。…

eSIM.me は商用かつ汎用の Removable eUICC カード

抜き差しできる eUICC カード、あります 世の中の SIM/UICC 好きの皆さま、取り外し可能なカード型の eUICC をお探しではないですか?先日ついにこの eSIM.me を見つけて、脊髄反射でポチっとやりました。ご覧ください、こちらが eSIM.me の eUICC カードで…

eSIM が無ければ Pixel 4 を潰せばいいじゃない

リムーバブルな eSIM が手に入らない eSIM にコマンドを送りたくなること、ありますよね。4FF/nano カードタイプのいわゆるリムーバブルな eSIM を入手し、PC/SC インターフェースを通して ES10x のコマンドを送ることができればと考えたんですけど、そもそ…

Google Pixel 4 がデュアル SIM 端末になるとき

Google Pixel 4 は出荷時はシングル SIM 端末ですが、その後の UI 操作によってデュアル SIM 端末へ動的に変化します。Google Pixel 4 に IIJ さんの eSIM をダウンロードしてデュアル SIM 端末にしましたので、そのときに観測できたことをメモしておこうと…

Google Pixel 4 (QD1A.190921.007) System Property 一覧

セットアップを終えた直後のものです。また確認したくなることがあるかもしれないので、ここに貼っておきます。 [DEVICE_PROVISIONED]: [1] [aaudio.hw_burst_min_usec]: [2000] [aaudio.mmap_exclusive_policy]: [2] [aaudio.mmap_policy]: [2] [af.fast_tr…

Google Pixel 4 (QD1A.190921.007) Feature 一覧

また確認したくなることがあるかもしれないので、ここに貼っておきます。 $ pm list features feature:reqGlEsVersion=0x30002 feature:android.hardware.audio.low_latency feature:android.hardware.audio.output feature:android.hardware.audio.pro feat…

BER-TLV クラスを Kotlin で書いてみる

仕様のおさらい T (タグ) フィールドは 3 バイトまで ITU-T X.690 や ISO/IEC 8825-1 の規定では T/L/V 各フィールドの長さに関する自由度が高く、著しく長いタグやデータ長を表現することも可能です。ISO/IEC 7816 の現在の運用ではタグの長さを 3 バイトま…

Continuation による AssertionError で MockK に乗り換える

Repository 以下はだいたいこんな感じ 他の人が書かれた Kotlin のコードを見ながら、適当にそれらしく書いてみています。そんな調子でもそこそこちゃんと動いてくれるので、Kotlin の基礎みたいなところを全く習得できていないような気はします。Android の…

APDU コマンド出ました

今回は学習目的で「しっかりテストコードを書く」と決めて始めてしまったので、ちょっとしたことを実現するだけでもとても時間がかかります。おかげで、Kotlin の超基本的な文法みたいなところはちょっと書き慣れてきたような気がしないでもないです。 MF を…

Mockito や Shadow を使ってテストコードを書くのは楽しい

Kotlin でコード書くのはとても楽しいですし、Mockito や Shadow を使ってテストコードを書くのも楽しいですね。業務で携わっているコードにはテストコードがあまり用意されていないものもありますので、このように自分で書いてみるのはとても有意義です。し…

16 進文字列とバイト値を変換する関数を Kotlin で書く

どうしても至る所で使うことになりそうな気がするので、16 進文字列とバイト値またはその配列を変換する処理をユーティリティとして切り出して整理しておきます。まだまだ不慣れですが、ちょっぴり Kotlin っぽく書けているでしょうか。 値から 16 進文字列…

APDU コマンドクラスを Kotlin で書いてみる

業務では使っていない Kotlin にはまだどうにも馴染めないでいるのですが、使わないままだとずっと馴染むことができません。ということで、今回 Kotlin を練習する目的で書いてみたのは、普段から Android での取り扱いが心地よくない APDU コマンドです。 A…

Kotlin で Unsigned Byte を使いたかっただけです

世間ではすっかり Java から Kotlin に流れが移っているというのに、日常業務ではまだまだ Java の日々。言語仕様や Java との違いも知らないままに Kotlin でコードを書き始めようと思ったら、Unsigned Byte を使おうとしただけでちょっと面倒だった件をメ…

Android は APDU の送受信を制限しなくていいのに

Android と SIM カードとの間で APDU コマンドの送受信を実行しようと思うと、通常は下記のどちらかの公開 API を利用することになると思います。しかし、一般のアプリ開発者にとってはそのどちらも使いにくい、と言うか著しく自由度の低いものになっていま…