2022年7月3日日曜日

GitHubからおこづかいをもらった

 先日、GitHubが「我々の整備士達よ、感謝する」というブログ記事を公開しました。要約すると「みんなに50万ドルあげちゃうよー」ということらしいです。ちょっと要約しすぎちゃったかもしれませんが。

ほー、ずいぶんと気前ええなぁ。ワシんとこにもちょっとでいいから分けてくれんかなぁと思ってGitHubにログインしてみると・・・


!!!!????

2022年6月26日日曜日

6/25にオープンソースカンファレンス2022 北海道に登壇しました

 先週の予告通り、Open Source Conference 2022 Online/Hokkaidoに登壇してきました。

タイトル通り割と砕けた感じで、IoT開発の難しいところとそれを新プロダクトがどのように解決するかを説明したつもりです。

2022年6月19日日曜日

6/25にオープンソースカンファレンス2022 北海道に登壇します

 来る6月25日、Open Source Conference 2022 Online/Hokkaidoが開催されます。

枠をもらってちょっとお話させてもらいます。

リンク先の通り、IoT開発についてのお話なんですが、まあだいたい会社の新プロダクトの紹介です。

あまり専門的になりすぎないようにIoT開発を完全に理解した人あたりがメインターゲットですが、「開発したことないけど概要くらいは知ってる」という人でも大丈夫です。たださすがに「IoTって何?」という人は聞いても理解できないと思います。

IoT開発に興味ある人はぜひ聞きに来てください。

「パワポってデザインどうしても汚くなるんだよなー」と思いながら発表スライドを作成して、とりあえず下書きレベルで作ったものを部署内のパワポマスターに渡したら、めっちゃキレイなスライドになって返ってきました。

単にこっちのデザインセンスないだけでした。パワポごめんね。君は悪くない。

2022年6月12日日曜日

通信プロトコルのトリビア

 セキュリティ・キャンプ2022全国大会の選考が先日締め切られました。若いエンジニアのみなさんは未来のIT業界を背負うべく、こういう場所でしっかり学んでいってください。

ワシはもう若くないからええんじゃ。

さて、応募課題の中でちょっとおもしろい問題があったので考察してみましょう。

2022年6月5日日曜日

冗長化されたルーター経由のpingが通らないことがある

 最近ハマったので記録を残しておきます。まあ例によって原因は単純なミスなんですが、例によって仰々しく書いてみます。。

図のようなネットワーク構成を想定してください。

  • 2つのネットワークがある
  • それぞれのネットワーク内にはサーバーがある
  • 2つのネットワークはルーターでつながっている
    • ルーターはVyOSを使っている
    • ルーターは2台あり、冗長化されている(片方が落ちても問題ない)

この状態でA→Bにpingを飛ばすとちゃんと返事が返ってくるのに、逆方向(B→A)は返ってこないという摩訶不思議な現象が発生していました。

補足として、firewalldやufw等のファイヤーウォールは特に入れておらず、ルーティングテーブルも適切に設定されています。

なお、これはクイズではないので、唯一の正解にたどり着く情報が与えられているわけではありません。ただし、よく読めば「ここが怪しいんじゃない?」とわかるヒントは入れてあります。

2022年5月29日日曜日

value-schema v4.0.0-rc.1をリリースしました

 前回の報告(v3.1.0)からしばらく時間が経ってしまいましたが、入力値バリデーターvalue-schemaがメジャーバージョンアップしました。といっても便利機能が追加されたというわけではなく、一身上の都合でバージョンを上げざるを得なかったというのが正解です。

不具合修正等があるわけではないので、今までv3を使っていた方はそのまま使い続けても問題ありません。

2022年5月22日日曜日

会議が長引くとお嘆きのあなたへ

 会議のコントロールは難しく、なかなか時間通り終わらないこともあります。特にリモートワークの職場では、「会議室がこの時間までしか使えない」とか「後が閊えている」ということもないので「ちょっとくらい長引いてもいいや」みたいな心理が働くこともあります。

