Linux の 1Password において OTP が incorrect と言われる
前提
tl;dr
$ sudo timedatectl set-ntp true
こちらで NTP service を active にしたら解消した
問題
- 例えば Twitter にログインしようとする
- Twitter から ID と Password を聞かれる。1Password が自動入力する
- Twitter から OTP を聞かれる。 1Password が自動入力する
- 「あ~もう一回言ってくれ」と Twitter から言われる
解消まで
原因を漁ったりしていたときにこんな投稿を見つけた。
この関係で時刻がまるっとずれていました。ありがとうございます! https://t.co/Pk2RRPEi1U
— マスタカ (@masutaka) 2022年10月15日
自分ももしやと思いこちらを参照、実践してみるも解決せず。
ここでなんとなく timedatectl status を見たところ NTP service が inactive になってるのが気になった。
ここを activeに変えたところ(コマンドは tl;dr 参照)無事に正しい OTP を生成するようになり、無事ログインできるようになった
@leakFromSawada の最優秀産業廃棄物などをまとめる[2023年]
前年
前提事項
Q, leakFromSawada ってなに? A, 身内の discord サーバーの特定チャンネルの発言をツイッターに流す Bot
Q, 最優秀産業廃棄物とは? A, その年で一番
- これはクソ
- 大変な核爆弾
- 怒られろ という反応が強いもの。要はうんちツイート
最優秀産業廃棄物
巨乳雀士の得意役 乳々和(パイパイホー)
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年12月17日
アッ……出る…っ……PR出ちゃう……っ…!
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年12月25日
これで正しくエーテルエネルギーを送れるはず
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年11月12日
和多志の氣を伝えます! pic.twitter.com/nF7DxC1Xf7
ただのデブのカロリミット
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年12月3日
「いっぱいデブる食べる好き〜♪」
Amazon QというAI製品が発表されたらしい、これはAmazonが光の戦士側でありMSやGoogleとAIで戦うぞということのアピールに違いない俺は詳しいんだ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年11月28日
規格化されたメスガキ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月30日
JISガキ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年11月10日
ADHDのButterfly「だけど wow wow wowowow~ 明日の予定も分からない……」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年10月21日
キレた炭治郎、略して切れ痔
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年10月8日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年6月22日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月7日
セクハラに敏感なナンパ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年7月16日
「きみかわいいね!てかライン超えてる?」
キートン・マスク「サ終へつづく。」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年7月2日
この木なんの木
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年6月13日
死 体 遺 棄
サークルKシャンクス「安いもんだ、ブランドの一つくらい」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年5月7日
場所当てゲームで戦うゲッターロボのOVA
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年5月6日
真ゲッターロボ 対 ジオゲッサーロボ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年3月3日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年3月3日
Macintosh の FU*KING の部分
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年2月9日
トウキョウ・シャンディ・ランデヴの右京の部分 pic.twitter.com/iPHOnWZshW
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年1月31日
やきう天神「阪神阪神阪神阪神阪神❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ ❗ 」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年1月6日
課題の期限がやばい大学生「慢心慢心慢心慢心慢心!!!!!!!!!!」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年1月6日
人々が一人で焼肉屋へ行き、人間火力発電機になったことで起こる現象を
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年1月10日
地球うおォン暖化
といいます
名誉出禁
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年12月13日
(後日談: 本当にBANになった。)
ミルタンク♂はおちんちんいっぱいボーイだった?
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年12月8日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年11月30日
黒人のヴィーガン
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月28日
二ーガン
まんがタイムきららを読みながらうんこをするという私の習慣のせいで、『うんこタイムきらら』という最悪の名詞が家庭で横行している
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年10月3日
京都人プログラマ「えらい丁寧でええ思いますさかいこの調子でもう少し書いとおおくれやす。(明らかに過剰な実装だろうがボケナスさっさと書き直せ。)」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月27日
セルフフェラ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月13日
脊髄折れて
全治2年
575
やくもがいうと
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月13日
おもみがちがう
が奇跡の77
ケツ穴に点鼻薬突っ込んだら鼻炎治った
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月9日
マジで最低なもの作った
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年9月6日
ごめんなさい pic.twitter.com/wBLpq1VCU2
シコりぐま、しぐまじゃん、誰がシコりぐまやねん○すぞ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年5月29日
ツイッター社の飲み会「とりあえずイーロンハイ1つ!w」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年5月10日
ごはんの中に真実を隠した人
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年3月22日
「真相はヤミーの中」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年3月14日
エロ本柱
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年2月13日
煉獄ほおおおぉお゛♡♡♡寿朗
おギンギンチンチンしちゃうのぉぉ♡
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年2月3日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年1月3日
ちょいとヘンテコだよ頭が
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年4月22日
アララ高卒バカまんこ~
という替え歌を聞いてから一生頭から離れない病気になってしまった。
これなに?
陰毛論
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年10月9日
無茶苦茶うんちでた。
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年11月13日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年10月1日
ケンタッキーふたなりちんちん
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年4月20日
乳首の結婚式
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年3月5日
「乳首、乳頭」
オラフのオナホ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年3月5日
オナフ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年2月10日
三十路にシコってミソジニーw
— Leaked from さわださんのお部屋 (@leakFromSawada) 2023年1月13日
株式会社トップゲートを退職しました
tl;dr
- 株式会社トップゲートを退職しました
- 実は他の会社から転籍してトップゲートに行ってます
- 次回は corp.wise-vine.com で働きます
退職の話
この度、勤務していた株式会社トップゲートから退職する運びとなりました。 約1年半の期間お世話になっていたことになります。
もともとは友人の誘いで別の会社に入ったのですが、転籍の形でトップゲートに入ってそこで仕事をする形になって現在に至ります。 この会社内では初めてフロントエンドまわり(フロントエンドのCI, CDなども対応範囲)を専任でさせていただく形になりましたが、最初はアーキテクチャ的な話にも気が配れず雰囲気で済ませている人間だったのですが先人の知識を数多く見ることで成長し、ここ最近で逆に教える立場になるくらいには成長できたのかなと考えています。 この会社に居たことによって多くの先人の知恵を吸収できたこと、多くの向上意識のあるエンジニアに囲まれて仕事ができたこと、上げだしたらきりがないくらい自分はこの会社で仕事したことによって得たものがありました。 本当に自分はラッキーでした。
開発者、PM陣、その他の方々には大変お世話になりました。 この場でお礼申し上げます。 ありがとうございました。 今後も個人的にであれば引き続きお付き合い頂けると幸いです。
node-jeneralize について
在籍中に起こした node-jeneralize ですが、トップゲートから退職したあとも引き続き owner としてリポジトリのメンテナンスを引き続き行っていきます。 pkfire や、最近出した mti についても行っていきますのでご支援の程をおねがいします。
to be continued...
次回予告です。Round about を流して例のところで下に流してください。

