狐の嫁入り

小説創作ブログ! のつもりでしたが、なんかだいぶ違う気がします……

ChromebookにLinuxを入れて「hello world!」をしました。

競プロではpaizaのオンラインコンパイラを使っていましたが、ローカルで作業できる環境もほしいなとぼんやり思っていました。

 

何から手を付けていいのかはよくわかっていませんが……ひとまず手元にあるChromebookLinuxを入れてみました。

ChoromebookでLinuxがサポートされているのは業界ではわりと有名(?)な話のようです。

 

コンソールにコマンドを打ち込んで操作していく感じが楽しい……!

python3をダウンロードすると、一緒にC++コンパイラもついてくるみたいです。実は、自分のパソコンでコンパイルしてhello worldするのはこれが初めてです。

 

f:id:youmizuno:20200626201959p:plain

 

まだオンラインコンパイラを使ったほうが作業は早いですが、ちょっとずつLinuxも使っていこうと思います。

でも、今日のくじかつはひとまずpaizaコンパイラかなという感じです……

 

「Others Sum」という問題を思いつきました。

【問題】

下記の条件を満たす未知の正数X i (i = 1, 2, 3……n)を、出力せよ。

条件:

①正整数 S i (i = 1, 2, 3, ……n)が入力として与えられ

S i = X 1 + X 2 + X 3 + …+ X j + … + X n (j = 1, 2, 3, ……n,  j ≠ i)

② n > 2

 

 

【サンプル】

入力:

n = 3

 S = {5, 4, 3} 

 

出力:

A = {1, 2, 3}

 

 

書いてみたものの、フォーマットの整え方と出題環境を整えたいです……

時差出勤を始めてよかったこと

コロナウイルスによる猛威が収束に向かいつつある(ということになっている)今、最初は面食らった時差出勤やテレワークという働き方にもすっかり慣れてきました。

 

「テレワーク」のほうが働き方に与えるインパクトが大きそう、と感じていましたが、今思うと「時差出勤」のおかげでものすごく仕事がはかどっていると感じます。

このまま新しい生活様式が当たり前になる前に、自身の振り返りも兼ねて、時差出勤を始めて(と、いうか無理やり始めさせられて)、良かったや気がついたことを書いていきます。

 

ちなみに私は5:00〜14:00で時差出勤をしていました。今はちょっと緩んで7:00出勤をしています。

 

①周りに人がいないから仕事が捗る

なにげに、これが一番大きかったりします。周りに人が歩いていたり、喋ってたりするのは気になります。近くを上司や仕事関係者が通りかかったときなんかは、めんどくさい何かが告げられるんじゃないかとそれだけでストレスになります。

ただ喋ったり相談しながら仕事したい人には逆にストレスなのかも。「朝早く来たほうが仕事が捗る!」の究極系を体験しました。

 

②17:30になる前に普通に帰れる

意外とバカにできないのがこれ。弊社もフレックス勤務になっていますが、定時前に帰ることは定時退社デーや週末を除けばまれです。17:30まで残っていないといけないルールがあるわけではありませんが、人間が社会性の動物であることを鑑みればこの不合理な状況にも多少は説明がつくでしょうか。

午後から突然現れる人がいる一方、入れ替わりで帰っていく人がいる、みたいな状況が当たり前になりました。意味はないけど伝統的に存在していた謎の制約が薄れて、我々は労働からやや自由になれました。

 

③メールやチャット連絡が普通になった

伝統的な日系メーカーが声高に叫ぶ「三現主義」がぶっ壊れていく感じが私には痛快

でした。ただ、手を動かさないと成り立たないといけない職場もたくさんあるので、「職種によって働き方に自由度の差がある」ことが可視化されたのがちょっと残酷だったかもと感じます。

 

④会議が減った