長引く会議というものはだいたいパターンが決まっているので、いくつかの点に注意すればかなりの確度で時間内で終わらせることができるようになります。特に進行役を務めるときはここに書いてあることを心がけてみてください。

2022年5月15日日曜日

SoftBankコールセンターに学ぶUX改善

 突然ですが、コールセンターってだいたい繋がりにくいじゃないですか。何分も待たされてイライラすることはよくあると思います。

限られた人数でたくさんの電話に対応しないといけないし、用件によっては時間もかかるし、コロナ事情で出勤する人の数を減らしている場合もあるし、事情はわかります。

さて、あなたがこんな状況で「UXを改善しろ」と言われたらどうしますか?

2022年5月8日日曜日

母の日のプレゼント

 本日5月8日は母の日。お母さんへ日頃の感謝を込めて素敵なプレゼントを贈りましょう。

え?何を贈ればいいかわからない?仕方ないなぁ・・・そんな人にピッタリの贈り物を用意しました。

2022年5月1日日曜日

ソフトウェアのバージョン番号について

 ソフトウェアのバージョン番号ってみんな好き勝手につけるじゃないですか。

番号のつけ方にどういうものがあったっけーとふと思って、有名なやつをちょっと調べてみました。新しいネタやためになりそうな考察は特に何もありません。

2022年4月24日日曜日

マニュアルには「文章」を書くな

 今回はマニュアルの書き方についてのお話です。

マニュアルの書き方って難しいですよね。何が難しいかって、「製品のことをよく知っている人が、何も知らない人にもわかるように書かないといけない」ということです。つい専門用語を使ってしまうこともあります。

今回は、マニュアルを書くときに気をつけるべきことについてです。

2022年4月17日日曜日

キーボードカバーはシリコンゴム製を使え

 みなさんキーボードカバー使ってますか?気をつけて使っているつもりでもホコリが入ってしまうとかでカバーを使う人もいるかと思います。

そこで今回の話ですが、まあタイトルで既にネタバレしてるんですがカバーそのものではなくて素材の話です。もうちょっと正確に言うと

「(ノートPCの)キーボードカバーは(ウレタンゴムより)シリコンゴム製を使え」

です。

2022年4月10日日曜日

Chrome OS Flexを試してみた

 以前、Google Chrome OSを普通のPCで使えるChrome OS Flexが出たという話を耳にしました。我が家にも使わなくなったPCが何台かあるので、Chrome OS初体験も兼ねてちょっと試してみることに。

2022年4月3日日曜日

新卒一括採用の意義

 4月です。慣れないスーツを着た初々しい新社会人を街でよく見かける時期だと思うんですが、こちとらリモートワークで篭りっきりで新社会人なんて誰一人見ていません。

さて、去年経団連から発表があったとおり、(経団連加盟企業の)新卒一括採用が廃止されました。一括採用は世間では批判されることもありますし、事実今回廃止されたのはデメリットが多いということなのでしょうが、逆に言えば今まではメリットが多かったから行われていたということで。

是非は一旦置いておいて、今回は「新卒一括採用のメリット」をまとめてみました。賛同も批判も事情を知ってから。

2022年3月27日日曜日

MORISAWA BIZ UD ゴシック/明朝のGentooパッケージを作ってみた

 モリサワからMORISAWA BIZ+ 無償版(BIZ UDゴシック・BIZ UD明朝)がオープンソースで公開されたとのニュースを聞きました。Linuxで自由に使える日本語フォントはあまり多くないので、こういう動きはとてもありがたいですね。

別にフォントが大好物というわけではないんですが、少しでもLinuxの世界を使いやすくするために、さっそくGentoo用のパッケージを作ってみました。

しばらくデスクトップのフォントを変えてニヤニヤしていたんですが、やっぱりデスクトップでは今まで使っていたNoto Sans Gothicを使うことにしました。印刷用の文書作成とかのピンポイントで使う場面はありそうです。

2022年3月20日日曜日

パスワードを意図的にハッシュ化しないケースについて

