iPhoneのダメポイント

日本人に大人気のiPhone

私も、Xs→12Proと使ってきましたが、iPhoneのココが面倒くさい!と思ったところをいくつか紹介します。iPhoneだからといって、欠点がないわけではないんですよ...

ちなみに、私はアンチiPhone、アンチAppleではないのであしからず。

欠点としては...

 

1.スクショの誤撮影

2.充電端子

3.顔認証(最近はマシになりましたが...)

4.Windowsとの相性が悪い

 

です。

順に説明します。

 

1.スクショの誤撮影

iPhoneは、X(10,テン)世代から、SEを除きホームボタンがなくなりました。これにより、スクショの撮影方法が変わります。従来は、ホームボタン+電源ボタンでしたが、電源ボタン+音量(上)ボタンになりました。しかし、これが厄介で、画面を切ろうと電源ボタンを押すと、反動で音量ボタンも押してしまい、自分のホーム画面のスクショを何度も撮りました。

 

スクショを撮りやすくなったのはいいことですが、写真フォルダ内に、自分のホーム画面のスクショが溢れます。

 

2. 充電端子

iPadですら、USB type Cになる中、iPhoneは未だにlightningケーブルです。私はiPadやノートパソコンも使っているのですが、家や外出先でケーブルを2本用意しなければならないので、面倒くさいです。いつまで独自規格で勝負するつもりですか、独自規格の時代は終わりました、type Cに統一してください。

というか、LightningってType Cが出るまでは、かなり画期的な端子だったと思うんですよね。Appleが規格をオープンにしていたら、今頃はLightningが主流だったかもしれません。

 

3. 顔認証

最近マスクをしていても顔認証が通るアプデが来たので、多少マシになりましたが、顔認証だけというのはやめて欲しいです。アプデ前は最悪で、マスクを外すかパスコードを打たなければなりませんでした。また、光のあたり具合が悪い場所だと、頻繁に認証に失敗します。値段がかなり高い端末なので、指紋認証もつけて欲しいところです。

 

4. Windowsとの相性が悪い

数年前にWindowsパソコンにiPhoneの写真を移動しようとした時、WindowsパソコンとiPhoneの相性が悪くて、動画などサイズの大きいファイルは一筋縄ではいかなかった経験があります。今どうかは分かりませんが、もう少し企業間で連携を取って欲しいものです。

Realforceを買った話

Bluetooth付きのRealforceのキーボードを買いました。

www.amazon.co.jp

超高級キーボードに憧れていたんですよね。

Realforceと関係ないですが、Amazonさん、むき出しでシール貼り付けて送ってきたんですよね。高級品の精密機器の配送としては雑すぎではないでしょうか...

Amazonで3万4千円でした。ちょっと高かったです。

机周りの無線化を進めようと思い、マウス、ヘッドセットと同時にキーボードも買い替えました。打感は、静音タイプなので、キーボード特有のカチャカチャ音はしません。メカニカルキーボードの青軸のようなカチカチ音もしませんが、打ち心地は最高級にいいと思います。静音タイプのキーボードってキーが重くなりがちだと思うのですが、さすがは日本製最高級キーボード、とても軽い打感でスコスコと打てます。カチカチ音のするキーボードでも良かったのですが、深夜に作業することもあるので、あんまりうるさいのは良くないと思ったため、これにしました。

キーの反応深さも、専用ソフトを使えば変えることもできます。

画像の通り、0.8mm 1.5mm 2.2mm 3.0mmから変えることができます。もちろんキーごとに反応深さが変えられて、ゲームで使用するwasdキーだけ軽くする、なんてこともできます。私はタイプミスが多いので、誤入力防止の3.0mmにしておきました。

パソコンデスクの周辺機器の線が全てなくなり、気持ちいいなーとか思ってたんですが、これが悲劇の始まりでした。

Windowsを立ち上げ、Bluetooth接続をしたことまでは、良かったのですが...

BluetoothBIOSで使えない問題が発生しました...

使えなくて困った、と思い、色々調べていくと、BluetoothってOS上でソフトウェア的にペアリングするので、OSの起動する前、BIOS画面では、使えないんですね...知らなかったよ、やっちまった...

なぜBIOSで使えないと困るか、と言うと、私はメインPCをWindowsLinuxデュアルブートできるようにしています。

デュアルブートしていると、OSを起動する前に、起動するOSを選ぶ必要があります。しかし、Bluetoothってソフトウェア的にOS上でペアリングしているので、OS起動前は認識してくれないんです。

わざわざ、拡張カードまで買ったのに...

どうしても無線にしたかったので、BIOSでもBluetooth接続できるような方法を血眼になって探したところ、HID Proxy対応のBluetooth USB Adapterを使うと、BIOSでも使えるかも!ということが分かりました。