時差出勤のため、というよりも集団感染防止のためですが、これがとてもいいです。こういう伝統儀式抜きで会社が成立してくれることを私は望んでいますが、COVID19収束に伴って復活の機運を見せているのがなんだかなあという気持ちです。

 

⑤仕事後の活動時間が増えた

(気がする)を語尾につけたほうが良かったかもしれません。ただ、早く起きたにも関わらず結局寝る時間はあまり変わっていなくて、睡眠時間を削るブーストをかけていただけなので体調面では良くない感じがしています。

 

 

こんなところでしょうか。

組織というものは理屈で成り立つものでなく、人々の幻想が作る形のないなにかです。そこには人々が長い時間をかけて築き上げ、そして盲信してきた「伝統」が存在します。その「伝統」を違う視点から冷静に眺めるきっかけができ、そうして社会の行動様式が変容していくさまをリアルに体験できたのはとても貴重な経験でした。

でした、と過去形にしていますが、これからもどうなるかわかりません(というのがコロナからの学びですね)。

私としては、社会の構成員たる我々が気分良く行きていけるようになるきっかけとして利用していければなあ、という壮大なことを思ってみたりしています。

オイラーディスクを回しました。

「美しき物理学bot」で見て気になっていたオイラーディスクを回してみました。

どんどん回転速度が上がっていき、あるところで突然止まる不思議な円盤です。Toysmith社製のおもちゃで、アマゾンだと6000円くらいで購入できます。

 

はてなには動画が乗せられないようなので、youtubeでチャンネル開設をしてしまいました。まさかのオイラーディスクでyoutuberデビュー…!

2分くらいの動画です。ものすごく癖になります。

 

www.youtube.com

 

オイラー」の名前を冠しているものの、オイラーの発明ではなさそうです。商標登録TMのマークがついているので、この会社が開発して販売している商品ということなのかなと思っています。特許詳しくないのがちょっと怖い……

 

持ってみると意外と重い。今のところ取扱説明書からわかっている情報はこんな感じです。

 

材質:鉄

表面処理:クロムメッキ

直径:3インチ ≒ 76.2 ミリ

厚さ:1/2インチ≒12.7ミリ

 

また、台座には鏡面仕上げされた金属(鉄?)が使われています。ディスクとの接触面の隅Rや面粗度は、回転挙動に大きな影響がありそうです。

 

下記パラメータや寸法が回転挙動に与える影響にもちょっと興味があります。

 

ディスク側:

・隅R

・面粗度

 

台座側:

・面粗度

 

その他:

・初速度

・ディスクの初期の傾き角

 

このあたりのパラメータを振って、止まるまでの時間や周波数変化をうまく制御できると面白そうです。実は論文があったりする……?

もしかしたらいつか調査記事を上げるかもしれません(上げないかもしれません)。

ガン見してぅるメーカーでアイコンを作りました。

picrew.me

  

Twitterでよく見かけて気になっていました。

目・前髪・うしろ髪・頬・飾り・背景……等をいろいろ変えてイラストを作るサイトです。

 

こんなのができます(楽しい)。

狐感のあるやつを作りたかったので、狐のお面に合わせてその他のパーツをあわせてみるのと、黄色背景に合わせてみるのと二つ作ってみました。

これ、どんな組み合わせを選んでもなんとなくそれっぽい感じになります。

f:id:youmizuno:20200620090037p:plain

 

f:id:youmizuno:20200620090056p:plain

  

顔とポーズは固定ですが、背景色とその他のパーツで結構印象が変わります。

 二枚目がいい感じなのでこっちをアイコンにしました。

 

「移動祝祭日」をkindleで読みました。

「移動祝祭日」を読みました(本記事では内容に言及する可能性があります)。

 

 

読んだきっかけ

phaさんの京都案内記事がめちゃめちゃエモかったためです。

 

suumo.jp

