私が歌川です

@utgwkk が書いている

巨大なプールにタコが放し飼いされている。こっちに来ないように網で押さえておこうとしたら口から細かい粒子でてきた弾? を吐き出した。慌ててプールから上がると、このご時世なのに人がめっちゃいた。

座敷の飲み屋で知らない人6人ぐらいと飲んでいた。コロナが悪い、コロナ最悪! と意気投合していた。目の前にいた人がグラスを割って、すみませんすみませんと言いながら片付けていた。

エンジニアの知的生産術

アイデアを生み出す方法とかは「知的生産の技術」にも似たようなことが書いてあったと思う。あちらは50年ぐらい前の本で、こちらは2年前ぐらいに出た本なので、50年分ぐらいノウハウが発展している。電子機器が普及して選択肢も広がっている。とにかく書き出すとか、漠然とした目標を具体的にするとか、自然と実践していることも書いてあった。

デザインパターンの本を読むと、具体的な経験からデザインパターンを見いだしやすくなるけど、具体的な経験なしにパターンだけを習得することはできない、といういい話が書いてあった。GoFデザインパターンの本は眺めたことがあるけど、やったことがあるもの以外はよく分からなかった。 どうでもいいけどデザパタ本を読んだときのScrapboxに書いてある「体系化された野生の勘」っていう表現がおもしろい。1年前の自分はいい言葉を使っていたと思う。トライアンドエラーが大事みたいな話。

知らなかった、ありがたみの分からなかったパターンについてのありがたみを分かるようになるには、事例をもっとちゃんと読み解くとか、素朴な方法で実装してみてこれではあまりにつらすぎる!!! という経験をしてみるのが大事なのだろう。

野生の勘だけでコードを書いているのではないかという念 - 私が歌川です

勉強したいけど、何をどうやって学べばいいのか分からない、と思っている人はとりあえず1章と7章だけでも読むといいと思う。残りの章も読んでいくと方法論が分かるみたいなイメージ。


読書ノートはこちら。キーワードの列挙と引用しかないのでこれだけ読んでも何がなんだか分からないと思う。

scrapbox.io

iPhone 12 miniを買った

blog.utgw.net

昨日届いて、今日開封した。注文したのは4日前なので思ったよりだいぶスピード感がある。

見た目

ホームボタンがない

最後に使っていたiPhoneは、iPhone 7だったと記憶している。Touch IDがあり、指紋認証で画面ロックを解除できた。Pixel 3aにも同様の機能があった。

画面の交換だけしてもらおうかと思ったが,1週間代理機を使うことになると聞き,そしてそれが iPhone 6S ということなので,Apple Pay が使えず,さすがに何かあったときに困る

iPhone を修理(交換)した - 私が歌川です

iPhone 12 miniには、ホームボタンがない。そして、Touch IDではなくFace IDが入っている。顔認証である。

Face IDの設定は、iPhoneのインカメラを見て顔をぐるっと動かしていたら終わった。Face IDによる認証が通ったら画面ロックが解除されるのではなく、その後に画面下から上に向かってスワイプしないといけないのにまだ慣れていない。これ自体は慣れればいいか。

問題は、昨今の新型コロナウイルスの流行の事情でマスクをして外出しているときである。Face IDの設定は家の中で行ったので、マスクをしていなかった。外出するときは基本的にマスクをしているのだが、Face IDによる認証が通らず、毎回パスコードを打ち込んでいる。これでは利便性が低い。マスクをした状態でもFace IDを設定したほうがいい? マスクの有無によらず同一の人間を判定するというのは、人間が行っても難しいタスクだと思っている*1

小さい

思ったよりも小さい。Pixel 3aがまだ手元にあるので重ねて比較してみたけど、高さが親指の幅ぶんぐらい違う。最近のスマホは大きくなりがちだったので、元のサイズに戻っただけともいえる?

LINEを見たところスタンプが巨大に見えた。昔はもうちょっと小さかった気がする? これもそのうち慣れるであろう。

データ移行

基本的に、アプリ内で引き継ぎ設定を行っていたか、ログインし直せばよいかのどちらかだったので、意図せず大事なデータが消えるということはなかったと思う。例外もある。

LINEのメッセージは移行できず (2度目)

LINEのメッセージは、同一OS間 (iOS同士、Android同士) ならアカウントの移行で引き継げるという認識である。が、それはメッセージのデータがiCloudなどのクラウドデータストレージに保存・同期されているから、という話のはず? Android → iOSにメッセージを移行するのは失敗した。

LINEで重要な連絡は取っていない*2し、LINEスタンプの購入情報やLINE Payの残高が消えないならそれでいいか、と割り切っている。LINEのメッセージはそういうものであると思って使っている。

関係ないけど、キャリアメールのデータもとっくの昔に消失した。

モバイルSuica

LINEより厄介なのがモバイルSuicaである。今度は年会費を払ってしまうことにはならなかったけど、以前iPhoneを使っていたときにApple Payに登録していたSuicaを復活させる、ということはできないようであった。iPhoneを使うのをやめたときに退会していたっぽい? どういう状態だったのかはもうよくわからない。

Android (Google Pay) に登録していたSuicaは退会・払い戻しをすることにして、またApple PayにSuicaを登録した。OS間をまたいだSuica移行の知見あったら教えてください。もう遅いけど……。

これは移行手順をちゃんと考えたら回避できたのかもしれないけど、まあいいか。

Google Authenticatorの移行が便利になった

不便だった話をしてきたけど、便利になったものもあった。Google Authenticatorである。

