転職メモ
前回から2年たらずだけど転職しました
色々期待した会社でしたがエンジニアリングとはかけ離れた会社だった。面接とも違う仕事を期待され聞いてないし何も教えずとか非常にやりづらい職場だった。まあ愚痴は色々あるがもう終わったことなのでどうでも良い
入社して2週間ほどで年末に入りましたが、感想としては色々問題があるのは事前に聞いていて覚悟して入社したのでそこは良い。むしろ情報を面接段階で公開してくれてありがたいしドキュメントもある程度作る文化がある。話はある程度出来る文化もある。ただ今までが足りなかっただけなので改善は出来ると踏んでいます。時間はかかるでしょうけど。まあ引っかかる点もありますがそれはこれから。
ということで慣れるのが先ですが徐々に良い方向に変えていければと考えています。
GeForce RTX 4070 Tiにした
旧環境とその辛さ
旧環境は MSI GeForce RTX 3060 Ti VENTUS 2X 8G OCV1 LHR だったが、最近メモリが足りない場合が多くなってきた。メモリ8Gだしなぁ。購入したのは去年だがまだまだ値段が高かった頃だが流石に当時は限界だったので購入した
よく使うのは、Chrome、Steamでのゲーム、あたり Chromeは設定でハードウェアアクセラレーションを切れば使わなくなるが、Google Meetでエフェクトが使えなくなるのが大きな問題。汚い部屋がバレてしまう...
Steamはゲームをしているとたまにゲームが強制終了するが今考えたらメモリがカツカツでアプリが死んだのだろう
また、今年に入ってAI系が一気に出てきて個人の環境でも遊ぶ程度なら使えるようになっている。Stable Diffusion等いくつか環境は整えているがこれが起動するにはほぼすべてのアプリを落としてからでないと使えない。Stable Diffusionは遊びなのでどうでも良いが常に起動して起きたいのだとテキスト系のAI。例えばTabbyやFauxpilotというのがある。これらはエディタ上で補完してくれるので非常に面白い(ちょっとうざいけど...)
今はまだまだだけど将来はさらに良い環境になっていくと思われる。そうなるともう現状だと限界があると考えていたがある程度の環境を目指すと結構きつい、特にお値段が...
まあそれでも多少安くなればと考えていたところにAmazonのPrime Dayがあり ELSA GeForce RTX 4070 Ti ERAZOR X GD4070T-12GEREZX が10% OFFとなっているのを発見。
メモリは12G、電力的にもちょっと増えるだけで問題なさそう。4070 Tiでは小さめに抑えられていて今年(2023年)発売となかなか良さそうと判断。まあ最近の最新ゲームだとメモリがキツイ可能性はあるが上を目指しすぎるとお財布的に無理がある。まあそれでも高いのだがチャンスではあるので思い切って購入した
環境構築
今はUbuntuの環境だ。ハードウェア的には交換して起動も問題なし。久々に触るので電源周りで接続に手間取ったがまあ問題はなかった。それよりPC周りが汚すぎて掃除で疲れたけど...
さてドライバを最新にするべきだろう
現在のドライバの確認はdpkgで確認できる
$ dpkg -l | grep nvidia ... nvidia-driver-525 ...
対応ドライバを見ると nvidia-driver-535
がおすすめされているので上げるのが良さそう
$ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002782sv000010DEsd000017AFbc03sc00i00 vendor : NVIDIA Corporation driver : nvidia-driver-525-server - distro non-free driver : nvidia-driver-535-open - distro non-free driver : nvidia-driver-525-open - distro non-free driver : nvidia-driver-535-server - distro non-free driver : nvidia-driver-535-server-open - distro non-free driver : nvidia-driver-525 - distro non-free driver : nvidia-driver-535 - distro non-free recommended driver : xserver-xorg-video-nouveau - distro free builtin
古いのを削除して、再起動
# apt --purge remove nvidia-driver-525 && apt install nvidia-driver-525 && reboot
$ nvidia-smi
きちんと認識している。メモリも増えて素晴らしい
旧3060 Ti
新4070 Ti
Ruby 3.2.0が出たので早速環境構築した(M1 mac対応もあり)
毎年のクリスマスの大事なイベントのRubyのリリースがされていた
今回の目玉はWASIベースのWebAssemblyサポートと実用段階になったYJITが大きそう
WASIはまあ一旦置いておいてインストール時に意識するのはYJITだ
Rust環境のセットアップ
環境を用意していなかったので公式にしたがって用意する
とは言ってもこれだけで済む。RubyとかPythonより楽だ
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Ruby 3.2.0のインストール
rustcが動いたら問題無しなので早速インストールする
CRuby を YJIT を有効としてビルドするためには、rustc >= 1.58.0 をインストールした上で、 ./configure を --enable-yjit オプションを付与して実行する必要があります
Linux
基本的にはいつもどおり、 .rbenv/plugins/ruby-build/ を更新して3.2.0が対応されているのを確認する
まずはYJITを無視してインストールしてみる。最低限の確認はしておいたほうが良い
rbenv install 3.2.0
問題は無いので、YJITを有効化する。configureに--enable-yjitを渡すだけなのでrbenvからだとCONFIGURE_OPTSを利用するので良いだろう
$ CONFIGURE_OPTS="--enable-yjit" rbenv install 3.2.0
こちらも問題が無い。インストールログを見てもyjit.cが含まれている
普通にrubyが起動したので良さそうだ
macOS
仕事用で会社から貸与されたmacOS M1にインストールをしていく
rustの環境が必要なのでインストールするがこっちは問題無し
次にRubyだが、YJIT無しだと普通にインストールが出来たが、問題はYJITを有効化するとエラーになる
Installing openssl-3.0.7...
どうもopensslを入れようとしてエラーになる。というかそもそもHomebrewでopensslが入っているがそれを使わずに自前で用意しようとしてエラーになっているようだ。具体的には追うつもりは無いのでエラーの理由は知らない...
まあこういう場合はopensslを指定してあげれば良いのでRUBY_CONFIGURE_OPTSで指定したら素直にインストールが完了した
$ CONFIGURE_OPTS="--enable-yjit" RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/Cellar/openssl@3/3.0.7/lib/" rbenv install 3.2.0
ということで今回もRubyの新バージョンがインストール出来たので有り難いですね。開発者の方に感謝しつつ楽しみます
あ、自分用のprovisioningのレシピにRustを追加しないと... まあこれは急がないからそのうちにだな
ASUSモニタ PA279CV-Jを購入してから2週間ほど使用したのでメモ
今までは2kのEV2455を使用していたが、ゲーム環境も意識したりPCを作り直したりでそろそろ限界だなぁと感じていた所、Amazonのブラックフライデーがあり勢いで購入した
世間的には今更だろうけどメモのために残しておく
購入直後の感想
まずは大きさが心配だった。サイズ上数センチは横幅が大きくなるので机のサイズからギリギリだが使えるだろうと心配していたが予想通りなんとかなった
で、セットアップは簡単で問題なく終了。物理的な移動がちょと面倒だったけど。
次に、使用感。ドット欠けは無し。EV2455に比べたらちょっと明るく目が痛く感じている。明度等の調整して多少マシだがEV2455のほうが設定は細かく出来るし目に優しいと感じた。まあ値段考えると仕方ないのかも
電源ボタン。EV2455は触れたら反応するタイプで暗闇で適当に触っても問題なく電源のON/OFFが出来るのが便利だったが、誤って触っても反応してちょっと面倒だった。逆にこっちは物理的なボタンになっているのでしっかり押さないと反応しない。電源ON/OFF時にはちょっとイマイチだが誤動作しないのは良い。まあ一長一短
ソフトウェア
デスクトップ環境
Linuxで普段はXFceを使用しているが、これが4kになったとたんボタン等が異様に小さくなるし、アイコン等も小さい。色々設定頑張るが一部の大きさの調整は可能だが非常に使いづらい
他にもLXDE等好きなデスクトップ環境をいくつか触るも全滅。見づらいので常用には向かないと判断。
かと言ってUbuntuのGnomeは本当に使いづらくて選択肢に入らない。ちなみにアイコン等の表示は結構まともだけどそれでも駄目だ
最終的に落ち着いたのがKDE。多少挙動に慣れない部分はあるがアイコン等のサイズ問題はほぼ解消している
Web
Chromeがメインだが何故かどのデスクトップ環境でもタブが小さくなりサイズ変更方法が不明。年なのもあるかもだがそれでも小さすぎる。多分2kに最適化されている
Vivaldiもサブとして利用しているがこちらは多少ましではあるがタブが小さいのは同じ。
まあここは諦めるしかないのだろう
ゲーム
ゲームは主にSteam(Linux)だがまあ普通に使える
ちなみにSteamのデスクトップ環境は4kでも普通のサイズとして表示してくれてなんのストレスも感じない。素晴らしい
ということで、多分ゲームとかで必要性感じないなら2kでも問題はないかもしれない
あと当然だけど画面が大きくなったのでアプリによってはその分表示にメモリ使うのでそれなりに用意しておく必要があるかもしれない
Nvidia driverの515.65, 515.76に問題があった
PCを買い直した
少し前だが6月にPCを新しくしたが、Ubuntu + Nvidiaで問題が発生したのでメモしておく
構成としてはこんな感じ
- ASUS TUF GAMING Z690-PLUS WIFI D4 [Intel Z690chipset]
- DDR4 32GBx2枚 + 余っていた16GBx2枚で合計96GB
- MSI GeForce RTX 3060 Ti
以前のはメモリがギリギリだったしグラフィックがかなり古くゲームするにもきつきつ状態だったがグラフィックは値段が高騰していて手が出せず我慢してやっと手が出せる値段になったタイミングだった
とは言え色々タイミングがつかず7月後半にPC設定を行う
まあ面倒なのでいつもどおりUbuntuで20.04を採用
というのが前置き
Kernelが定期的に落ちる
問題は作業中にKernelが突然死ぬ問題が頻発し始める
突然死ぬからlogを見ることすらできず原因が一切わからずだましだまし使っていた
対策1
色々頑張って探しているとsplit lockという機能がありこれが原因の可能性があるのではないかと疑い始める
CPUが対象だしkernelが突然死する可能性があるとのことで `split_lock_detect=off` をgrub2のパラメータに指定して様子見
が、結局これは意味がなかった。まあ設定しておいて問題は無いだろうけど
対策2
Steamでゲームをしているときに落ちやすかったように感じSteamを一時封印するが結局意味がない
落ちるタイミングはZoom使用中だったりコーディング中だったりでバラバラ
PCを買い直してSteamの動作を色々確認してた時期だったのでタイミングが一致しやすかっただけだったと結論づける
対策3
結局だましだまし使い続けて落ちたら起動し直しを繰り返しつつ頑張っているが、居つからか安定して動いていることに気づく
じゃあ実験とのことでSteamを起動しようとするとそもそも起動しない。まあこういう場合ドライバーの更新が入って再起動が必要というのが今までのパターン
と思い再起動をかけると画面が真っ暗となり何もできない現象に陥る
ssh自体は有効だったのでdmesgなどを確認しつつ検索するとこれがヒットする
Nvdiaのドライバーのバージョンや時期も一致している。まあ間違いが無いだろう
ということでdriverのバージョンを見るので `apt list -a|grep nvidia-driver|grep 515` すると最新バージョンしか存在しない
が、nvidia-driver-515-serverというのがありこれだと1つ前のバージョンなのでまあいいかとこれに入れ替えを行うと見事に起動する。が、Kernelの突然死の現象も再現するように...
対策
まあここまでくれば原因は推測ができる
- nvidia-driver 515.65は動作するがKernelの突然死が発生する
- 注意したいのは自分の環境では確認しているが他の環境では不明
- nvidia-driver 515.76はそもそも動作しない
- Display Portだと動作するという報告はあるので、接続方式次第かもだけど今更DPもねぇ...
となれば対策は簡単だ。aptに存在しない以上、Nvidia公式からドライバーをインストールすれば良い
公式からだと 515.65の更に前は515.57だ。これをインストールした所1週間安定して動作してSteamのゲームも快適に動作している
ちょっと古いが当面はこれで運用していくこととしよう! と思っていたらUbuntu 22.10が出たようだけど新しいドライバがでるまではちょっと待ちになりそうです
まともに動作しなさそうだし...
11-03 追記
nvidia-driver-515に 515.76+reallyというバージョンが出ていて、これで起動後の真っ暗になる問題は解決らしい
さらにnvidia-driver-520(520.56.06)というのも出ている。これを現在使用しているが問題は発生していないので今現時点ならばこれを利用するのが良いだろう
M1 Macの環境構築
転職して3ヶ月以上経ってやっと仕事用のPCを支給された。 詳細は聞かなかったが注文して届くのが遅かったらしいので海外(例えば中国経由とか)からの輸送が遅れているとかが関わってそう
届いたのはM1 MacでありIntel Macでは無く色々環境構築に戸惑ったがある程度落ち着いて来たのでメモ代わりに纏めてみる
ちなみにsw_versやsystem_profilerの情報。メモリも64GBで無いのが辛い。仕事だとメモリは最大にしてほしい
$ sw_vers ProductName: macOS ProductVersion: 12.2.1 BuildVersion: 21D62 $ system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro18,1 Chip: Apple M1 Pro Total Number of Cores: 10 (8 performance and 2 efficiency) Memory: 32 GB System Firmware Version: 7429.81.3 OS Loader Version: 7429.81.3
個人的にはもう開発環境もLinuxにしたいんだが、入社時に希望を伝えてもなんか難しいらしく無理だった。 Macはもう結構な値段だし普通のPCでLinuxの方が楽なんだけどね。 入社時だと強く言えないので仕方がない
基本的な設定
まずは、リモートワークなので自宅ネットワークの設定。IPを固定化したり、必要ならWiFiの設定とかも。 そしてアプデ作業。これはOSに関係なく最初にしておかないと死ぬ
次に普段作業しているHostからsshで接続して開発が出来るようにする。直接Macを使おうにもスペースとかモニタの数の問題や母艦がLinuxだった>りなのでこの方が使いやすいのでこうしてます
他は諸々の設定。このあたりが面倒だったのでメモしておく
ロックとかスクリーンセイバーとか
バッテリー
->電源アダプタ時
でディスプレイをオフを切るデスクトップとスクリーンセイバー
-> 必要なら設定ホットコーナー
から スクリーンセイバー起動を設定セキュリティとプライバシー
からスクリーンセイバー起動と同時にロックが掛かるようにする
ヒントの非表示
macがヒントを出してきて作業の邪魔をするのでoffにする
設定->通知->ヒントからoffにできる
これで全部offになるかは不明
環境構築の事前準備(手動)
まずはxcodeのインストール。Apple Storeからインストール出来る
Homebrew。M1にも対応しているようで問題無くインストール出来る。ただエラーが発生しbrew installが出来ない。
どうやら arch -arm64 brew install <name>
という形でインストール出来るようだ
M1 Macとmitamae
最近は環境構築がしんどいのでLinuxではmitamaeを利用している。Macでも利用していく
リリースページからM1 Mac用のバイナリを取得する必要があるので注意
現時点での名前は mitamae-x86_64-darwin
。使いづらいのでファイル名は mitamae
に変更している
M1 MacとHomebrew
mitamaeでは package
を使いインストールを行う。Linuxだと各種パッケージコマンドを使う(Debian系だとapt)し、MacでHomebrewがあればbrew>を使う
例えばnginxの場合はこうなる。これで brew install nginx
が実行される
package 'nginx' do action :install end
ただ、すでに書いたとおりHomebrewのコマンドには arch -arm64
が必要なせいで pakage
がエラーとなる。
対応方法が不明なので一旦 execute
でインストールするようにしている
execute 'install nginx' do command "arch -arm64 brew install nginx" end
mitamaeで設定していく
あとはレシピを作っていく。ここは人によって違うがまあ大体レシピ化できるはず
当然全て網羅していないので注意
転職する
前回の退職メモがこれ
精神的にしんどいのと挑戦して見たい事もあったので1年ほどグダグダしていて、転職したのが確か2020-06あたりだった気がする
まあ今回も自分側会社側共に色々あったがもう終わった話だ。転職は決めたので次は来月から
転職方法
もう40半ばになるのでおっさんの転職だ。利用した転職サービスは結局Findy1本だった
ちなみに、前回もFindyは利用していたが他転職サービスも利用していてタイミング的に合わなかった
仕事でもう無理だとなってから、Findyのプロフィールの 転職意欲
を 話を聞きたい
ぐらいに設定するとFindyのユーザサクセスチームの方からお話しませんかという話が来て相談を行い色々サポートを行っていただき、案件をいくつか紹介頂いた中から決まったという流れ
通常のいいねが来てから適当にカジュアル面談して進む流れよりも、相談して話し相手になってもらい進行方向を決めてその流れにあった案件を紹介いただき、場合によっては相手の会社様も会ってみたいという流れも作っていただいたので安心して話を進められたように思う。元々自分からグイグイいくタイプではなかったし有り難かった
まあ次もどうなるかわからないが前に進むしか無い。独り身なので頼れる場所も無いしね
履歴書、職務経歴書
今の時代でもこういう書類が必要らしい
職務経歴書はFindyの機能を使って入力しているデータをPDF化出来るのでこれでどの会社もOKだった
これだけで良いのでは?と思うが正式には履歴書も必要らしい。Findyの機能で作成したPDFで大体カバーしていると思うが違うのだろう
HR系サービスに関わってきたが未だにこういう習慣はよく分からない...
問題の履歴書だが、前回はめんどくさすぎと心が死んでいたのでYAMLで書いて出して逃げたが流石に酷かったと思う
で、今回見つけたのがこれ
Ruby製でYAMLを指定の形式で書いて食わすと履歴書のPDFを作ってくれる便利な物
Readmeによるとこれを利用したサービスやDockerもあるらしく環境構築面倒な人はこれらを利用すれば良さそう
まあ、環境構築とは言っても bundle install
すれば良いだけ
昔はこういうのも手書きだった記憶があるが良い時代だ。有り難く使わせてもらった。作者に感謝。