blue-red.ddo.jp

というわけで、早速HID Proxy対応のアダプターを買ってみました。

PLANEX Bluetooth USBアダプター Ver.4.0+EDR/LE(省エネ設計)対応 BT-Micro4 | プラネックス | Bluetoothアダプタ 通販

 

買ったアダプターを上記の記事を参考にLinuxでいろいろいじってみました。が、BIOSで認識する気配は一切なし...

諦めて、USBの有線接続を使うことにしました、うーんって感じ

 

買ったアダプタは、i5-3570のジャンクPCに挿しておきました。OSは導入してあるので、そちらでWindowsを起動したときに、Bluetoothに切り替えて使おうかなと思っています。ジャンクPCについては、下記のブログをご覧ください。

ジャンクCPUを衝動買いした話 - パソコン日記

 

で、しばらく使っていて、だんだん不満点が出てきました。

画像を見てもらえばわかると思いますが、テープが貼ってあると思います。なんで、こんなところにテープが貼ってあるかというと、この部分の板がなんか浮いてるんですよね。叩くと、ペチンペチンって音がします。ただ浮いているだけなら、3万円もする高級キーボードなのにこんなのでいいのかよ...で終わるのですが、強めに(といっても常識の範囲で普通に)タイピングすると、この部分から、ベンベンって音がします。これが非常に不愉快でした。おそらく、浮いているところに、キーを打ったときの振動が伝わり、響いてしまっているんでしょう。この部分を押さえて打つと不愉快な音はしなくなるので、テープを貼ってあるということです。ハズレを引いたか、と思ったんですが、Amazonレビューにも同じようなレビューがあったので、仕様なんですかね...

安い中華製品なら許せますが、日本製高級キーボードですからね

日本製は高いけど、あらゆる部分に配慮があって快適に使える、っていう時代は終わってしまったんでしょうか...

うーん、東プレさん...詰めが甘いよ...

 

まとめ

無線化目的ならBluetoothキーボードはやめたほうがいいと思います。BluetoothキーボードはBIOSで使わない場合でも、あんまり評判がよくありません。Bluetoothキーボードって長時間使わないと、休止モードみたいなモードになるんですが、そこからの復帰に毎回1,2秒かかりイライラするという意見もあるんですよね。無線キーボードでRealforceと同じ価格帯なら、LogicoolのG913キーボードの方がいいような気がします。こちらは、ちゃんとUSBレシーバでも接続可能です。(筆者はこれと迷って、Realforceにしたんですよね。Realforceを買ったことについて、後悔はしてないですが、オススメもできないです)

Logicool G ロジクール G ゲーミングキーボード テンキーレス ワイヤレス G913 TKL 薄型 GLスイッチ タクタイル 日本語配列 LIGHTSPEED 無線 Bluetooth 接続対応 LIGHTSYNC RGB G913-TKL-TCBK 国内正規品 : パソコン・周辺機器

ただ、Realforceは、Bluetoothの接続先を4つ切り替えられるので、4つの端末を同時に使いたい、などであれば、いいかもしれません。普通にデスクトップ用で使うなら、有線オンリーのもののほうが1万円くらい安いし、いいと思いました。

AtCoder Beginner Contest 250で失敗しました

AtCoder Beginner Contestでまた大失敗をしました。

失敗したのはC問題です。
C.
こういう、データ構造作ってみよう的な問題で、考察が深まる前に突っ走ってしまうため、実装がごちゃごちゃして失敗することよくあるんですよね...
C問題に時間をかけすぎたせいで時間内ACはできませんでしたが、D問題の方が得意だったりします...
D.
 
というかD問題、終了3分後に解けたんですよね...悔しい...
めちゃくちゃ悔しかったので、C問題のような問題で使えるデータ構造を作って、ライブラリに入れておこうと思い、作ってみました。
struct multi_list{
 vector<int> list;
 vector<int> cont;
  multi_list(int n,int m) : list(n),cont(n) {
  if(m==0) {
   for(int i=0;i<n;i++){
    list[i] = i;
    cont[i] = i;
   }
  }
 }
 void cont_swap(int a,int b){
  swap(list[cont[a]],list[cont[b]]);
  swap(cont[a],cont[b]);
  }
  void idx_swap(int i,int j){
   int a,b;
   a = list[i];b = list[j];
   swap(list[i],list[j]);
   swap(cont[a],cont[b]);
  }
  void print(){
  for(int i=0;i<list.size();i++){
    cout << list[i]+1 << " ";
  }
  cout << endl;
 }
 void sort(){
  std::sort(list.begin(),list.end());
   for(int i=0;i<list.size();i++) cont[list[i]] = i;
 }
};
リストの要素から指定して、要素にアクセスできる、swapできる構造です。というか、C問題ほとんどそのままですね...
正直、実用性は皆無ですが、次似たような問題が出たら、爆速でできるようにしておきたいと思います。

