2024年の振り返り

少し早いですが、なぜかやる気が出たので今のうちに2024年の振り返りを書こうと思います。 前回から1年弱ぶりの記事ですが、いつも2年とか間隔が開いてしまうので、自分にしては褒めてあげたいほどの頻度です。

仕事について

さて2023年の10月に転職をしてから、1年と少し新しい職場で過ごしてきました。
周りの方々にも助けられながらだいぶ慣れてきてわりと自由にやっています。

機械学習エンジニアとして入社したものの、
フロントエンド(TypeScript)、バックエンド(Go)、AWSリソースのアーキテクチャ検討、他部署/グループ会社との調整、リーダー業務など本当に様々な経験をさせていただきました。
もちろん本業であるLLM関連、機械学習、データ分析等々の業務も行っています。

我ながら色々とやっているなーと思いつつ、このままだと専門性の低い便利屋になりかねないなと思っていて、どうして行くといいのかなーとなっています。
まあいつも通り、目の前のことをやるしかないかなーと思いながら日々過ごしています。

趣味

コード

とはいえ、コードを書く時間が前より減ってきてエンジニアとしては寂しいので、プライベートで完全に趣味の好き勝手なコードを書いています。
特に最近はNBAのデータセットを見つけたのでそれで遊んでいます。
NBA好きが周りに兄弟くらいしかいないので、エンジニアとか関係なく、もし好きな人は語れると嬉しいです。ちなみに自分はヒート推しです。)

運動

運動は...ついに月2回ほど行っていたバスケをやめてしまいました。さすがに年齢には勝てず...そのせいで運動不足です。
散歩とか自転車とか色々やってみてはいますが...なかなか続かず。一人でやる系は向いてないのかなーと思っています。

サバゲー

運動不足解消のためにも(なんか前も言っていた気もしますが)サバゲーをやってみたい...でもはじめ方がわからない...
だれか連れて行ってもらえないでしょうか...?
もしくはやったことないけど興味がある!という方は初心者同士で一緒に行ってみませんか?

ラジオ

それと去年に引き続き、今年もナインティナインのオールナイトニッポン歌謡祭(ラジオのオフラインイベント)に行ってきました。周りにラジオ好きな人がおらず...一人で行ってきました。
来年も行くつもりなので、こちらも興味がある方いれば一緒に行けると嬉しいです。一人でも楽しいけど、ちょっと肩身狭い...

来年の抱負

来年はどうしようかな...AIが爆速で進化するので先が読みづらいですよね...
今年と変わらず、目の前のことを一生懸命行いつつ、エンジニアとしての生存戦略を考えつつやっていこうかと思います。
変化が早くて難しい時代ですが、その分面白いことも多いですしね。

あとやっぱりサバゲーを来年こそやってみる!誰も周りにいなかったら1人でも参加できるところに行ってみる!
...たぶん

結構長くなってしまいましたが、今年あと少しと、来年もよろしくおねがいします。

ではまた

転職しました

前回の投稿からまたも2年以上...年に1回投稿を目標としようと思います。

さて、私事ですが転職をしまして昨年10月から新しい会社に勤めています。半年経って少し慣れてきたので重い腰を上げて久々にブログを書いています。 転職の関係で関東に戻ってきてるので関東近郊の方はまたよろしくおねがいします。

転職した理由としてはやりたいことが新たにできたのが大きなところです。自分が関わる自然言語処理関係はここ1年ほどは激動でしたしね。

前職ではとても良くしてもらい、非常に自由にやらせてもらっていたため感謝しかありません。 また大学院卒業前で就職先を探した頃はコロナ蔓延初期ということもあり、募集を止めている企業も多い中で拾ってもらった恩は忘れることはありません。

今回の転職はそんな居心地の良い会社からの転職だったので寂しさはあったものの、新たな環境で頑張っていこうと思います。 余談ですが、今回の転職先の上司の方が非常に穏やかで頼り甲斐のある方であり、我ながらいつも上司運を持ってるなあと感じています。どことなく前職の上司に雰囲気も似ている気がします。

なにが機密事項に当たるか分からないので相変わらず具体的なことは書けませんが、楽しくエンジニアを続けています。

P.S. 社会人バスケに所属してやっていたんですが、さすがに最近しんどくなってきてどうしようかなと思っています。別の運動系の趣味を作らなきゃと思っているのにプラモデル作りにハマり始めインドア派が更に進みそうです…

ではまた

2021年の振り返り

前回書いた記事から2年以上経ってしまってました。一度滞ると、書かなくなってだめですね…

まあこういう時期に書かないと一生書かないので2021年の振り返りとか近況でも。