自分が学生時代に過ごした土地のことを思い返して描く文章は、どこか切なくも、若々しい情熱や美しい一瞬で満ちています。これは人間の記憶処理の為せる技なんでしょう。私の好きな作品「スタンド・バイ・ミー」も、作者キングの自伝的作品で、ノスタルジックな空気を帯びています。

そのヘミングウェイverが本作という認識です。「昔あったことを思い出す」作品が好きな人はけっこう楽しめる気がします。

で、上の記事では、「移動祝祭日」の冒頭にある有名な一節で文章を締めくくります。

もしきみが幸運にも
 青年時代にパリに住んだとすれば
 きみが残りの人生をどこで過ごそうとも
 それはきみについてまわる
 なぜならパリは
 移動祝祭日だからだ

きっとパリに限らないんでしょうけれど、ヘミングウェイにとっての「移動祝祭日」はパリだったんでしょう! phaさんにとっては京都。

ちなみに私の場合は名古屋です。文化的土壌はちょっと乏しい場所でした……むしろ、友達を訪ねていった秋葉原界隈のほうが移動祝祭日っぽいです。

 

内容

ヘミングウェイがパリでの修行時代を振り返ったエッセイと認識しています。

当時のパリにいた芸術家や作家とのやりとりが書かれています。「名前は聞いたことがある有名な人」の人となりがなんとなくつかめます。

読む人が読めばもっと色んな情報を取れるのかもしれませんが……私は有名人の生活感ある日常を味わうという、わりと俗っぽい楽しみ方をしていました。

 

感想

いきつけのカフェで嫌いな友達に邪魔されながら書いたのが「二つの心臓と大きな川」だとか、その友達が「日はまた昇る」に出てくるだとか、「雨の中の猫」の妻は離婚した自身の妻がモデルだとか、そういった背景がちょっとずつわかってくるので、作品を読むのが楽しくなりそうです。

私が読んだことのあるのが「雨の中の猫」と「老人と海」だけだったので、ヘミングウェイの若かりし頃の作品もいくつか読んでみたい気分になりました。「老人と海」は晩年になって書かれた作品だったみたいです。

個人的には「殺し屋」に興味があります。

さらっとウィキペディアを眺めてみると、ヘミングウェイ短編集を読めばいいようです。いま積んでいる本を消化し終わり、かつそのときに関心があれば、手を出したいと思います。が、しばらくは近年の小説新人賞受賞作の消化とプロコンに力を注ぐ予定なので、ちょっと(かなり?)後ろ倒しになる感じがします

 

 

 

 

茶色コーダーになったので、ここ半年間で学んだことを振り返ります。

やっと茶色コーダーになれました!

2020年5月30日のNOMURAプログラミングコンテストです。A問題とB問題を早く解くことができ、茶色後半パフォで入茶しました。

f:id:youmizuno:20200606162941p:plain

ただ、その後のABC169で爆死したという悲しい事実があります。

 

かかった時間

初めてコンテストに参加したのは2019年12月18日で、茶色コーダーになるのに5ヶ月半ほどかかりました。 

Twitterを眺めていると、初参加から数ヶ月で茶色、緑色と進歩していく人がいて凄いなと思っていました。強い方々の興味深い解説や、熱心な学生さんがぐんぐん成長していくのに刺激を受けました。

 

できるようになったこと

始めは多重ループで目を回したり、配列への入力の仕方であわあわしたり、大量の入力に圧倒されてフリーズしたりという有様でした。

ただ、学習スピードはかなりゆっくりですが、できることは確実に増えています。

私が今のところ身につけていること(or調べればできる)ことはこんな感じです。

 

・シフト演算子を使った組み合わせ列挙

・do-while next-permutationを使った順列列挙

・mapを使ったカウント

・二分探索

・Lower_bound 

・modライブラリを使った演算(演算子オーバーロード?のことはよくわかりません)

・再起を使った累乗計算

ユークリッドの互除法を使った最大公約数の取得

・二重ループ

・boolを使った終了判定

