Apple SiliconのMacが爆速で

Apple M1チップ搭載のMacBook Airが出てきて、それが期待以上の爆速っぷりで、このまえIntelMacBook Airを買った俺涙目やんけ!って思ったりもするのだけど、Android Studioとかが安定して動くのはいつになるのかということを考えると即いまのIntelのものを置き換えれるわけではないし1年後くらいに買い換えるのがベストタイミングのような気もしてくるのでちょうどいいかなと思い直した。

 

 

Appleがこんなに速いとはIntelも終わってしまうのではという憶測も流れているが個人的にはこれまで何度も苦境を乗り越えてきたIntelだから今度もめっちゃ頑張ってくれるのではないかと期待している。そもそもこれまでIntelがノートPC用のCPUの性能をあまり上げる方向ではなく消費電力を削減してコア数を増やす方向とバランスをとっていたのはかなりの大口顧客であるAppleの意向もでかかったはずだし、マーケット的にコア数が多いほうがウケるみたいなところがあったような気もするので。そしてA13/A14あたりでリオーダーバッファとパイプラインをバカみたいに増やせばそれなりに効果が出るということが証明されているので、そっち方向に全振りしたコアを2年後くらいに出してくることはIntelならできるんじゃないかという気はするのだ。

 

 

なので、いまのM1チップは最大16GBだったりするのが微妙だったりするけど、次のApple Siliconはこのチップのパッケージに内蔵された16GBの他に少し遅い外部メモリが接続できて「最大80GBのRAMをサポート」ってなってくるに違いないと思うし、Intelは2年後には「TigerLakeに比べて1.5から2倍高速にしました」みたいなやつを出してくるに違いないのだ。これはとても楽しみだ。

C言語が難しい理由

最近Quoraでリクエストされた質問に回答したりしているのだけど、それなりの頻度で見かける質問に「C言語が難しいのはなぜですか?」みたいな質問があるように思えた(しかし、調べてみたところ実際にはそんなに何度も質問されているわけではなかった)。

 

 

C言語は言語仕様的にはそれなりに簡単なはずである。しかしC言語を第一線で使って戦えるようになるのは若い人には難しいと思う。なぜならC言語はここ30年くらいあまり変化がないから、30年間ずっとC言語をやってきたような達人と戦わないといけないからなのだ。比率的にニワカが少ないというそれだけで難易度が上がる。組み込みLinuxなんかだとC言語から直接システムコールを叩いたりしているコードがあり、C言語システムコールそれぞれに「xxしてはいけない」みたいなトラップがいっぱいあるが過去の互換性からその仕様を変更できずトラップがトラップのまま存在している。

 

 

文字列をコピーしたいと思って「C言語 文字列のコピー」で検索すると「strcpyを使えばいい」と書いてあるページがヒットする。でもstrcpyなんて今どき何も考えずに使うと完全アウトな関数である。「strcpyを使ってエラーになるVisual Studioではstrcpy_sを」とか書いてあったりするがVisual Studio以外でもstrcpy_sを使うべきなのである。しかしstrcpy_sはC11の仕様なのでそれより古いコードのメンテでは使うことができず、そしてそういうプロジェクトではstrcpyが危険だからという理由で自作の文字列コピー関数が使われているがそのドキュメントがなく結局実装を読まなければいけなかったりする。

 

 

そりゃPythonとかのほうが楽でしょ。

500円玉貯金に対抗して5000円札貯金を始めてみたけどすぐ挫折した

世の中には500円玉貯金という微妙に意味があるのかないのかわからない貯蓄法があるらしい。

 

財布の中の500円玉を貯金箱に入れていくだけの簡単な方法で、いつの間にかしっかりとお金を貯めることができます。

 

手軽にできて挫折しない!500円玉貯金が圧倒的に貯まる理由 | リクナビNEXTジャーナル

 