大学院(修士)も2020年の9月に無事卒業し、その後10月から東京のある小さい会社でエンジニアとしてお世話になっています。 なので今の会社は在籍して1年と少しですね。

大学院の研究では全然結果が出せませんでしたが、当初の最低限の目標である卒業後にエンジニアになるという目標は達成できたのでまあ良しとしてます。

また、ありがたいことに大学院で勉強したことが今の仕事に大きく役立っているので大学院の頃の先生や先輩方には感謝しかありません。 とくに(日進月歩が激しい分野ということも有り)当時は正直面倒だなと思ってた基礎的な勉強や少し古い技術とされるものが一番役に立っているので、ちゃんと指導してくださったり勉強会を開いていただいていたのは本当にありがたいなあと思っています。

さて、卒業後入った会社ですが、 規模としては小さいものの業界ではわりと新しい分野を仕事としており、会社の人間関係も良好なため楽しくやらせてもらっています。 (ちょっと社名はSNS等では公表禁止とされているためここでは書きません。直接話したときなどに聞いていただくには構いません。)

またコロナの関係でフルリモートがしばらく続いており、東京にいても生活コストが高いだけなので地元に最近戻ってきて家で仕事やってます。 なので、もし地元に近いところにいる方は(コロナ次第でもありますが)よかったらご飯でも行きましょう。 (昔の知り合いのだれが今も地元にいるのかさっぱり分からず、一人一人聞いていくのもめんどい億劫になってます…)

と、ここまで書いて仕事のことは守秘義務が多すぎて大して書けることがないことに気づきました。

まあ書くことが大事ということで…

来年は趣味を増やしたいなあ…サバゲーとかやってみたい。どうやって始めればいいんだろ?

ということで 来年もどうぞよろしくおねがいします。

ではまた

社会人経験者でもインターンできるよという話

タイトルのとおりです.

大学院の夏休みを使って,3週間ちょっと東京の方でインターンしてきました. 学部時代にビジネスサイドのインターンはしたことありましたが,エンジニアとしてのインターンは初めてでした.
(僕は新卒で入った会社も事務方でした)

インターンというと,新卒の特権のように感じられますが,実際は学生であれば社会人経験があってもできるようです.

ただし,企業によって違うと思うのであくまで僕が受けた範囲なのと,人事面接がある場合は気にされることが多いようです.
(エンジニアの方との面接では気にされている印象はあまり受けませんでした)

ちなみに実際に社内で「インターンの〇〇です」と自己紹介すると,毎回
「ん?」
という顔をされました.
(その割には老けてるなあ・・・)
という心の声が聞こえてくるようです.
僕は昔から老け顔なので仕方ないですが....

その度 「あっ,一応社会人経験者で,年齢はあれなので・・・」という説明を繰り返していました.

外見が年相応な方や実際の年齢以上に見られやすい人はその点は気にしないでいきましょう.
(童顔の人は何も言わずに黙っておきましょう.別に嘘はついてないので大丈夫)

インターンしてよかったこと

良かったことはシンプルにエンジニアチームでの仕事の進め方が見れたのと,大きいデータベースを見て触れたことです.

1つ目のはエンジニアチームがどういうふうに仕事しているのかが見れて,ある程度イメージが持てたということです.
もちろん企業やチームによって仕事・プロジェクトの進め方は違うと思いますが,ビジネスサイドとはかなり趣が違うなーと感じました.

また大きなデータベースを見て,触れたことはすごくためになりました.

僕の研究では基本的にデータベースを使うことはありません. また個人でサービスを作ったときに触ったことはありましたが,小さなデータしか扱ってなかったため,大きなデータベースでの構造の例や注意点などがわかってよかったと思います.

特に僕の場合は純粋な新卒とは違うため,たとえインターンでも実サービスを触れたのは非常に意味のあることだったと思います.

インターンでやったタスクに関してはどこまで話してよいか判断がつかないので,割愛します.

インターン先の良かったこと

念の為,企業名は避けますが,とても自由な社風だったため,縛られることが嫌いな僕にとっては非常にやりやすかったです. 上下関係もかなり薄く,社員の方が役員にもばんばん意見していたのが印象的でした.

また住居もかなり良い場所に用意してもらえて,そのあたりの物件の間取りをネットで眺めていたほどです.

インターン先で好きになれなかったこと

基本的には満足度の高いインターンでしたので
あえて不満点を上げるとしたら,社内がフリーアドレスなことと周りのランチが高いことでした.

フリーアドレスは名前と顔を覚えるのが苦手な自分にとっては致命的でした... (これはインターンにかかわらず,新しく入社した人で辛い人は多いんじゃないかなあ...)