・無向グラフのデータ保持方法

・関数を定義して使うこと

・return 0で途中終了できること

・約数の列挙

・小数点への注意(ABC169の反省です……)

 

組み合わせ列挙や公約数の取得、累乗計算などは、すとんと腑に落ちて使えるようになりました。高校数学の貯金のおかげです。

 

できるようになりたいこと

・DP

・BFS

・DFS

 

アルゴリズム知識は、何が不足しているのかもよくわかっていない感じがしますねね……!

BFS/DFSについては3ヶ月前からわからんわからんと言っていますが、未だにそれっぽい問題に当たっても実装できずにいます。ABCのD〜Eのところに壁があって、ここを乗り越えるのに苦労しています。

で、D・Eを解けるように練習していたらCで足をすくわれたりします。

UnionFindやダイクストラと言ったアルゴリズムは、名称こそ知っているものの手がつけられていません。

問題を解いていくのは楽しいですが、人生が破綻してしまう危険があるため、あまり自分を追い詰めないようにやろうと思います。

過去問を1日1AC(サボっても可)、コンテストには100%参加し、できなかった問題を解説ACする、といった軽めのルーティンを継続していきたいと思っています。

過去は変えられませんが、どうしても言いたいことがあるとすると、学生のうちに競プロに出会いたかった……! という感じです。

 

他にやったこと

プログラミングが楽しいことに気がついたので、パソコンを使って仕事や日常生活、趣味に+αできればいいなと思っていました。ただ、何をすべきかわかっていなかったので、手当たりしだいに興味のある本を読んだりオンライン講座をやったりしました。

 

①IT知識をつける

そもそもITについての知識が不足していたので、かの有名なGoogleのお医者さんの記事で紹介されていた本を買って勉強してみました。難しくて理解できなかったものもありますが、この2冊は初学者向けで、わかりやすく楽しく読めました。

1冊目、資格の本です。

ウェブページがどんなふうに表示されているのか、ネットワークの仕組みがどうなっているのか、パソコンの中身がどんなふうになっているのか……といった広汎な基礎知識がイラストでまとめられていて、楽しく、新鮮な驚きとともに読むことができました。なにかわからなくなったときには、この本に戻ってくることがありそうです。

一番興味を引いたのはソフトウェアの開発フローです。私はハード設計の仕事をしていますが、ハードのベテランから教わったことがこの本にも書いてありました。

ハードとソフトの違いがあるとは言え、両方とも「ものづくり」なんだな、と感じました。

 

2冊目、CPUの本です。

会社の同期が面白いと言っていたのを思い出して購入しました。

「コンピュータは01で動いている」ということをぼんやりと知ってはいましたが、その挙動がもっと具体的にイメージできるようになりました。

クロック、フリップフロップデコーダ……いろいろモジュールが組み合わさってパソコンが動いているということを実感できます。そのひとつひとつのモジュールの動作を、回路図と一緒に説明してくれるのがとてもわかりやすいです。

また、2000年代前半の秋葉原を彷彿とさせる絵柄と語り口がわりと好きでした。

 

②仕事に役立てる

もうひとつ、C++を使って、仕事で使う解析ソフトが自作できるかも、ということを試しました。流体解析を自分でやってみようとして、仕事50%趣味50%でこの本を読みました。

ようやくナビエ・ストークス方程式を自分で導ける(ときどき教科書を見ながら)ようになったのは内緒です。

コーディングは環境構築の仕方がよくわからなかったため、paizaのオンラインコンパイラを使っていました。

paiza.io

ただ、行列計算をバグらせてしまったり、使うにあたって不便な部分がいろいろあったりして、実用するには全く届きませんでした。バグや入力ミス、大量のコードとの戦いです。仕事でのコーディングの大変さのほんの一端が垣間見えたような気がします。

私がやったのは二次元翼の簡単な(はずの)解析ですが、実際は三次元の翼を扱います。