AtCoder Beginner Contest 249に参加した話

AtCoder Beginner Contest 249に参加しました。今回は4完に成功し、目標の水perfを達成することができました。

ネットに詳しい解説があふれているため緑色の私が解説する必要はなく、解説はしませんが、コンテスト中にどういう思考プロセスを取っていたのか(どういう独り言を言っていたのか)、まとめてみます。

 

A.

atcoder.jp

あー、また面倒そうなAが来たよー...
うーん、とりあえず歩くのと休むのをセットで周期として考えれば、いいんじゃないかな?
カッコつけるの面倒だから掛け算の順番変えちゃうか→WA
やっぱだめか...→AC

B. 

atcoder.jp

すでに出てきたやつを記録しておけば、重複してるかわかるな
mapで記録して、1文字づつすでに出てきてるか確認すればいいね→AC

C. 

atcoder.jp

ん?どういうこと?
とりあえずN<=15だし、bit全探索かな?
文字列から選ぶものをbit全探索して、そこに含まれる英小文字の数を数えればいいか...→とりあえず実装

あ、同じ文字列に同じ英小文字が2字以上含まれていると、カウントがおかしくなるな、工夫が必要だな→AC

D.

atcoder.jp

制約的にO(N^2)解法をどうにかしろって問題だな...

A_i/A_j=A_kってつまり、A_i=A_j*A_kだよな

A_jとA_kがA_iの約数ってことか、そういえば約数列挙ってO(√N)とかでできたよな

数列Aに出てきた数字の個数をmapとかでカウント→A_iの約数列挙→その約数とA_i/約数の出てきた数を掛け算したら何通りあるか求められそう

O(N√N)とかで間に合わないかな?とりあえずやってみるか→TLE

あれー...、いらないsortとか消してみるか...→AC(1600ms...?????)

 

補足: D問題は実際O(N√N)で通ります。ただ、mapがかなり重いため、制限ギリギリになってしまってTLEを出したようでした。後で、vectorやunordered_mapを使用したところ十分高速に動作しました。(200ms~600ms)

Geforce RTX3080を買った話

今更ですが、RTX3080を買いました。値段は13.5万円。

RTX3090Tiが驚異の30万円くらいなので、それと比較すると大したことないように見えますが、13.5万円です。10万円を超えています。グラボ高すぎ破産寸前です。

現在常用しているデスクトップPCが3年前くらいのハイエンドからミドルエンドくらい、CPUで言うとCore i7-9700Kなので、RTX3080を搭載してもその実力を発揮できるか微妙です。宝の持ち腐れ。というかそれ分かってて、ロマン!とか言って13万円飛ばしてるの頭おかしい。

そのうち、実力が発揮できるようなPCを組みたいと思います。

とはいえ、使わないで置いておくのももったいないので、しばらくは今のデスクトップで使いたいと思います。

もともと使っていた、MSI GTX1660Tiファン1個タイプと比較してみます。

 

横方向がかなり大きいことがわかると思います。しかも、ヒートシンクがでかいのでやたらと重い。ケースは選びそうです。ただ、縦方向の大きさはそんなに大きくないので、他社製のグラボよりもスマートな見た目です。

デザインはいいと思います。というかあんまりこだわりがないので、どのメーカーも格好よく見えます。

FF15ベンチマークを動かしてみました。参考程度に。

まず、FHD高品質です。

RTX 3080

以前取った、GTX 1660Tiのベンチ結果です。比較用として貼っておきます。

GTX 1660Ti

GTX1660Tiと比較すると、その差は歴然です。さすがといったところでしょうか。

次に、4K高品質です。

RTX 3080

4K高品質でも、快適判定。1660TiのFHDのスコアを上回っています。やっぱり強い。13万円の価値はあるかもしれません。高すぎるけど。

やっぱりRTX3080、激熱です。ケースに入れベンチマークを行ったところ、ケース表面が熱くなりました。GTX1660Tiではそんなに熱くならなかったので、ファンの数とか、エアーフローとか色々考えないと灼熱地獄になるかもしれません...

AtCoder Beginer Contest247で失敗した話

競技プログラミングって知っていますか?

簡単に言えば、プログラミングやアルゴリズムに関する問題が出されるので、制限時間内にプログラムを書いて答える、といったものです。AtCoderでは週に1~2回コンテストが開催され、その成績によって自分のレートが変動します。レートは400点おきに、色分けされており、例えば399→401となると、色が変わります(灰色から茶色)。詳しくは、AtCoderとか調べれば出てくると思います。ちなみに、私は緑色(900くらい)です。

さて、そのコンテストの一つである、AtCoder Beginer Contest247(ABC247)で失敗しました。

