私が歌川です

@utgwkk が書いている

#プログラミング原体験

「プログラミング原体験について記事を書く」というメモがずっと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まで、と決めている。一般的なラーメン屋なら、麺を増やさなければ超過しないはず。二郎系ラーメンなら、適宜麺の量を調整する必要があるかもしれない。苦しむ前に踏みとどまる勇気が必要。初めて行く店なら、麺の量を前もって調べたり、店員さんに聞いたりする必要があるかもしれない。

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


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

新しいスマホの購入を検討

iPhone 12 miniを買うことにしました。あとで新モデルが発表されてもそういうことだと思うことにします。

(追記ここまで)


スマホが壊れると普段の生活に支障をきたすので困る。今回は復活したからよかったけど、壊れる前兆を示したとも取れるので、今のうちに新しいスマホを検討しておく……。

このスマホ (Pixel 3a) を使い始めてから今日で573日が経過していた。1年と7ヶ月弱ぐらい。2年は持たなかったかー。

もともとは親にiPhone 7とかを買ってもらっていたのだけれど、これからは自分のお金で買いなさいということになって、最新iPhoneを買うほどの財力はなかったのでPixel 3aにした。iOSからAndroidに変えたら有償ポイントが引き継がれなかったり、モバイルSuicaの洗礼に遭ったりして大変だったけど、もう慣れた。

iPhoneに戻ってもいいかもしれないけど、またデータ移行について考えるのも面倒な気がする。しかしながら、iPhoneを使っていた頃は2年以上不自由なく使えていたので、長持ちを期待するならiPhoneのほうがいいのかなとも思いつつある。

とりあえず、ぼくがiPhoneを購入しようか迷っている段階で新モデルが発表されそうになっていたら誰か止めてください。

中学校の卒業式が終わり、もう来ないからと各自が好き勝手に教室のロッカーに荷物を押し込んでいた。棚の上を見るとMIDIキーボードが大量に置いてあった。そんな中ズボンが見つからなくて教室中を探し回っていた。

すっかり暗くなってしまったと思ったけど、教室中の窓に段ボールが打ち付けられていた。他の人たちも戻ってきていて、ロッカーの中身やMIDIキーボードをくすねている。探し回っているうちにズボンをはいていることに気づいた。荷物を抱えて教室を出る。

吹奏楽部が練習してるので迂回して帰ってくださいと言われたけど迂回路が分からず怒られた。天井の低いすべり台みたいなところが正解だったらしい。荷物が引っかかるけどなんとか通った。廊下じゅうに生徒がたむろしていてスペースがない。

アパートの部屋のドアを通ると外に出られた。ここは4階だった。階段が見つからないので非常階段から下りることにする。すべり台になっていたので一瞬で下りることができた。

家の車が迎えに来ていたので飛び乗った。みんな目や精神をやられてしまった、という話を聞いていたら友だちが車に正面衝突してきて、危ない危ない! って言ってたら目が覚めた。

/usr/share/dict/words をgrepすると意味のある単語がいっぱい出てきて楽しい

i18nのリストが一発で出せます。

% grep -E '^i.{18}n$' /usr/share/dict/words
institutionalization
intercrystallization
interdifferentiation
internationalization

i10nガチャも簡単に実装できます。

% grep -E '^l.{10}n$' /usr/share/dict/words | shuf | head -n5
lubrifaction
labioversion
longshoreman
lepidopteran
lanceolation

ゼロトラストネットワーク

ゼロトラストネットワークを構築する予定は今のところないけど、おもしろそうだったので読んだ。

境界ベースのネットワークセキュリティは侵入されると無力、というのはよく事例を見聞きしていたので実感がある*1。イントラネットは安全という前提を棄却したネットワークの作り方みたいな話。

ゼロトラストネットワークの事例の章を読むと、Googleには無限とみなせるリソースがあるのできました、ということがさらっと書いてある。魅力的に見えても所属する組織で実現可能かどうかはまた考えないといけない。一般にGoogleほどのリソースを持っていることはまずないと思う。

Googleはリソースによる制約を受けなかったので、従来のネットワークセキュリティパラダイムを葬り去るという壮大な目標に向かって突き進むだけでよかった。

*1:みなさまも毎月のように不正アクセスによる情報流出のニュースを目にしていると思う