日頃から少しずつ努力することで金が溜まっていくのは魅力的であるし、「500円玉貯金をしているんだ」っていうとなんとなく偉いみたいな雰囲気すらある。しかし僕の直感はそんなものにはまるで意味がないと告げている。だいたい「2年間で30万円溜まる」などと言われてもいまいちピンと来ない。もし2年間経ってイマイチだったらどう方向修正するんだ。2年間はスプリントとしては長すぎるのだ。

 

 

なので5000円札貯金をはじめてみた。これなら2年間の1/10、約2~3ヵ月でケリがつく。でもまあ2週間くらいでだいたいの方向性はわかるだろう。ルールは下記のようなものだ。

  • 財布の中に5000円札があったら、家に帰ったあと引き出しの中の紙袋にしまう。
  • ただし、汚い5000円札だったら、しまわずに使ってしまう

たいへん簡単である。500円玉貯金は「貯金箱さえあれば始めることができます」と謳っているが、こちらは銀行のATMコーナーで無料で入手できる紙袋が1枚あれば始めることができ、スタートアップコストの少なさが圧倒的である。

 

 

 

やり始めて分かったことは、とにかく

「財布のなかの1万円札がすごい勢いでなくなる!!」

ということだった。僕は財布の中にお札がたくさん入っているのがイヤなので、1000円札が溜まっていてプリペイドカードの残額が1万円未満だった場合、チャージして財布を薄くしようとする癖がある。この癖と5000円札貯金が合わさるとどうなるか。少額の買い物で1万円を崩して、財布の中に1000円札4枚と5000円札が1枚になったすぐあとに3000円をチャージしてしまい、5000円札は貯金用にキープになるから、自由になるお札が1000円札1枚になってしまう。そうするとその次の次くらいの買い物や食事でまた1万円札が崩れることになるのだ。

 

こうして二週間が過ぎたとき、僕の引き出しの中の5000円札は9枚、計4万5千円分になっていた。しかもSuicaNanacoの残額も始める前とくらべてそれぞれ5000円ずつくらい増えている状態になった。この調子だと1ヵ月で10万円を貯金することができる算段になる。これはすごい。なにしろ巷の500円玉貯金の10倍の速度で貯金ができているのだ。

みんな500円玉貯金なんてやってる場合じゃないぞ。これからは5000円札貯金だ。だって、財布の中で邪魔になった5000円札を引き出しの中にしまうだけで、いつのまにか、年間120万円も貯金できるすごい方法なんだ。。

 

 

さてみなさんには、こんなことには意味がないということはおわかりだろう。

  • そもそもそんなに貯めれるやつは、もともと月10万円を余らせてもいい余裕があるやつだけである。
  • 5000円札9枚が手元にあるということは、その分、5000円札貯金をしないときと比べて、銀行口座の残高が減っているはずである。だから実質的に意味がない
  • 月10万円手元に残すくらいなら何かの投資に回した方がよくない?

そして、これは、そのまま500円玉貯金にも同じことが言えるのである。たぶん。もちろん500円玉貯金には「だんだん貯金箱が重くなっていくプロセスが楽しい」という人も居るだろう。しかし5000円札貯金にはそれ以上の「すごい勢いで普通預金の残高が減っていくのが楽しい」というカタルシスが味わえる。貯金法としてはなんの意味もないが、一度試してみてもいいとは思った。

世界のありようが変わってしまうのか考えると怖い

緊急事態宣言が解除されて街に人が増えてきているようだ。僕はこの4月も5月も普通に仕事がめちゃくちゃ忙しくて出社しないといけなくて地獄を見ていたのでよくわからんが仕事がなくて暇にしていた羨ましい人たちが多かったみたい。国民全員に10万円を給付するというやつも、冷静に考えるともともと働いていなかったような人はコロナ騒ぎで収入が減ることもないわけで、なんでそんなやつらに給付しないといけないんだよという気にもなるが、もともとの30万円給付案よりは全然マシである。なんといっても元の案は