atcoder.jp

Beginerというくらいだから初心者向けなのですが、内容は初心者向けとはちょっと言いにくいレベルの問題が多いです。

世の中には、詳しい解説が溢れており、今更レートの低い私が解説する意味もないので、ここでは、私がコンテスト中に解いた問題のうちミスった問題だけ書くことにします。

B

atcoder.jp

要するに2回以上同じ名字や名前が出てきてたらダメってことなんですが、姓名が同じ(Tanaka Tanakaのようなもの)とかいう落とし穴に、見事に引っかかりました。(2ペナ)

こういうのすぐ引っかかるんですよね...

D

atcoder.jp

ここ最近で何度も出てきている、ランレングス符号化です。ランレングス符号化である事に気づき、dequeで実装すれば楽なのですが、一瞬頭をよぎった過去問を脳の隅に追いやり、クエリ先読みに走り、謎尺取法をしました。どう考えても実装で不利、ここで無限人に抜かされました。

レート-21!

はぁ...

ジャンクCPUを衝動買いした話

ハードオフにてi5-2400が1650円で売っていたので衝動買いしました

ジャンクなので動作は期待していなかったのですが、動いたら面白いなぁ、くらいの気持ちで動作確認してみることに

その他の部品はメルカリやAmazonで適当に揃えました

・動作確認環境

マザーボード:Dell(Vostro?詳細不明、恐らくBTOから取り出したもの、メルカリ、i5-3570と合わせて4999円)(LGA1155)

クーラー:Dell純正(メルカリ、1100円)

メモリ:DDR3-1333 2G×2(Samsung、メルカリ、4枚で1750円)

電源:玄人志向KRPW-L5-500W(安いやつ、Amazon、4800円)

SSD:シリコンパワーSSD 128GB(安いやつ、Amazon、2800円)

・余計に購入したもの

Intel純正CPUクーラー(秋葉原最終処分場、300円)

メモリ:DDR3-1333 (Samsung、メルカリ)4枚セットで購入

マザーボードに付属してついてきたi5-3570

ジャンクには初めて手を出したのですが、よく型番を確認しなかったため、余計なものを複数買いました。
CPUクーラーは、LGA775対応の純正クーラーを買ってから穴の位置が違うことに気づきました。その上、このマザボDellの純正クーラー取り付け器具が両面テープでガッチリくっついているので、取り外さないとIntel純正のクーラーはつけられません。ぶっ壊しそうなので、諦めてDell純正クーラーを買いました。

マザボには、メモリスロットが2つしかないにもかかわらず、よく見ずにメモリ4枚買いました。

マザーボードに、i5-3570がついてきたのですが、これついてくるなら、i5-2400いらないじゃんってなりました。ただ、マザボとi5-3570で4999円はそこそこ安いのではないでしょうか。

直置きは嫌だったので、Amazonで中華製の安いベンチ台を買いました。

・外観

f:id:gammatfujita:20220330211152j:plain

 

自作PCパーツでよく売られているマザボは、PWR SWをショートさせないと起動しないのですが、Dellマザボは、PWR SWにスイッチが取り付けられていないと、電源のスイッチを入れただけで起動するようです。

 

i5-3570はともかく、i5-2400はあまり期待していなかったのですが、これがきちんと起動するんですよね。

 

f:id:vcfd:20220401145454p:plain

i5-3570で起動したときのBIOS画面

f:id:vcfd:20220401145543p:plain

i5-2400で起動したときのBIOS画面

じゃあWindowsもいけるか?と思い、早速Windows10をインストールしてみました。

 

起動させてみるとやっぱりちゃんと起動しました。本当にジャンクなのこれ?

f:id:vcfd:20220401151712j:plain

i5-2400で起動したときのWindows画面

一応リマーク品とかだと困るので、CPU-Zで調べてみましたが、ちゃんと正規品のようでした。([FAKE]などの表記はありませんでした。)

で、どのくらい使えるのか気になったのでCineBench R15を回してみました。

f:id:vcfd:20220401152647j:plain

i5-2400のCineBench R15の結果

f:id:vcfd:20220401152816j:plain

i5-3570のCineBench R15の結果

i5-2400:424cb

i5-3570:491cb

でした。

まあ、10世代くらい前のCPUなので、そんなもんですよね。ただWebページ見るくらいなら、問題無い感じです。

 

f:id:vcfd:20220401162019p:plain

i5-3570でMinecraft1.8.9を起動してみました。メモリが足りないので、少しもたつくことがありますが、基本40~50fpsくらい出ていて普通に遊べます。i5-2400では動かしていませんが、まあ同じようなものでしょう。ただ、CPU使用率がMinecraftくらいでも乱高下していたので、重いゲームは無理そうです。