@leakFromSawada の最優秀産業廃棄物などをまとめる
前提事項
Q, leakFromSawada ってなに?
A, 身内の discord サーバーの特定チャンネルの発言をツイッターに流す Bot
Q, 最優秀産業廃棄物とは?
A, その年で一番
- これはクソ
- 大変な核爆弾
- 怒られろ
という反応が強いもの。要はうんちツイート
最優秀産業廃棄物
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年10月25日
ふたなり妊婦のちんぽって
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年9月22日
にんぽなのかな
語彙力の高いメスガキ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年9月16日
「跳梁跋〜扈♡」
ちょうりょう-ばっこ【跳梁跋扈】
ほしいままに行動すること。悪人などがのさばり、はびこること。
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年9月14日
Q.パンツはパンツでも、ミチョマンパできないソヌペルムは?
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年8月14日
A.オクラ
❌ クウラ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年9月2日
⭕ クーラー pic.twitter.com/NOeyZZt4YU
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年6月18日
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年6月12日
えなりかずきのアンチ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年6月12日
えなりかすすぎ
プロデューサー様….
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年5月4日
凛世は……..
ドブネズミのように美しくなりとう存じます……..
凛世凛世〜!!!!!!!
凛世凛世凛世〜!!!!!!!!
「え〜今から人体を切断します」
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年4月6日
ザシュ
「…」
「え?種明かしとかは…?」
“””本気(マジ)”””シャン
名誉出禁
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年8月24日
もちもちのおちんちん
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年5月11日
もちんちん
タンドリーチキンを作る段取りをきちんと確かめないとね。
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年5月3日
性感を強く感じる大統領
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年4月23日
ビンカーン
事故ーらを、摘発しようと思ってる。
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年3月28日
同僚のみんなには、悪いけど。
抜け駆けで。
次の捜査日、令状入るから。
マスコミ呼び出して。そこで事実伝える。
事故ーらは警察に検挙されたことないから。
びっくりするかもだけど。
もう事実を伝えるのを我慢できないから。
さわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわださわだ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年3月12日
ママママ!!!!!👶👶🍼🍼🍼👶👶🍼💖💖❤️アンバブバブバブブブブブ〜〜〜〜〜〜〜!!!🍼🍼❤️👶👶💞だいしゅき!だいしゅき!!👶👶❤️❤️🍼🍼💞💖💞アウアウブビビビビビ!!!🍼🍼🍼👶👶👶❤️❤️ママ!アウ〜〜〜〜〜!!!👶👶🍼🍼❤️💖💖🍼🍼👶💖バ〜〜〜ブ〜〜!!!!🍼🍼👶❤️❤️💖👶💞❤️❤️💖💞👶🍼
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年3月7日
メス牡蠣にわからせられて便所から動けなくなりましたとさ
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年3月14日
成仏も簡単
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年6月20日
そう、iPhoneならね
ジョブスしてクレメンス
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年6月24日
これなに?
ごめんなさい
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年5月2日
おはよう、涙出てきた
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年3月7日
無事インポになった
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年5月28日
よかった〜
— Leaked from さわださんのお部屋 (@leakFromSawada) 2022年5月31日
TypeScript の `String#toString` を使うと返却型が `string` にできる裏技(伊東家の食卓)
なにを言ってるんだァおめー?と思っている人が居たらそれは正しくて、あたしもこのタイトルを書いておいて(コンテキスト0だとあたりまえ体操だな)となっているワケですわね。
例題
2つの等しい value を持つ object が存在するとして、共通の value のみ残した object を作りたいと思う
const values = {
hoge: 'fuga',
moge: 'piyo',
} as const;
const searchTarget = {
hoge: 'fuga',
moge: 'boeeeee',
};
// values と searchTarget で共通の value を持つキーのみ残したものを作りたい
// const newValue = { hoge: 'fuga' }; // のような
このとき Object#fromEntries と Object#entries を使って以下のような実装をすると思う
Object.fromEntries(
Object.entries(searchTarget).filter(
([_, text]) => Object.values(values).includes(text)
)
)
js のコンテキストとしては問題ない、がTS のコンテキストだとエラーになる