世帯主の月間収入(本年2月~6月の任意の月)が新型コロナウイルス感染症発生前に比べて減少し、かつ年間ベースに引き直すと住民税非課税水準となる低所得世帯を対象とする

みたいな変な案で、たとえば僕の知っている家庭で、「夫が年収900万円、妻が年収600万円なんだけど世帯主は妻のほう」みたいなのがあるんだけど、それで妻が今年育児休暇を取って6月に無収入になってたら上記の条件に完璧に合致して対象になるわけだが、でもそれで窓口に行くと、「夫の稼ぎが多いのでダメだと思いまうよ」みたいな窓口独自ルールによってハネられて「なんだそんな条件どこに明文化されてるんだよバカなんじゃねーの?」みたいな問題が発生すること間違いなしなのである。

ちなみにその夫のほうに「10万円給付されるらしいじゃないか」と聞いたんだけど「どうせ俺の口座には何も振り込まれないしよくわからん」という反応であった。

 

 

話はそれたけど持続化給付金も特別定額給付金もこれまでの政府からは考えられない大判振舞いであり、しかも別に日本だけじゃなく世界全体でこの流れになっているということであって、これはいよいよMMT時代ということになってしまうのかと思うわけだけど、僕らはこれまで基本的に建前としては緊縮しつつそれはあかん財政拡大せよ的な流れのなかでこの40年を生きてきたのであり、それから外れると何が起こるのかよくわからないというのが割と恐怖なのである。特に日本は自動車以外に輸出産業があまりなくて、90年代のように電気製品も半導体も鉄鋼も素材もバリバリ輸出してて俺たちには価値があるんだっていうときであれば貨幣の価値が水泡に帰しても全く平気だったわけだけどいまみたいに働ける人口が減っていて技術もなくて貿易赤字が続いているような状況で貨幣の価値が低下してこれまでの投資が実質的に目減りするようなことになれば日本の将来がヤバくなってしまうのではないか。実態が分かっていない連中は米国のようにサービスで儲ける時代になったんだということをしきりに言っているが実際のところAmazonGoogle PlayApple Storeにアホみたいに金を吸い取られているような状況では、いったいお前らは何を言っているんだという気分にしかなれない。

 

内心ではコロナがもっと続いていろいろ淘汰されたうえで新しい世界が来るならまあそれはそれでいいかという気もしていたんだけど、日本では奇跡的に死者も少ない状態で感染が抑えられていて、それはそれで素晴らしいことではあるのだけど、これによってあまり街の雰囲気はこれまでと変わらないくせに世界ではいろいろ変わってしまってついてけなくなったりするんじゃないかというのも怖いのだ。

 

だからといって自分の異常に今の仕事が多忙な状況ではなにかを行動する元気もなくて、ただただ世界がある程度変化しても生き延びれるようにできる範囲で準備しておこうってくらいでしかないんだけど。だって今月まだ5日しか働いてないのに残業時間がもう30時間に到達してるんだぜおかしいよね。

8ビットパソコンの話

8ビットとか16ビットのパソコンの昔話をするおっさんよく居ますよね。僕もそんなおっさんの一人です。でもさ、当時僕らは子供だったわけで、そのときに新機種が発表されたのを知るのはパソコン雑誌なわけじゃないですか。そうするとその雑誌の記事がどうだったかでその機種の印象が割と左右されてしまう。さらに、そのころに持ってた知識量なんてごくごく限られているわけで、どうしても限定的な‘理解しかできないままその機種について語ってしまう感じになりがち。

 

 

インターネットのWebページでいろいろ過去に関して語られているのを見ているので当時よりは偏見は少なくなっていろんな情報を多面的に見ることができるようになっていると思うけど、でもたとえば「どうして88SRとか98VMはあんなに覇権を取れたのか。88SRとか98VMが他機種に比べてよかったところってなんだよ」みたいなところに関しては意見が分かれちゃうところだと思うんです。

 

 