二要素認証にGoogle Authenticatorを使っているのだけれど、従来は二要素認証を有効にしているサービスに行って登録し直す必要があったはず。それが、移行元のGoogle Authenticatorアプリで巨大なQRコードを出力し、移行先で読み取るだけで移行が終了した。

やっていきましょう

日曜日を全部使ってアプリの移行をやった。たぶん通常通り生活できるようにはなったはず。足りなかったら都度インストールしていく。ここまで書いた時点でインストールすべきアプリのことを思い出した。

*1:マスクをした他人を遠目に見て、知り合いだと誤認したことがある

*2:知り合いとスタンプを送り合うぐらいしかしてない

#プログラミング原体験

「プログラミング原体験について記事を書く」というメモがずっとGoogle Keepに残っていたので書いた。書いたら思ったより分量があった。


プログラミングを始めたきっかけは、CGIの本を買ったから、ということになる(!)。パソコンでできる暇つぶしを通過した中にプログラミングがあった、みたいな感じ?

プログラミングを始める前は、RPGツクール2000でゲームを作って公開するためのホームページを作ったり*1、しょぼいFlashアニメを作ったりしていた。ジオシティーズとかinfoseekとか、無料レンタルサーバを転々としていった。今はどのサービスも終了していそう。

Perlに入門して掲示板CGIを書きましょう、という本を読んだのがプログラミングを始めたきっかけだったと思う。これが小学生のときの出来事? Perlを書くときは use strict; use warnings; を書きましょうとか、変数宣言を行いましょうとか、そういうことは本には書いてなかった。txtファイルに1行1投稿で追記していくと掲示板ができるのじゃ、という知識レベルだった。jcode.pl を使うと文字コードを変換できてよいですぞ、ということも知った。

それから高校に入るまで、webアプリケーション開発の知識がCGIで止まっていた。 print "Content-Type: text/html\n\n" というのはHTMLを出すためのおまじないだとずっと思っていたし、周りに教えてくれる大人はいなかった。


中学生の頃は何も作ってない気がする。部活がそれなりに忙しかったというのはありそう。情報の授業はタイピングをしてネットサーフィン*2してたら終わった。


高校に入ってちょっとしてからRubyを使いはじめた。Rubyを使っていた頃の記録がこのブログにも残っている。ディレクトリ中のファイル一覧を取得したときに出てくる .. が何か分からずにコメントで教えてもらっていたけど、最初はこんなもんだと思う。たまに検索でRuby忘録を読んでる様子がアクセス解析から見れて、こんなしょうもない文章を読んでもらってすいませんという気持ちになる。

それからいつの間にかPythonを使うようになって、今もPythonを書くことが多い。2013年ぐらいはTwitterのbotを作るのがイケてる、という時代だったのでbotを作っていた。なぜか素数判定にハマっていたので、素数判定を行うだけのbotができた。

blog.utgw.net

さっき見に行ったら今も元気に動いていた。試し割りで素数判定しているので、そのうちGoogle App Engineのタイムアウトに引っかかって破綻するであろう……。

Twitterのほかには、CroudiaっていうSNS*3に登録してわちゃわちゃやっていた。REST APIが公開されてすぐに、Python向けのCroudia APIラッパみたいなのを作ったけどソースコードは紛失した。この頃にはGitHubアカウントを作っていたはず。

高校の情報の授業でHTMLを打ってホームページを作りましょうというのがあって、すぐに完成してやることもなかったのでJavaScriptでページ上を跳ねる顔文字を作ったら、先生に「目ざわりですね~」と言われた。情報の授業の思い出がそれぐらいしかない。

高校までは、どこかのプログラミングコミュニティに属するみたいなこともなくて、Twitterが一番広いインターネット世界だったと思う。情報収集はぜんぜんできていなかった。作品を自慢し合う仲間みたいなのが身近に欲しかったなーという気はする。

大学に入ってからは、皆さまもご存知の通りです。


プログラミングで将来一発当てるために小学生の頃からやっていくぜ、みたいな気持ちは絶対なかったと思う*4。たまたま趣味の1つが今につながっている、みたいなイメージ。


みなさまの原体験も気になるのでハッシュタグっぽい感じにしてみました。

(追記ここまで)


原体験いくつか書いてもらっていてありがたい。ものを作れる面白さ、みたいなのはゲームでもFlashアニメでもあったと思うけど、完成させて動かす面白さを実感したのはプログラミングが初めてだったと思う。

魔法の原理で動いていると思っていたものの正体がつかめると一気に面白くなる、みたいなのもあるかも。

papix.hatenablog.com

anatofuz.hatenablog.com

(追記ここまで)

*1:1作も公開してなかったと思う

*2:死語っぽい

*3:2017/12/30 にサービス終了

*4:あったらすごい!!

多すぎる麺は身を滅ぼす

ラーメン屋で、麺の量を並から増やして、食べるのに苦労したり、食べきれなかったりして後悔することがしばしばある。そのような誤ち、悔しさを二度と味わうことがないようにスローガンを決めている。それが「多すぎる麺は身を滅ぼす」である。

目安として、麺の量は200gまで、と決めている。一般的なラーメン屋なら、麺を増やさなければ超過しないはず。二郎系ラーメンなら、適宜麺の量を調整する必要があるかもしれない。苦しむ前に踏みとどまる勇気が必要。初めて行く店なら、麺の量を前もって調べたり、店員さんに聞いたりする必要があるかもしれない。

我々はもはや、麺を増やして満足できる境地にはないのである。麺を増やすことが足枷にすらなる。増やさない、という選択が積極的に求められているのである。


こちらは多すぎる麺は身を滅ぼすグッズです。これを着てラーメン屋で麺を増やさない生活を心がけよう! 私はどれも持っていません。