ちょうど1ヶ月前にパスワードの制限が厳しいとハッシュ化していない可能性が高い理由についての記事を書きました。

そして先日携帯キャリアがパスワードを平分のまま保存しているというニュースが流れました。

今回はTwitterから広がったみたいですけど、ぶっちゃけ今更だよね?・・・というツッコミは置いといて、本件について勝手にコメンテーターになってみます。

2022年3月13日日曜日

CodeのGentoo用パッケージを作ってみた

Codeというソースコードエディターがあります。Visual Studio Codeや、そのOSS版 Code - OSS のことではありません。

elementary OSに付属しているエディターです。なんとまぎらわしい

elementary OS自体知らない人も多いかもしれませんが、UbuntuベースでmacOSっぽい見た目のOSです。

このCodeはVSCodeのようにElectronベースではなく、Vala言語で書かれてネイティブコードにコンパイルされるエディターです。あまり有名じゃないためなのかelementary OS用に書かれたためなのかわかりませんが、Gentoo Linux用のパッケージがなかったのでオレオレリポジトリーに追加してみました。

パッケージ名はapp-editors/codeです。

2022年3月6日日曜日

ビジネス向けSNSのプロフィールを更新した

 ふーん、あっそ

と言われそうなタイトルですが、記事にしたのは理由があります。

2022年2月27日日曜日

JavaScriptで予約語を使わないワンライナーFizzBuzz

今回はただのネタです。

Code Golfとは別方向の趣向で、予約語を使わないFizzBuzzの実装です。

Array(100).fill(0).map((_,i)=>console.log(++i%15?i%5?i%3?i:"Fizz":"Buzz":"FizzBuzz"))

これでもまだわかりやすい部類の書き方だと思うので、わかりやすさを犠牲にすれば多分もっと文字数は減らせます。

他の言語ではどうなるんだろう。CとかJavaみたいに絶対に実現できない言語もあるけど。

プログラミングスクール生のみなさん、FizzBuzzの課題を出されたらこれを提出してもいいですよ

2022年2月20日日曜日

パスワードの制限が厳しいとハッシュ化していない可能性が高い理由

以前、イライラするパスワード登録画面5選という記事でこんな趣旨のことを書きました。

パスワードが「8文字以上16文字以下で入力してください」とか「英数字で入力してください」のように制限が厳しいサービスは、パスワードをハッシュ化せずにそのままDBに保存している可能性が高い

生パスワードをそのまま保存する危険性については言わずもがなですが、上記の内容について先日「なんで?」という質問を受けたので、この場でも書いておきます。

2022年2月13日日曜日

ヤバいエラーには早く気づきたい

みなさん、作ったウェブサービスが吐いているログをちゃんと確認していますか?

サービス監視、ログファイルの出力と集約の設定はやった。でもログの監視をしていなくて、ヤバいエラーが出ていたのに気づかずにユーザーから問い合わせが来て初めて知った・・・みたいなことは割とあるあるです。

これをなんとかした話。とは言っても別に画期的な方法とかではありません。

2022年2月6日日曜日

JavaScriptで非同期処理のawaitつけ忘れを防ぐ

 JavaScriptでバックエンド開発していると非同期処理を使うことが多いですよね。

そこで問題になるのがasync関数に対するawaitのつけ忘れ。まだasync/awaitが使えなくてPromiseオブジェクトに対してthen()catch()をしていた頃ならすぐ気づいたんですが、単に関数呼び出しにawaitをつけるだけというのは便利な反面忘れやすいです。よくやらかします。

JavaScriptは実行するまでPromiseオブジェクトかどうかわからないからESLintじゃ検出できないよなぁ。TypeScript ESLintならできるんかなぁと思いながらルールを探したらありました。

2022年1月30日日曜日

Linuxカーネルを更新したらタッチパッドが使えなくなった

 今まではGentoo Linuxで5.10系のカーネルを使っていたんですが、ちょっと前に5.15系に上げたら急にタッチパッドが使えなくなりました。