ソフトメーカーさんってすごいですね……使いにくいとか言ってすみませんでしたという気持ちです。 

 

もうひとつ、データサイエンスとPythonにも興味があったので、kaggleに登録しました。

いろいろなパラメータから目的の数値を予測することができるなら、きっと仕事にも役に立つと思いました。C++よりもコードの読み書きが簡単ということをProgateの講座で知っていたので、流体解析もPythonなら簡単にできるかも、という狙いもありました。

 

また、会社にはPythonを使ったデータサイエンスの外部講習の案内が去年から来ていました。私は上司に出たい旨を伝えましたが、すでに枠は埋まっていたようです。その腹いせということで、自分で勉強してやるモチベーションが高まっていました。 

 

とはいえ、登録していきなりデータ解析ができるものでもないので、しばらくはそのままほったらかしにしていました。が、ある日micro courseなるもの があると知り、ひとまずここを進めてみることにしました。コースを終えるたびに称号がもらえるので、学習モチベーションが死ぬほど高められました。IT関連の教材って、学習のモチベーションを高めるのが上手な気がしませんか? ゲームが好きな人が多いからでしょうか?

f:id:youmizuno:20200606174326p:plain

終了した講座の一覧です。

いろいろいじってわかったことですが、jupitarの使い方を覚えれば、exelよりもずっと早く、見やすいデータが作れそうです。

それだけでなく、なんとディープラーニング自然言語処理までマスターしてしまいました。

特に、自然言語処理の講座はお気に入りです。これがきっかけで、数年前に読んで気になっていた本のことを思い出しました。

 

 

③趣味に役立てる

数年前、この本を読んで衝撃を受けました。

「パソコンに小説を読ませてベストセラーになるか予測する」試みをした本です。

私はかなり前から新人賞を目指して小説を書いています。が。才能がなさそうなのでいまだそこに至っていません。なので、感性やミラクルに頼らず、物語作りのノウハウを固め、理屈を積み上げた上で面白い小説を書いて賞を取ってやろうと思っています。

 

初めてこの本を読んだ時、自分のやりたいことはこの本の中にありそうだと思いました。売れる本はタイトルにtheがつく、テーマは増やす過ぎずにポイントを絞る、主人公は主体性のある動詞をよく使う……創作界隈でまことしやかに囁かれるノウハウが、数値計算の結果からはじき出されてくるのがまさに私の望むところでした。

誰が読んでも面白い読み物ですが、追試をしようと思うとそれなりのバックグラウンドが必要になりそうで、自分にはできないかもと当時は思っていました。

競プロからスタートしてこの本に戻ってこられたのは嬉しい偶然です。

 

今後はこの本の追試を目標に自然言語処理を始めていこうと思っています。

まず「感情分析」だけは、今の私でも実装できそうだったので、やってみました。

その結果、実際の読み味をうまく模擬した結果を得ることができました。この結果を見て、自然言語処理にさらに興味がわきました。

 

youmizuno.hatenablog.com

 太宰治の作品の中では、最も読んだ印象が異なる2作です。片方はポジティブ、片方はネガティブ。陰陽がはっきり分かれます。きっと誰が読んでも同じ印象を受けるでしょう。簡単なコードでもその読み味をきちんと再現できています。

 

 

今後やること

興味の先はいろいろありますが、自分を追い詰めず、できることを少しずつやっていこうと思います。

①ABCには全部参加して、解けなかった問題を1つ解答する。

②ABCのC問題を1日1問埋める(サボっても良い)。

③「ベストセラーコード」を読み返して、追試できそうなところを自分で書いて回してみる。その結果が自分の書いたものに反映できればなお良し。

 

今年中には緑コーダーになって、トピック分析ができるようになって、長編小説が一篇出来上がっていればいいなと思います。

お付き合いいただきありがとうございました。何かアドバイスや興味のあるところがあれば、お教えください。