なにが問題?
エラー出力の内容の通りなのだが Object.values で引っ張ってきた配列の型が 'fuga' | 'piyo' になっていて Object.entries(searchTarget) で引っ張ってくる text が string のため適合しないと言われる
解法
1. toString() を経由した string へのダウンキャスト
社で教えてもらった方法。 String#toString を 利用( 悪用 ) しつつ Array#some で検索するようにする
Object.fromEntries(
Object.entries(searchTarget).filter(
([_, text]) => Object.values(values)
.some((value) => value.toString() === text) // value の定義は 'fuga' | 'piyo'
)
)
Array の存在確認系の実装は脳死で includes() 使いがちだったのだが some() を使えば中でごにょごにょできる。
その上で value に対して toString を使う。すると型定義が string にダウンキャストされる

これによって型が適合する
2. Object.values に対してジェネリクスで string を渡す
身内の Discord のメンバーの人に教えてもらった方法。こちらはタイトルと関係ないがスマートなのでご紹介。
Object.fromEntries(
Object.entries(searchTarget).filter(
([_, text]) => Object.values<string>(values).includes(text)
)
)
Object.values が実はジェネリクスを受け取れるのでこれに string を渡してやる。
すると Object.values の返却型が string[] となるので includes() を使用しても問題なくなる。
playground
Playground のリンクを載せておくので興味がある人は触ってみると良いかも。
`.eslintrc` や `.prettierrc`, `tsconfig.json` の Interface がどこに存在するのか
たぶんそんなに需要がある話ではないだろうけど。たまたま触る機会があったので。
.prettierrc
Options の名前で export されているのでこれを引っ張って来ればいい。
import { Options } from 'prettier';
const option: Options = {
semi: true,
singleQuote: true,
tabWidth: 2,
bracketSpacing: true,
arrowParens: 'always',
endOfLine: 'lf',
};
ちなみにこの型定義は prettier をインストールするだけで参照できるようになる。Prettier 側が自動で入れるように指定しているのか、はたまた何かがフックされているのかは分からん。
.eslintrc
こちらは module ではなく Linter という namespace 内部で定義されている。
import { Linter } from 'eslint';
type BaseConfig = Linter.Config;
type RuleRecord = Linter.RuleRecord;
const config: BaseConfig = {
root: true,
env: {
es6: true,
node: true,
},
// 以下省略
}
const addRule = (rule: RuleRecord): void => {
config.rules = {
...config.rules,
...rule,
};
);
多少雑なコードを書いたがこんなイメージだろうか
こちらは @types/eslint が必ず必要なので別でインストールが必要
tsconfig.json
一番探すのに苦労した。最終的には pkg-types というモジュールが提供していたのでこちらを使うことになるのかなという気持ちだった。
ちなみに tsconfig.json の interface 以外にも package.json の型定義も提供しており、それのアクセスメソッドや生成メソッドも提供している中々に有益そうなパッケージとなっている。
tsconfig の型定義は TSConfig という名前で export されているので、以下コードで引っ張ってきて使うことができる
import { TSConfig } from 'pkg-types';
const config: TSConfig = {
compilerOptions: {
module: 'commonjs',
target: 'ES2018',
// 以下省略
},
};
2021年で買ってよかったものをいくつか紹介したい
まだ2021年なのでOK
1つ目: くるま
BMW 116i MSport納車しました!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!俺の車だァァァァァァァァァァァァ!!!!!!!! pic.twitter.com/927w7DVjEQ
— Haru Yakumo 🍮 (@huequica) September 26, 2021
え~, これはもう言うまでもないでしょ
実際これで東京にも静岡にも旅行行ってるので
ローンで180万を4年かけて返済する 覚悟 をもって買いましたが, 未だに自分の車だという実感ないまま乗ってます.
2つ目: 42インチの4Kモニタ
こちらです
かなりの大画面なので運搬も設置も地獄でしたがそれに見合ったパフォーマンスを発揮してます.
自分がリモートワーカーなので仕事でもこのモニターを使っているのですが, 画面が大きいと Slack と WebStorm を同デスクトップで展開できるので開発効率やコミュニケーションの反応レスポンスが多少上がった気がします.
今まで27インチのモニター2枚を横並びで使ってましたが, これ1枚で済むくらい良いものです
マジで買うべき
3つ目: Discord Nitro
厳密には 買ったもの ではないのですが, 会社で Discord をミーティングに頻繁に使うので契約して正解でした. あと絵文字が好き放題できるので使ってて楽しいのも大きいです.
4つ目: SwitchBot
こいつらを設置して認証付きのプロキシAPIを実装したことで家の家電を外で操作したりすることができるようになりました.
例えば外出先で帰るタイミングでAPIを叩くことで先にエアコンで部屋を暖かくしたりとかできるようになるわけですね.
実装したAPIについては CloudFunctions にて稼働させています.
5つ目: ミラーレス一眼(富士フイルム X-A7)
「これ買って生活変わりました!!おすすめです!!!!」とか言うほど変な人間ではないですが, 趣味として買いました.
北海道行くときにも持っていきましたが買ってよかったと思います. 携帯で撮る写真とは格が違うのを感じます
ということで5つ紹介しました.
来年は何を買うんでしょうか. いや既に決まってるんですけどね