そのせいでしばらく5.10系に戻して使っていたんですが、さすがにいつまでもバージョンアップしないわけにはいかないよなぁ・・・と思って原因を調べたところ、原因は意外とあっさり見つかりました。

原因はこちら

どうやら5.12で設定が分割されて、新しいCONFIG_I2C_HID_ACPIモジュールがデフォルトでオフになっていたようです。

こいつをオンにして再ビルドをかけたら無事タッチパッドが使えるようになりました。めでたしめでたし。


2022年1月23日日曜日

アプリケーションは300系リダイレクトするけどクライアントは実体を受け取れるようにする方法

 ウェブサービスを作っていると、大きなファイルを認証付きでダウンロードさせたいけど、ダウンロード処理自体はアプリケーションサーバーを経由したくない場合があります。

それだけならアプリケーションサーバーから300系のリダイレクトを使えばいいんですが、クライアント側に実体のURLを知られたくない場合もあります。

例えばこんな状況。

  • ECサイトでダウンロード商品を扱っていて、ダウンロードファイル自体はアプリケーションサーバーとは別のサーバーにある
  • 商品を購入済みの人にだけダウンロードを許可したいので、商品購入済みかどうかをダウンロード前にアプリケーション側でチェックしたい
  • でもダウンロード処理自体にはアプリケーションサーバーを経由したくない(例えば、ダウンロードのためにPHPのreadfile()とかで別サーバーのファイルを読みたくない)
  • かといってアプリケーションサーバーから300系リダイレクトをするとクライアントにファイルの実体のURLが知られてしまうので、リダイレクトはやりたくない(S3の署名付きURLのような上等なものは使えない)
つまり「ダウンロード要求をアプリケーションが受けるけど、アプリケーションからは実体を返したくない。でもクライアントには実体を届けたい」という困ったちゃんな要望。

2022年1月16日日曜日

イライラするパスワード登録画面5選

 世の中には色々なウェブサービスがあるわけですが、特にパスワード登録に関してはひどいUIが本当に多いです。

以下に挙げるものは、全て今までに遭遇した実際にあるウェブサービスのパスワード登録画面です。

2022年1月9日日曜日

6時間歩いて靭帯を痛めた

新年早々のドジというか、昨年最後のドジの話です。

某位置ゲーで、1日に3万歩歩くとはぐれメタルが出るということで大晦日の昼頃から歩き始めました。自分のペースだと、だいたい2時間で1万歩くらいなので3万歩を達成するためには6時間ほど必要です。普段バスや車を使うルートをひたすら歩いていったんですが、特に目的地もなく歩くこと自体が目的でひたすら歩くのは精神的にもきついです。

4時間ほど経過した頃、足の親指の付け根付近に水ぶくれができてそのまま歩くのがしんどくなってきました。3万歩を諦めてバスで家まで帰ろうとも思いましたが、運悪くバスが通らない場所だったたので、水ぶくれの部分が靴に触れないように足の外側に体重をかけた状態で残りの2時間を歩きました

そんなこんなでどうにか帰宅したんですが、家に帰ってからは足が捻挫したような痛みが激しくなりました。そりゃ2時間もあんな体勢で歩けば無理もない。

多分一時的なものだから明日には治ってるだろうと思って2022年を迎えましたが一向に治らず。正月明けに病院に行って、靭帯損傷の診断を受けました。しばらく家で安静にする生活です。

なお、家についた頃には3万歩にわずかに及ばず、しばらく家の周りをウロウロするという不審者ムーブを繰り返した結果、はぐれメタルを無事にゲットしました。

2022年1月2日日曜日

ウェブサービスをモノレポ化しようとして諦めた話

 あけましておめでとうございます。

現在技術アドバイザーとして参画している会社が提供しているウェブサービスは、いわゆるSPA構成でフロントエンドとバックエンドを完全に(リポジトリー単位で)分離しています。

新年一発目は、そんな分離されたサービスをモノレポ化しようといろいろ画策して最終的に諦めた話です。