あとは場所的に周りのランチが軒並み高かったことです. 僕は短期間だったので良かったですが,社員の人は地味に辛いんじゃないかなーと思いました.

なんやかんやありましたが,楽しい3週間でした.
準備していただいた方や受け入れた会社・チームの方には感謝しかありません.

帰ってきて,現実に戻されたようです.
研究しないと......

ではまた

ショートカットを組み合わせたgoogle検索がめんどいので,スクリプトを書いた

Ubuntuに移行してからいつもgoogle検索するのに,
1. Ctrl + C
2. Chromeで Ctrl + T
3. Ctrl + V
4. Enter

っていう4段階(他のアプリの文字列を検索する場合はChromeに移動するの含め5段階)を踏むのが面倒くさいのでスクリプトを書きました. (Macだとアプリで設定できた)

環境はUbuntu18.04 LTSです.

まず適当な場所にオリジナルのショートカットキーのファイルを置くディレクトリを作成します.

ホームディレクトリに作る場合は

mkdir  ~/original-shell-script 

ディレクトリに移動して,ファイルを作成

cd ~/original-shell-script
touch choose-search.sh

choose-search.shファイルの中身は

#!/bin/sh
# choose-search 選択したテキストをChromeで検索する
STRING=`xsel`
echo "$STRING" | xsel --clipboard --input
google-chrome -new-tab "http://www.google.co.jp/search?q=$STRING"

※追記
コピーも同時にできるようにしました.(多分もっと楽な書き方ある)

デフォルトブラウザがfirefoxの方はgoogle-chromeの部分をfirefoxに変えてもらえれば大丈夫です.

で,Pathを通します.

export PATH="~/original-shell-script:${PATH}" 

実行権限をつけてあげます.

sudo chmod u+x choose-search.sh

最後に設定>キーボードから,ショートカットのタブを開き,カスタムショートカットの欄で好きなキーに割り当てれば完了です. カスタムショートカットのコマンドの欄には

/home/your-user-name/original-shell-script/choose-search.sh

としておけばOKです. デフォルトなどで設定されているショートカットとかぶらないようにしましょう.

あとは適当にテキストを選択して,割り当てたショートカットキーで検索できれば成功です.

ちなみにUbuntuでもxselが入っていない場合もあるようで,その場合はインストールしてあげてください.

sudo apt update
sudo apt upgrade
sudo apt install xsel

もうアプリとか作ってる人いるかなーと思って探したんだけど,うまいこと見つからなかったので書いてみました. ほんとはもっと機能詰め込もうと思ってファイルにしたので,追加しようと思う.

参考: http://yuzugosho.blog.fc2.com/blog-entry-5.html

ThinkPad X1 Carbon 2018でのUbuntu18.04の設定

f:id:hikaruy0805:20190520015257j:plain

買ったThinkPad X1 Carbonが届いて,Ubuntu 18.04 LTSを入れていろいろ設定したので備忘録として参考にしたサイトとか書いておこうと思う.

基本的な設定

基本的な設定はここを参考にした.

Ubuntu 18.04 LTSをインストールした直後に行う設定 & インストールするソフト

解決した問題

基本設定以外で設定した部分(メモとってないので覚えてる限り).

顔認証

GitHub - boltgolt/howdy: Windows Hello™ style facial authentication for Linux

ファンのコントロール

[ThinkPad X1]Ubuntu GnomeでCPUファンをコントロール – BOOLEE STREET.net

sudo apt install lm_sensors となっているが,正しくは sudo apt install lm-sensors

スリープの有効化とスリープ時のバッテリーの激しい消費の解消

  • BIOSの設定でConfigタブのSleep StateをWindows10をLinuxにする.
  • BIOSの設定で Thunderbolt BIOS Assist Mode を Enabled にする

下の2つの設定もやったけど,上の2つの方法だけでもいいかも.

  • grubの書き換え
sudo vi /etc/default/grub

# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" の部分を下に変更
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi.ec_no_wakeup=1"

sudo update-grub
  • 最適化ツールを入れる

これはイマイチ効果があるかわかってない

### バッテリー最適化ツール
sudo apt-get install powertop

### Ubuntuの電力を実際に最適化するツール
sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw

### ツール起動
sudo tlp start

ログイン後にパスワードがまた聞かれる問題

これはセキュリティ的にいいのかなあ?という感じ

Chrome(Chromium)で毎回出るキーリングのパスワード入力画面を消す (再掲載) : PERI-PERI Sauce

USキーボードでAltで日本語入力の切り替え

これはいろいろな記事があるけど下のやり方が一番シンプルな気がする