「日立のS1って8ビット最強って言われてたけど何が最強だったのか」みたいなやつ、1MBのメモリが扱えるというのは確かにすごいけど、それが当時のユーザーにとってどれほどのインパクトがあったのか、みたいなところはよくわからない(だって当時ってVRAM48KB/メインメモリ64KBで全然十分やってけるぜ、みたいな雰囲気なかった?)。

 

 

他にも、X68000を持ってなかった人にとってみればX68000は夢のように何でもできるパソコンという印象だったみたいですが、X68000を持っていた僕にとってみれば「たしかに使ってて楽しいけどとにかくCPUが遅くてつらい、グラフィックはピクセルが正方形じゃなくて横長でつらい、PCG定義数が少なすぎてつらい、FM音源でPSGの音がそれらしくならせる定番の音色パラメータが普及するまでは音楽の移植もちょっと難しい」みたいな割と難しい機械だったんです。X68000の画面解像度が256x256/512x512じゃなく、320x240/640x480だったらどれだけ良かったことかと(ピクセルクロックが25%くらい上がっちゃうので技術的にできなかったかもしれないが)。

 

 

ちなみに最初の話に戻って、個人的に88SRが良かったと思うのは、他のシリーズがグラフィックの表現力を上げて4096色表示とかをサポートしていく中、最後まで512色中8色のスペックのまま突き進んだうえ、継続して速度向上を進めたところでした。要するにSR以前の88の最大の欠点はグラフィックの表現力に対して速度が遅かったことであり、それをNECはわかっていたのかわかっていなかったのか、SR、FH、FE2と着実に速度向上がなされました。もちろん同時発色数が少ないのも課題ではあったんだけどNECはそれよりCPU速度向上と音源拡充を選んだ。その選択は割と当時の風潮やユーザーの要望からズレていたけと思います(僕らはたぶん、多色化やハードウェアスクロールや多色化を望んでいました)。ユーザ要望に沿わなかったことが結果的に正解だったということだと僕は思ったりもするのですが、実際どうだったんだろうってのはよくわかりません。

「内定辞退者がパワハラで自殺」ってやつ、割とつらい

この話だ。

 

nlab.itmedia.co.jp

 

この内定者を登録させていたSNSでは内定辞退する学生への対応としていろいろなことが人事担当者にアドバイスされていたようだ。

 

 

しかしこれはひどい。どういうデータをもとに「内定辞退を考え始めた学生は人事担当者や同期とのコミュニケーションを無意識のうちに避けるようになります」などということを言っているのかがわからん。僕のように本人はナチュラルな状態で居るのに、他人からはコミュニケーションを避けていると見られがちなやつが居るということを全く想像できていない。一般的にそういうところに相関関係があったとしても、各企業の人事担当者が担当する数十人というレベルでの個々の学生には個々の理由があって、それの理由を勝手に決めつけて対応するのはあまり良くない。

 

 

僕はどうだったか。会社に内定していて就職までの間どうしていたかを考えると、会社への連絡や提出物については最初の数回だけはまともだったがその後は卒業まではほぼギリギリか期日に遅れるような状況だった(当時は提出物は郵送で送らないといけなかったが、毎回完成させるのが締め切り前日または当日で、いっつも速達で郵便局まで持っていって出していた)。でも内定辞退なんて考えは毛頭なく、単純に、今後十年以上帰属するかもしれないコミュニティに提出する文書はそれなりに気を使って書かないといけないと思うといろいろ悩んでしまってなかなか書けなかったというだけのことだったのだ。そんなときにもし上のようなSNSでしつこくフォローされたり、やる気がないなどと罵られたらどうなるかというとそりゃもう内定辞退もしたくなってくるだろうと思う。

要するに返答が遅れがちなのはそいつなりの事情があるんだろうからそっとしといてやれよということなんだ。

 

 

