タグ

ブックマーク / sho.tdiary.net (26)

  • #WizardBible 事件から考えるサイバーセキュリティ - ただのにっき(2022-01-03)

    ■ #WizardBible 事件から考えるサイバーセキュリティ 年末年始休暇でやりたかったこと第2弾。年末2日寝込んでいたのもあって、けっきょく2つしか消化できなかったよ、トホホ。それにしても、ものすごく久しぶりに読書記録をつけてる気がする*1。 ご存じ「Wizard Bible事件」「Coinhive事件」「アラートループ事件」からなる、近年のサイバーセキュリティ3大冤罪事件をまとめたである。出版にあたってクラウドファンディングが行われたんだけど、たしかそれを知ったときには目標を達成していた覚えがある。とにかく業界の注目度はめちゃくちゃ高いので、さもありなんという。 それぞれの事件はわりと熱心に追っていたし、約3年前のイベントにも参加していたから全体像は把握していたものの、書はそれに加えて当事者への詳細なインタビューと、この手の刑事事件に巻き込まれてしまったときの対処法まで詳しく書

    #WizardBible 事件から考えるサイバーセキュリティ - ただのにっき(2022-01-03)
    peketamin
    peketamin 2022/01/04
  • 今日からfreeeで働き始めた - ただのにっき(2020-10-01)

    ■ 今日からfreeeで働き始めた 昨日の退職エントリの反応をみていたかみさんが、定年退職と勘違いしている読者がいるんじゃないかと指摘してきて、そんなばかな、ちゃんと転職活動したって書いてるやんと思ったが、Twitterの140文字すら全部読まない人が大勢いるご時世なんだからあり得ない話じゃないかもねぇ。やっぱり東亜飯店の写真を貼るべきだったか。 実際のところ30年も勤めると形式上は(いわゆる早期退職としての)定年扱いになっているので間違っちゃいないとも言えるが、少なくともあと10年くらいは働きたいわけです。できればSIer以外で(笑)。 そんなわけで、前職よりはるかに若くて元気のいい会社「freee」に移りました! 実はこれを書いているのは4日なんだけど、この週末は前日までの洪水のごときオンボーディングでへとへとになっていたので、日曜の夜になって気力が回復してから書いてるという。歳くって

    peketamin
    peketamin 2020/10/05
  • 31年勤めた富士通グループから退職した - ただのにっき(2020-09-30)

    ■ 31年勤めた富士通グループから退職した この日記では明に所属企業を書いたことはなかったけど、仕事がらみのイベントとかでは普通に名刺を配ったりもしていたので、ご存じの方にはご存じだったと思うが、新卒で入社してからずーっと富士通の子会社に所属していた*1。 今年はその富士通でマネージャになってちょうど20年になる。20年前にはまるで世をはかなんでいるような日記を書いているけど、けっきょくそのまま居座ってマネジメント畑を耕していた。20年のキャリアつったら、普通に考えてもプロ中のプロですよ。ずっとエンジニアのつもりだったのに、気がついたらマネジメントのプロフェッショナルになっていたという。人生なにがあるかわかったもんじゃないね。 富士通に限らず、日の多くの伝統的な企業には役職離任という制度があって、定年より前に一定の年齢に達すると管理職を解かれて一般社員相当の身分になる。制度そのものには(

    31年勤めた富士通グループから退職した - ただのにっき(2020-09-30)
    peketamin
    peketamin 2020/10/01
  • kindlegen、いきなり終了, ミリシタイベント プラチナスターツアー「Deep, Deep Blue」(ダイヤモンドダイバー◇) - ただのにっき(2020-08-26)

    kindlegen、いきなり終了 おれが公開しているgemの中で、もしかすると一番ワールドワイドで使われてるんじゃないかという疑惑の「kindlegen」ってのがあって、ようするに: kindle向けファイルコンバータ「kindlegen」コマンドを gemのインストール時にダウンロードして展開し Kindlegenという薄いモジュール経由で実行可能にする というシロモノなのだけど、まぁRubyプログラムの中からKindle向けのドキュメントを生成するのに一番ラクな方法を提供しているのは確かなので、小規模な電子書籍出版社がRailsで作ったサービスの中で使っていたりするらしい。怖いこわい。 で、その生命線たるAmazon謹製のkindlegenコマンドが、いきなり終了になった……というニュースを、そのkindlegen gemのissueで知らされた*1。うへぇ。 最近まったく更新がな

    kindlegen、いきなり終了, ミリシタイベント プラチナスターツアー「Deep, Deep Blue」(ダイヤモンドダイバー◇) - ただのにっき(2020-08-26)
    peketamin
    peketamin 2020/09/01
  • WSLの代わりにDockerを使う - ただのにっき(2020-07-23)

    ■ WSLの代わりにDockerを使う 自宅で仕事をするようになって、さすがにWSLのI/Oの遅さに嫌気が差してきた今日このごろ。 世間的にはWindows10 2004*1のWSL2がたいへん評判が良くて、おれもはやく移行したいんだけど、2004にまだけっこう致命的なバグがあって、関係するデバイスを持つうちのPCにはまだ当てられそうにない。PCも古いので買い換える予定なんだけど、まだ機種選定中なものだから、WSL2までのつなぎとして、同じHyper-V上の仮想環境であるDockerをWSLの代わりに使うことにした。 といってもやったことはそんなに難しくはない。ちょっとした自作ツールはだいたいRubyで書いてあるので、ベースにするイメージを「ruby:2」にしてDockerfileを書く。rubyの公式イメージは使い慣れたdebianをベースにしているので都合がいい: FROM ruby:

    peketamin
    peketamin 2020/07/25
  • OSSライセンスMeetup Vol.2「実録:GPL違反とその対応を振り返る」へ行ってきた - ただのにっき(2019-02-21)

    ■ OSSライセンスMeetup Vol.2「実録:GPL違反とその対応を振り返る」へ行ってきた つい最近、仕事でGNUライセンスがらみのインシデントがあって疲弊していたところ、タイムリー(?)にこんなイベントが目に入ったので参加。初回はぜんぜん気づかなかったなー。 ライセンス話だとよく見かける人たちも多数参加していて、ライセンスみたいな汎用的な話題でもコミュニティに偏りが発生しているのは興味深いです(良くはない)。場所は以前OSS Gateでもお世話になったサイオス。さほど駅近じゃないので移動がけっこう大変だけど、開始時間を遅くされると早めに帰らなきゃいけなくなるから難しいところだ。 イベント説明に「2002年のGPL違反」と書いてあったので予習しようと思ってググったら、Sigma Designの件とエプソンコーワの件*1が出てきたけど、講演者の経歴からいって後者かな(←あたり)。かくし

    OSSライセンスMeetup Vol.2「実録:GPL違反とその対応を振り返る」へ行ってきた - ただのにっき(2019-02-21)
    peketamin
    peketamin 2019/02/23
  • 常用エディタをVisual Studio Codeに変えようかな(挫折する予感はある) - ただのにっき(2018-07-20)

    ■ 常用エディタをVisual Studio Codeに変えようかな(挫折する予感はある) 普段はさほどカスタマイズしていないvimでコード(やコード以外のなんでも)を書いていて、sshで乗り込んだ先でもローカルといっさい違いのない環境でものが書けるのはとてもいいし、困ったことは特にない。とはいえ、いろんな支援技術が入っている最近のエディタも使ってみたいんだよなぁ……とはもう何年も考えてるんだけど、ここらでえいやっと取り組んでみることに。とりあえず勢いのあるVS CODEがいいんじゃないの。 目標は、職場(Ubuntu Desktop)と自宅(Windows 10)で同じ環境にすること。WindowsではWSLを使っているから、基的にLinuxに合わせるのがいい。ということで、まずはUbuntu 18に導入。これはらくちん。 ちゃんとハード3タブにできるんだ。えらいぞ、Microsoft

    常用エディタをVisual Studio Codeに変えようかな(挫折する予感はある) - ただのにっき(2018-07-20)
    peketamin
    peketamin 2018/07/24
  • itojunの通夜へ - ただのにっき(2007-11-06)

    itojunの通夜へ あんなに人が大勢いる通夜なんて初めて行ったよ。会場入りしてから献花台にたどりつくまで行列30分って! 「UNIX板住人」の献花もちゃんとあった。あと、ダルビッシュや村主章枝なんてスポーツ選手からの献花とか、どんな関係なのか想像もつかないものも多数。故人の交友の広さがわかります。 おれはと言うと、同じIT業界にいながら業界内で共通の知人はほとんどいないアリサマ*1。nippon2007関係者と集まって少し話した程度。交友関係の狭さが伺えます。 悲しみはもう乗り越えたというか、そういう非生産的なことをしていてもitojunは喜ばないと思うので、世の中をもっと楽しくするために自分のできることをがんばる気持ちを新たにして帰路についた。

    peketamin
    peketamin 2018/04/18
  • GASとSlackで繰り返し作業用のリマインダを作っている - ただのにっき(2018-03-16)

    ■ GASとSlackで繰り返し作業用のリマインダを作っている こないだ作ったSlackボットに味をしめて、以前から欲しかったリマインダを作っている。とりあえず動くようになったレベルだけど、便利すぎて鼻血が出るわ*1。サーバレスアーキテクチャ万歳! Slackがデフォルトで提供してるリマインダは、メッセージに選択肢が追加されてて「何時間延長するか」が選べるようになっている。これすごく便利なんだけど、選択肢がお仕着せで、目的の延長時間がない場合はまったく役に立たない(と思う。おれの知らない機能があるかも知れないが)。これを、内容に合わせて選択肢も指定できると再設定の手間がなくなっていいと思うんだよね。 たとえば(はい、ここからたとえがちょっとアレになりますよ)、モバマスのぷちレッスンは寝てる間に10時間、起きてる間に10時間と3時間のコースを組み合わせるといい感じになるんだけど、この「10時

    GASとSlackで繰り返し作業用のリマインダを作っている - ただのにっき(2018-03-16)
    peketamin
    peketamin 2018/03/20
  • 遅ればせながらWindows Subsystem for Linuxを導入した - ただのにっき(2017-12-12)

    ■ 遅ればせながらWindows Subsystem for Linuxを導入した Windows10のFall Creaters UpdateでWSLのβがとれると聞いたので、おくればせながら導入してみた。手動でWindowsをアップデートしてから、Microsoft StoreでUbuntuをインストール。その後、コンパネ→プログラムと機能→Windowsの機能の有効化または無効化と進んで「Windows Subsystem for Linux」を有効に。何度か再起動すると使えるようになる。 以前はWindowsを「開発者モード」で動かさないといけなかったようだが(それでよけいなsshdが動くのがイヤで導入してなかった)、今は不要らしい。ググって古い情報を参考に導入したりすると余計な手順を踏まされそうだ。 起動したUbuntuは(というかbashは)普通によくできていて、とはいえWin

    遅ればせながらWindows Subsystem for Linuxを導入した - ただのにっき(2017-12-12)
    peketamin
    peketamin 2017/12/15
  • 入門 React ―コンポーネントベースのWebフロントエンド開発(Frankie Bagnardi) - ただのにっき(2015-06-04)

    ■ 入門 React ―コンポーネントベースのWebフロントエンド開発(Frankie Bagnardi) だいぶ前に読み始めたんだけど、欲しい部分まで読んでそのままになってしまっていたので、いちおう最後まで読んだ。 前にも書いたけど、JavaScriptフロントエンド界隈のツール/ライブラリ/フレームワーク乱立は目を覆いたくなるほどの惨状なので、書に出てくるテストやflexについてはざっと流し読みにして世の趨勢をみているところ。というか「そろそろReact勝ち組で決まりか」と思って手を出したのに、またぞろコンペティタがいくつも出てきているようで、ほんと油断がならない。 「入門」というタイトルには偽りありで、フロントエンド開発のことはざっくり知ってる前提で書かれている。インストールまわりが付録扱いということからわかるように、手取り足取り感はない。いっぽう、ある程度わかってる人ならあまり

    peketamin
    peketamin 2015/06/08
  • メール通知の代わりにPushbulletを使う - ただのにっき(2015-05-04)

    ■ メール通知の代わりにPushbulletを使う 使っているサーバのちょっしたステータスが変わったのを知りたかったり、毎朝念のため数値を監視してるサービスなんかがあって、cronでメールを飛ばすようにしていたのだけど、見てすぐ捨てるものばかりなのでPushbulletで代替してしまうことにした。どうせ確認するのはスマホだし。 PushbulletのAPIはシンプルだけど、もっと楽するためにgemを探すといくつか見つかるが、pushbullet gemは作りがいまいち。個人的にはruby-pushbullet gemがいい感じだったのでこれを使うことに。といってもこんな程度(pushmeコマンド): require 'pushbullet' Pushbullet.api_token = 'MY_API_TOKEN' Pushbullet::Contact.me.push_note(ARGV

    peketamin
    peketamin 2015/05/06
  • React.js、やっと使えるようになった - ただのにっき(2015-04-18)

    React.js、やっと使えるようになった 「使いこなせる」と書くと石が飛んできそうなので。暇な時間にちまちま進めていたので、集中すれば1、2日でできそうなことにこんなに時間をかけてしまった。やっぱり集中力がない……。 とりあえずサーバサイドレンダリングは捨てる前提だったので、検索エンジンに拾ってもらう必要のないネタとしてBookscan Premium Optimizerを使って実装。テストがないとか、Ajaxには引き続きjQueryを使っているとかツッコミどころはあるけど、とりあえずクライアントサイドレンダリングに関しては雰囲気つかめたので良しとしよう。 あー、HerokuのSinatraアプリでJSXのコンパイルをさせる方法がわからんかったので、.jsxだけでなくコンパイル済みの.jsまでコミットしているのはなんとかしたい……。 今回おもに教科書がわりにしたのは一人React.j

    peketamin
    peketamin 2015/04/20
  • Link Bubble BrowserがかなりLifechanging - ただのにっき(2014-12-09)

    ■ Link Bubble BrowserがかなりLifechanging rebuild.fmの70回を聴いていたらLink Bubble BrowserというAndroid用のWebブラウザが紹介されていてかなり良さそうなので入れてみた。これはひさびさにヒットだなー。Androidならではの実装でじつに愉快だ。 Twitterなんかを見いていて、興味のあるリンクが出てきたらクリックすると、普通はChromeなどのブラウザが立ち上がってそのページがロードされるのを待つことになるんだけど、回線状態が悪いとかなり待たされて時間の無駄。しかしLink Bubbleをデフォルトブラウザにしておくと、こんなふうに画面にリンク先のWebページを表すアイコン(Link Bubble)がポップアップするだけでTwitterの操作をそのまま継続できる。 Link Bubbleの周囲のがローディングのプログ

    peketamin
    peketamin 2014/12/15
  • 小田急線の脱線事故で帰宅難民化しそうになった - ただのにっき(2014-06-19)

    Rubyの定数はできるだけfreezeさせようと思った もう10数年もRuby使ってるのに、すげー初歩的なミスに気づかず2日もムダにしてしまった。典型的な「mutableな定数」問題。 CONST = 'foo' def bar(opt) str = CONST str << opt baz(str) end みたいなメソッドbarがマルチスレッドの奥底で何度も呼び出されて、そのたびにCONSTの中身が変わってしまっているのに気づかず、スレッドの競合かなにかに違いないと決めつけて延々と別のところを調べていたという。「CONST = 'foo'.freeze」って書いておけばすぐわかったはずなので、今後当に定数として使いたいときはfreezeすることにする。 (最近のrubyの実装でこのあたりのトピックがあった気がするけど思い出せない) ■ 小田急線の脱線事故で帰宅難民化しそうになった

    peketamin
    peketamin 2014/06/20
  • GitHub Kaigiへ行ってきた - ただのにっき(2014-06-01)

    GitHub Kaigiへ行ってきた GitHub Kaigiの開催案内をTwitterで見かけてなんの気なしに申し込んだら、その後あっという間に300席がうまって、その後500人へ拡大してもなおキャンセル待ちがあったとか。東京のエンジニアの勉強欲は異常や。いつものようにRubyist時間に到着したらもうすっかり席が埋まっていて、最後方入り口近くの椅子をなんとか確保*1。会場になったサイバーエージェントのセミナールームには何度か行っているけど、こんなに人が詰まっているのを見たのは初めてだ。 最初は「GitHub実践入門 ─ Pull Request による開発の変革」だったのだけど、のっけから「あれれれれ?」って感じだった。GitHubでもたらされたとされている「変革」が、どれも(GitHub登場前からの)ごく当たり前のプラクティスに見えたからだ。おかしな変数名に対してレビューアが対案

    GitHub Kaigiへ行ってきた - ただのにっき(2014-06-01)
    peketamin
    peketamin 2014/06/02
  • 御多分にもれず「Anker USB急速充電器」を買ったのだった - ただのにっき(2014-05-19)

    ■ 御多分にもれず「Anker USB急速充電器」を買ったのだった しばらく前から一部方面で人気の商品だったAnkerの充電器、少し前にタイムセールで2000円程度になっていたので、一晩悩んで買ってしまった。おれのまわりで10人くらい買ってた(笑)。一堂に集まるような場所に持って行ったらえらいことになりそうだ。 いちおう据え置き用途なのかなーと思うのだけど、そこそこ小さいので旅行に持って行くにも十分許容範囲のサイズだ。いま持ち歩いてる充電器、4口もあるくせに機器を3つもつなげると電流不足で動作しなくなるというへっぽこなので、今後の旅行用はこれでいこうと思う。 と考えると、付属のACケーブルが気を失いそうなくらいゴツくてありえないので、多くの人が実践しているようにプラグを直接つけることにした。体側のコネクタは汎用のメガネタイプ(ノートPCのACアダプタでよく使われてるやつ)なので、L字型の

    御多分にもれず「Anker USB急速充電器」を買ったのだった - ただのにっき(2014-05-19)
    peketamin
    peketamin 2014/05/20
  • 数字6桁の暗証番号が危険なのは総当りで簡単に解かれてしまうから、というわけではない - ただのにっき(2014-02-07)

    ■ 数字6桁の暗証番号が危険なのは総当りで簡単に解かれてしまうから、というわけではない JALマイレージバンクの不正アクセスが発覚して数日、いろんな人の意見を読んでいるのだけど「数字6桁の暗証番号*1は今どきのPCなら総当りでもすぐに解けてしまうから脆弱だ」という意見がみられて、それはまぁそうなんだけど、今回のような事件に関しては適切な表現ではないと思う。 ちなみに、'000000'から'999999'までバカ正直に順番にMD5を計算し、結果を別途計算してあった正解と比較するプログラムを実行すると、手元の環境ではたった1.5秒しかかからない*2。それでもJMBの会員2700万人分を計算すると450日余りかかることになるが、これだって今どきならクラウドで100コア分調達すれば4日ちょいで解ける計算だ*3。 じゃあやっぱり総当りで解けちゃうから危ないじゃんと思うかも知れないが、この計算が成り立

  • 対話型のコンソールアプリをpryの上に構築したらだいぶ楽できた - ただのにっき(2013-11-28)

    ■ 対話型のコンソールアプリをpryの上に構築したらだいぶ楽できた ゆえあってちょっとした対話型のアプリ、それもWebじゃなくてLinuxコンソールで動くものを作る必要が出てきた。入力をパースしたりするのも面倒だしなーと思い、ためしにpry上のDSLみたいな感じで作ってみたらなかなかいいものが簡単にできた。うん、これは楽でいいなぁ。今後も使おう。 こんな感じのsample.rbを書いて(2013-12-03追記: pryの仕様に合わせて一部リライト): require 'pry' # business logic module Sample def self.hello(name) "Hello #{name}!" end end # helloというコマンドを定義する Pry.commands.block_command 'hello' do |*args| args.map{|name

  • HTTPでHashやArrayを送る手法に仕様は存在しない……の? - ただのにっき(2013-09-15)

    ■ HTTPでHashやArrayを送る手法に仕様は存在しない……の? jQueryでこんなふうに書くと: $.post('/', { hash: { foo: 'hoge', bar: 'fuga'}, array: ['baz', 'piyo'] }); サーバ側でこんなふうに受け取れて(これはSinatra): post '/' do params.each do |key, val| puts "#{key}: #{val} as #{val.class}" end end ちゃんとHashやArrayとしてアクセスできる: hash: {"foo"=>"hoge", "bar"=>"fuga"} as Hash array: ["baz", "piyo"] as Array ああこりゃ便利だね、で済ましてもいいんだけど、HTTP POSTの中身なんてただのバイト列なんだから型の情