Fcitx 設定 > 全体の設定 > 入力メソッドのオンオフ を Lalt Raltに設定

キー配置の入れ替え

Superキーが左Ctrlの近くに位置しているために,ショートカットでCtrlを押したいのにSuperキーを押してしまってランチャーが開いてしまいイライラする現象が多かった.
なのでSuperキーをCtrlキーに,ほとんど使わないFnキーをSuperキーにした. (これは自分の環境下でのキー配置の設定) 実際はここを参考に

https://www.komee.org/entry/2018/10/24/150000 https://qiita.com/macinjoke/items/746c0c0adb74cfdeb9e7

xmodmap -e 'keycode 151 = Super_L'  
xmodmap -e 'keycode 133 = Control_L'

ディアルディスプレイの設定

僕が持ってるディスプレイは解像度が低いので,TWEAKSでPCの解像度を下げる→サイズ調整をデフォルトの200%から100%にして対応した.
多分他にも方法あるのだけど,いまいちうまく行かなかったのでとりあえずこうした.

まだ解決していない問題

指紋認証は今のところ対応してない

だいたいは指紋認証は使えないと書いてあるのだけど,たまに使えると書いてる人もいていろいろやってみた. 結局,ここを見ると今のところ対応してないみたい.

https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_%28Gen_6%29#WWAN/LTE_GUI

音声周り

Macを使ってたのでiPhoneについてくるイヤホンとかAirpodsとか設定しようとしてみたんだけど,マイクは使用上仕方ないとしてイヤホン(出力)も不安定な感じ. 別でイヤホン買ったほうが早いのかなあ・・・

メールクライアントの選定

メールクライアントはGearyを入れてみたんだけど,Macで使ってたSparkに比べるとう〜ん.という感じ.慣れてないだけかなあ?

MacからLinuxにしてみて

まだ慣れてないところとアプリによっては少し不安定なところを除けばすごく軽くて使いやすい.

いろいろ自分でカスタマイズできるのは楽しいなあと思う.

ただMacタッチパッドは相当優秀だったんだなということがわかった.

似たように使える設定もしてみたけど,結局ショートカットとかで操作したほうが楽そう.

Macが嫌になってThinkpad(Linux)にする話

前に記事書いてから半年以上経ってしまっていた。ブログタイトル変えたのは正解な気がする。

Thinkpadを買った。カスタマイズしたのでまだ届いていなくて、ホントは届いてから書こうと思ったんだけど、たぶん環境構築とかで時間取られて書かなさそうなので届く前に書くことにした。

今まで大学で支給されるMacを使ってたんだけど、理由ができてPCを買うことにした。 変える理由は

  • 支給されてるMacだとたまにフリーズする
  • たまに動作チェックとかで使えなくなる
  • 長期的に大学から持ち出すときには申請が必要

だから。

そもそも大学でMacが支給されるだけでうちは恵まれてるのはわかってるんだけど、たまにフリーズするのはつらい。 計算とかは別に計算機があるので困らないんだけど、ぼくはブラウザいっぱい開くし、アプリケーションもけっこう同時に使うのでたまにフリーズしてしまう。 (他の人はフリーズしたことないと言ってる人もいるのでぼくの使い方が悪いだけ)

もう一つは動作チェックが時たまあることと長期的な持ち出しには申請がめんどくさそうなこと。これは支給PCだから当たり前で、むしろうちの大学の支給PCはアプリのインストールとかかなり自由なので、寛容なほうだと思う。

まあつまり、買うのは完全に個人的な理由です。

で、タイトルの、なんでMacではなくてThinkpadにしたかというと

  • Mac高い
  • 最近のMacが微妙な気がする

から。

昔よりは安くなったのかもしれないけど、それでもMacは高い気がする。そこそこいいスペックのを買おうとすると、けっこうな出費になってしまう。

そんで最近のMac、微妙な気がする。 OSアップデートすると致命的な脆弱性あったりするし。(これは昔もあったのかはしらない)

それでもMacはハード面が気に入ってたんだけど、スペック良いノート買おうととすると必ずTouchBarついてくるし(←いらない)、USBはType Cしかないし。キーボードは壊れるし。 Macはハードは完成されてる感あったんだけどなあ・・・

ということでThinkpadにしました。Windowsは開発にはつらそうなので、Linuxにするつもり。支給されてるMacはプレゼンとか用のサブ機にするかなあ。

でもLinuxをちゃんと使うのは初めてなので、どこかで挫折するかもなあ・・・

2日ほど支給PCが使えないみたいなので、昔買ったラズパイで遊んでみようと思う。