それにしても、仕事が忙しすぎたりものすごい失敗をして他の人にめっちゃ迷惑をかけそうとかで自殺するとかいうのはわかるんだけどさ、この入社前の人事とのやりとりとか、あと去年の三菱の新人教育中の自殺とかはマジで意味がわからなくって、だって別にそいつのせいで仕事で損失を出したりしてなくて、そこの人事とか教育係と仲が悪くなったっていうそれだけのことじゃん。うまくいかなかったらその会社やめて他に行ったらいいだけじゃん。それはそれででかい会社だと「会社全体がそういうわけでもないでしょうに。その一担当者と折り合いがわるかっただけで… ちょっともったいないんじゃね?」とか思ったりもするけど、いつでも内定は蹴っていいし会社を辞めてもいいという気分で生きていってほしいと思いました。

 

 

僕は就職後しばらくは大学のときの知り合いに合うたびに「いつ辞めるんだ?」「まだ辞めてないのか??」と言われ続けてて、当時はなんて酷いやつらなんだって思ったんだけど、最近の自殺のニュースについていろいろ考えてたら、あれはあれで気が楽になって良かったのかなと考え直した。

「底辺声優の所感」を読んだ俺の話

やりたい職業はたぶんあった。ゲームを作る仕事がやりたいと思っていた。でもなんとなく微妙な気がしたので大学に進学した。大学で勉強している途中にゲーム業界に自分の居場所があるかどうか不安になって、より需要が安定してそうな組み込みプログラマになった。こんな僕からすると高い競争率の中で声優になることを志してずっとがんばってきたのに次にまた競争率の高そうな大学教員を選ぶこの人はとても強そうですごい。頑張ってほしい。

 

 

この下は自分語りなのでもうほとんどの人は読まなくてよい。

 

 

さいころはいろんなことがやりたかった。小学校高学年になってからゲーム好きになってBASICで簡単なゲームなども作れるようになったので将来はゲーム作る人になったりできたらいいなあと思っていた。けど僕はそっちの進路に近づきはしたけど結果的にゲーム屋さんにはならなかった。答えは今から考えると明らかであり、それは僕には勇気がなかったからというのと、客観的に世の中を覚めた目で見過ぎていたからだということだ。

 

自分が高校を卒業したころは、ゲーセンではストリートファイターIIが大ヒットしていて、家庭用ではスーファミが出てきてゲームの規模がめちゃくちゃ大きくなって、というビデオゲームの黄金期を迎えていた。当時のパソコン雑誌のメジャーどころであるI/OとかPIOとかを見ていてわかっていたが高校生でアセンブラでそこそこの規模のゲームを作って雑誌に投稿しているような人が全国に何人も居た。彼らは卒業後、あるいは卒業するのを待たずに大きなパッケージゲームを作る仕事をしたりしていた。ゲームの雑誌を見ると社会人になるまでプログラムをやったことがなかったような人でもゲームプログラマになったりしていたが、それはたまたま偶然それができるようになったのがゲームの規模が小さかったころで、そのころにちょうどその仕事を始め、実力もあったり、境遇に恵まれたからできたというもののようにも思えた。彼らはビデオゲームがもっともっとうさんくさかった時代に仕事を始めた世代で、僕らみたいにスーパーマリオドラクエが中学生の頃にヒットして、ゲームを作りたいと思うガキんちょが量産されてしまった世代とは違うのだ。僕らの世代のなかでゲームを作ることを仕事にして頭角を現すためには学生のうちから抜きんでている必要があるのではないだろうか。

 

こんな実力ではだめだ。だってアセンブラで数100バイト書くだけで頭が混乱してきてしまう。64KBオールマシン語でプログラムを書くなんてどうすればできるんだ。でも市販のゲームはだいたいオールマシン語であるべきだしそれができないやつはプロとしては二流だ。業界に入ってからも成長できるという楽観的な考えもできないことはないが、ゲーム業界はもうめちゃくちゃ巨大な産業になってしまっているけど、それでも働いている連中は若い人ばっかりだ。つまりいまの20代のスタープログラマーたちは10年後も20年後もずっと現役プログラマーで居続けられてしまう。これからそこにさらに才能あふれる高卒の連中が参入していく。とするとそこにまぎれた僕はなにか彼らから抜きんでて存在感を示せるだろうか。無理じゃないだろうか。

 

こういうときはモラトリアムに頼るしかない(当時はモラトリアムなんて知らなかったが)。そんなわけで情報系の大学に進学するという潰しの効きそうな進路を選んだ。4年間、大学でコンピュータの勉強をする傍らゲームを作ったりして、それでいけそうならそのときにゲーム会社を検討すればいい。

しかし大学に行ってみるとそこには化け物がいっぱい居た。ジャンクで買ってきたハードを自分のマシンに強引につないだあげくデバイスドライバがないから自作しちゃうやつとか、自分が使ってるマシンにUnixを移植しちゃう先輩とか、ゲーム会社のバイトのくせに主力プログラマーとして活躍してるやつとか、そんな奴らだ。

さらにそのころになるとゲームの大規模化が激しくなり、100人以上の体制でゲームを開発することも普通にみられるようになった。大学のサークルやバイトなどでの大きな開発に携わったこともあったが、少し手伝ったときにスタッフロールなどに名前が載ったり載らなかったりした。ほんのちょっと手伝っただけでスタッフロールに載ったり、がっつり手伝ったのに載らなかったりすると、もうスタッフロールなんて信用できない、みたいな気分にもなった。そのころには64KBオールマシン語のプログラムも楽勝で書けるようになっていたけど6年くらい遅い感じだった。

 

自分がしたいことは何なのだろうか。これまでにないゲームを作りたいみたいなものがあった。自分のセンスでイケてるゲームをつくって、世の中に新しい潮流を粗削りでもいいから示したいみたいなそんなやつ。でも進路について考えていたころにちょうどマリオ64が出て、その後バーチャファイター3が出てきて、それらに込められたチャレンジと精緻な作り込みに衝撃を受けた。世の中ではもう新しいから粗削りでいいよねでは済ませられないのだ。ここまで新しいゲームがここまで完璧に作りこまれて世の中に送り出されてくる時代になってしまった。この困難なミッションをやりとげるためには相当な熱意が必要で、その熱意が自分にあるかというと到底ない気がした。

 

そんなわけでゲーム屋さんになるのをあきらめ、結果的に自分の名前が出るような仕事をあきらめることになった僕は、自分の得意分野が活かせて、かつ社会にそれなりに需要がありそうな組み込みプログラマを選んだ。当時は組み込みプログラマなんてものが世間にあまり認知されてなくてチャンスだった。そして未経験者や大学でコンピュータを学んでこなかった奴らもいっぱい居たのでここなら上位20%に居続けることができるだろうという目論見であった。まるで小学生の頃からアセンブラをばりばり使えたかのような振りをしてたら配属直後からいきなりICEを使わされてバスエラーの解析をやらされたり、なぜかソースが消失してしまったコードにバイナリパッチを当てて強引に動かすようなことをしていたら周りから一目置かれるようになり今に至る。組み込みソフトにスタッフロールはないから名前はでないし、NDAばかりなので仕事のことをネットで吐き出したりできないしそのへんは目立ちようがない。

中学生の頃に無駄に身に着けた、16進のASCIIコードの羅列になったアルファベット列をそのままだらだらアルファベットとして読めてしまう能力(53 6d 69 6c 65 を Smile と読める) とか、色を見ればRGBのカラーコード(#88cceeみたいなやつ)がだいたいわかるとかの能力はたまに役に立っている。

 

組み込みプログラムも大量生産される時代があり、安いプログラマが大量に投入される時代があった。組み込み機器が粗製乱造され、作っても作っても儲からない構図は今のアニメと似た雰囲気があるが、こちらはひよっこ同然のプログラマにもそれなりの給料が出ていたというところが違う。ひよっこたちの面倒見を任される数少ない出来る人が被害を被っていた。