タグ

ブックマーク / kuenishi.hatenadiary.jp (18)

  • コードを書いて金を稼ぐ - kuenishi's blog

    初めてまともに携わったシステムはNTT研究所で作られていたCBoCといわれるものであった。内容について詳しくは述べないが、国内では割と先進的でありながらとにかくNTTの事業会社(割と稼いでいる)で使えるものを作ろうというものであった。この時期は研究所は研究だけしていればよいというものではなく事業貢献が求められており、論文になるような研究を生み出すだけでなくそれをどうやってビジネスにするかが重要視されていたのだと思う。このとき作ったものは実際に事業会社で使われ、退職の前後には年間数万円が口座に振り込まれるようになっていた。なお収入なので税金の扱いを間違えないように。しかし特許といえばガッポガポ…というイメージだがそんなに当たることはない。わたしが携わったそのソフトウェアは確かに使われていたが、事業会社のビジネスの中核を支えていくようなものにはならなかった。ならなかったのでメンテナンスフェーズ

    コードを書いて金を稼ぐ - kuenishi's blog
    advblog
    advblog 2019/12/10
  • トップレベルのコンピュータエンジニアなら普段からチェックして当然の技術系メディアN選 - kuenishi's blog

    〜〜が知っておくべきサイト20選とか、エンジニアなら今すぐフォローすべき有名人とか、いつも釣られてみにいくと全く興味なかったり拍子抜けしたりするわけだが、こういうのが並んでいたらあまりの格の違いに絶望してしまうだろうというものを適当に並べてみた。私が見ているわけではなくて、こうありたいと思っている私の願望である。どちらかというとインフラ系とか基盤系のものに偏っているが、あくまで私が興味ある一連の例だと思ってください。「これが入ってない!」というクレームは受け付けますので、是非教えてください。一緒に成層圏まで意識を高めましょう。 情報サイト、有名ブログ Software Engineering Radio : IEEEが主催しているソフトウェアエンジニア向けのPodCast。データベースからフロントエンド、暗号、ハードウェア、マイクロサービス、などなどとにかく多様なジャンルの最新のトピックの

    トップレベルのコンピュータエンジニアなら普段からチェックして当然の技術系メディアN選 - kuenishi's blog
    advblog
    advblog 2018/04/13
  • 日本が機械学習パラダイスなのは情報大航海プロジェクトのおかげ - kuenishi's blog

    人工知能じゃ〜これからはシンギュラリティじゃ〜と盛り上がっており、も杓子も深層学習で人工知能で人類皆失業などと楽しいお祭り、ぼくは嫌いじゃない。我々が生きていくためには金が必要なんだ。というわけで、ちょっと気になって調べたことがあったのでここに記録しておく。もしこれが知財や法曹方面の業界で有名な話だったらコンピュータエンジニアたち何やってんのという話ではある。 AIブームというやつが燃料になって日機械学習パラダイスだという記事が話題になっているが、これは平成21年の著作権法改正で追加された著作権法47の7のおかげである(ラッキー!) じゃあ、そもそもどうしてそんな条項ができてるの? 調べてみたら情報大航海プロジェクトが深く関わっているようだよ?ちょっとは感謝したらどう?? もともとこれが気になっていた。ので調べました。という話。 著作権法の47の7が、思いがけず今重要にって解説が散見

    日本が機械学習パラダイスなのは情報大航海プロジェクトのおかげ - kuenishi's blog
    advblog
    advblog 2017/10/11
  • 消すだけなのに rm -rf がいっつも長くて待ちきれない問題 - kuenishi's blog

    rmコマンドで大量のファイルを削除しようとするとjournaldがめっちゃリソース持っていく件— bokko (@cubicdaiya) 2017年8月3日 今時のファイルシステムはみんなジャーナルもってて何かあったときにそこからリカバリする仕組みになってるので、当たり前といえばそうなんだけども。 (TODO: ここにファイルシステムのツリー+ジャーナルのポンチ絵を手描きでも何でも描く) ご尊のデータのツリーと何らかのWALを1セットで持っておくのはRDBだろうがファイルシステムだろうがそうは変わらない、で、削除についても並行制御をうまくやるために削除フラグをログに入れておいてあとで尊のデータを整理するというのが基的な設計になる。そこで私は立ち上がった(TL;DR: 特にオチとかはないです)。 rm -rf が遅いのは人類にとって損失ではないか。もっと速く完了するようにすれば、 rm

    消すだけなのに rm -rf がいっつも長くて待ちきれない問題 - kuenishi's blog
    advblog
    advblog 2017/10/06
  • P言語の素晴らしさについて - kuenishi's blog

    先週Microsoft社がP言語に関するブログ記事を公開し一部界隈で話題となった。 P言語くん pic.twitter.com/uULzxIO4ct— Kuntaro Ishiyama (@_iamkuntao) 2017年3月26日 「いまさら一文字言語かよ…」「何個目だ?」といった批判的諦念的なものから、「RustGoとErlangの間の子みたいなのだなあ」「なんか読みにくい」といった反応が多くこの言語の重要性やインパクトに対して正しく理解しているものがあまりなかった。尊敬しているTD勢ですらあまり重要性が伝わってないようだ 1 2 。上記のブログ記事を読んだり、マニュアルを読んだらすぐ分かるようなことではあるが、日語で解説しておこうと思う。なおいわゆる言語入門とかそういった類のものではないことをご理解いただきたい。 TL;DR 並行処理や分散システムの形式証明や形式検証はそれ自体

    P言語の素晴らしさについて - kuenishi's blog
    advblog
    advblog 2017/05/25
  • Windowsで作ったzipファイルをMacで展開するとファイル名が文字化けする問題 - kuenishi's blog

    の商習慣として未だに残っているのが「ファイルをまとめてzipで渡す」というやつである。数年前までビジネスで使われるコンピュータはWindowsがデファクトスタンダードだったので、zipファイルを作成するのも、展開するのも同じソフトウェアを使っていたから特に問題が起きることはなかった。古き良き時代であるが、近年ではMacOSも普及し、ビジネスでファイルをやりとりするのに使えるようになってきた。複数のOSが併用されるようになったが、相変わらずファイルのやりとりはzipで行われるという商習慣の形として残った。 私の意見はそもそもそういう商習慣を撤廃するべきだということに尽きるのだが、家族を養う手前既存の商習慣に従わなければならない。そしてここ数年は、仕事でもMacOSを使っている。MacOSWindowsの間でファイルをやり取りするときの問題その1は暗号化zipである。問題その2は表題にあ

    Windowsで作ったzipファイルをMacで展開するとファイル名が文字化けする問題 - kuenishi's blog
    advblog
    advblog 2017/05/09
  • 筑波大学で分散システムの話をしてきました - kuenishi's blog

    また呼んでいただいたので、筑波大学の情報システム特別講義D(1/19, 20 - 20日4限)で話してきました。これは業界で川島さんに無茶振りをされた人が聴講に来た大学生を置き去りにして講師陣に実力を試されるという素敵なイベントです。発表に使ったスライドはこちらです。自分で論文読んで証明を考えながら作ったスライドなので曖昧なところや誤りがあれば指摘いただきたいです。 前回はデータベースの話をしました。 kuenishi.hatenadiary.jp 今回は、転職もしたし、NoSQLブーム的なのも一通り終わったのでもうデータベースの話でもねーだろってことで、分散システムの理論面に入門した内容になっています。分散システムの理論面は20世紀に一通り出揃ってしまって、21世紀の最初の15年は実装と運用の時代でした。具体的には、理論と実装のギャップをどう埋めるかという研究や試行錯誤が盛んで、理論それ

    筑波大学で分散システムの話をしてきました - kuenishi's blog
    advblog
    advblog 2017/01/25
  • 2017年のクラウドを占う - kuenishi's blog

    どうもあけましておめでとうございます、分散システム界の負け犬こと李徴・ザ・グレートタイガーです。どちらかというといきなり吠えつくよりも山に篭ってこじらせていくタイプです。新春からAWS,サーバレス,コンテナ,マシンラーニング …2017年のクラウドを占う:新春特別企画|gihyo.jp … 技術評論社という記事を目にし、「ウソはいけません」とコメントしたところ何が当で何がウソか分からなくなってきたので、わたしも2017年のクラウドを占いつつ、件の記事の批評をしてささやかながら新年の書き初めとしたいと思います。 🔥🔥🔥🔥🔥 件の記事ではまず、 そしてこのデジタライゼーションの基盤にあるもっとも重要なテクノロジがクラウドコンピューティングです。 という言葉から理解できないのだが、デジタル化とは何を指すのか?一昔前には「OA化」という言葉が一斉を風靡した。どの企業でも小売なら会計はP

    2017年のクラウドを占う - kuenishi's blog
    advblog
    advblog 2017/01/03
  • あなたの知らない time(1) の世界 - kuenishi's blog

    自分が書いたプログラムのメモリ使用量を測定したいことがある。プログラムがOOM Killerによってお亡くなりになった場合や、ページフォルトをなくして高速化したい場合などだ。定常的に起動するサーバーのプログラムなら、sarや meminfo など(今なら Datadog とかだろうか)を使ってじーっと見つめるわけだ。もっとモダンにやるなら perf や DTrace を使ってもよいかもしれない。しかしこれらのツールは基的にプロセスIDを渡してサンプリングして外から覗く方法だ。 わたしのユースケースはデーモンプロセスではなく、 main から入って必要な計算をして、それが終わったら main を抜けるバッチジョブ(単にコンソールから実行して終わるまで待つ、いわゆる "Hello world!" 的なやつ)だ。これだと、プログラムが起動して終わるまでそこそこの時間で終わってしまって、外部プロ

    あなたの知らない time(1) の世界 - kuenishi's blog
    advblog
    advblog 2016/11/02
  • GPG鍵を作って運用し、Git(hub)やMercurialで自分が書いたコードに署名をする - kuenishi's blog

    自分が書いたコードに署名をしておくことはプログラマの常識であり基動作です(かくいう私もメールは署名してないけど…)。なので私も一人前のプログラマになるべく、自分が書いたコードに署名をするようにしてみた。 GPG 鍵を作ったり準備したり GnuPGのインストール@MacOS $ sudo port install gnupg 鍵をつくります。有効期限は2年間。もし秘密鍵が漏れた場合でも、2年経てばほとぼりが冷める。 $ gpg --gen-key gpg (GnuPG) 1.4.20; Copyright (C) 2015 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent p

    GPG鍵を作って運用し、Git(hub)やMercurialで自分が書いたコードに署名をする - kuenishi's blog
    advblog
    advblog 2016/07/12
  • クラウド時代の分散データベースを支える技術の応用と進歩 - kuenishi's blog

    teespring.com 分散データベースというのは、それ単体でもとても難しい、データベースと、分散システム双方の技術の粋を結集して実現されるアプリケーションだ。これをサービスといったり、ミドルウェアといったりする場合もあるが、今回は技術を応用してつくったものという意図でアプリケーションと位置づけることにする。まあ古くて新しい問題で、死屍累々の世界でありながら、それでいて金の鉱脈でもある世界だ。イカのようなトピックを概説していくことで、近年の流れをメモしておきたい。 Pre-cloud era: クラウド以前の時代 BigTable, DynamoとCAP定理 MegaStore 研究: Calvin Jepsen: できたら☎してよ〜 Coordination free database Spanner: 何でもできるよ!! Kudu+Impala Next? クラウド以前の時代 Sy

    advblog
    advblog 2016/02/10
  • LINE Developer Conferenceに行ってきた - kuenishi's blog

    ふとしたことから LINE Developer Conference の存在を知り、その中の「高可用データベース」という文字列をみて高可用データベースを作っている身としては黙っていられないので行ってきた。喉がかわいたので水をもらえてよかった。 ひとつめのセッションはLINEのシステム運用。インフラは基に忠実に、無駄に安いハードウェア買って困るくらいならそこそこの値段でいいヤツ買います、ソフトウェアも同様、必要なところでは VMware vSphereやOracleを使いますといった感じだった。やはりメッセージングなのでバーストトラフィックがあるらしく、それのせいでスイッチのパケットバッファが普通に溢れてパケ落ちが発生するらしい。ふつうのTCP/IPならその後の再送はランダムに時間置いて飛ぶはずだからそんなに溢れないと思ってたんだけど、TCP周りの設定をいじったらなんとかなりそうな気もする

    LINE Developer Conferenceに行ってきた - kuenishi's blog
    advblog
    advblog 2014/04/16
  • memcached API で Riak を叩けるようになりました - kuenishi's blog

    その名もダイコーン。まずはget, set, delete だけなんですが、とりあえず適当に作ってもMemcachedの速度の1/40くらい出ます。そのうちいろんなデータベースのAPI備えて、クライアント側を書き換えなくてもRiakを叩けるようにしたいなーと思っています。memslapの結果だと $ ./clients/memslap --servers=localhost:11211 --non-blocking --concurrency=10 とすると memcached dicorn/mem dicorn/riak 1.987 2.705 88.487 てな感じです(単位は秒)。 構成としては1プロセスで動くただのプロキシで、メモリもCPUもほとんど使いません。Memcachedがいたところに代わりに立ち上げて、Riakの場所を教えてあげるとそれだけでMemcachedとして動いて

    memcached API で Riak を叩けるようになりました - kuenishi's blog
    advblog
    advblog 2013/09/07
  • 集中してテキストを書く環境 - kuenishi's blog

    4月はなんだかんだで書かないといけないまとまった文章が4もあったので、ずっとEmacsと向き合っていたのだが、正直いって素のEmacsは日語の文章を書くには向いていない(私はこの手の道具はカスタマイズを最小限にしてなるべくデフォルトを使う主義だ)。昔はTeXで論文のようなものを書いていた時期もあって、そのときも同様の違和感があり、wysiwygエディタの素晴らしさを痛感したものだった。かといってwysiwygを使うと不自由さを痛感したものだが。 最初の殴り書きではgistに直接書いていたが、原稿を仕上げる段階になってからはそれでは不安がある。かといってEmacsではどうも合わない。というわけで2日ほど Writebox というChromeアプリを使っていたらこれが非常にフィットして気分よく文章がかけた。MacChromeだとEmacsキーバインドで軽快に書けるし、スクロールもEmac

    集中してテキストを書く環境 - kuenishi's blog
    advblog
    advblog 2013/05/13
  • メモリリークとは何か - kuenishi's blog

    メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

    メモリリークとは何か - kuenishi's blog
    advblog
    advblog 2013/04/24
  • そろそろGoについて一言いっておくか - kuenishi's blog

    昨日、GoCon(ごうこん)なるイベントに参加してきた。以下に続く話は5割以上がフィクションなので虚実織り混ざっている様を楽しみながらお読みいただけたらと思う。 最初に発表されたニュースを聞いたときは、Goはよい車輪のよい再発明で、結局GoogleC++Javaを使い続けるだろうし、世間はGoogle独自言語としてみなすのだろうなという予感はあったし、2010年だから2011年ころはそういう見方をされていたように記憶されている。私もそういうものだと思っていたし、特に関心を持つこともしなかった。いま思えば正常性バイアスだったのだろう。 実際に昨日のカンファレンスで一番興味深かったのは鵜飼さんによるGoの解説だった。比較対象がC++, Python, Javaだったことが最も印象的で、普段からErlangやOCamlといった関数型言語に接していた身として新鮮だった。話を聞くうちにGoogl

    そろそろGoについて一言いっておくか - kuenishi's blog
    advblog
    advblog 2013/04/14
  • 基盤系プログラマ - kuenishi's blog

    いわゆる基盤系のエンジニアリング技術について、私の場合は、今の会社に入社して2年間で徹底的に叩き込まれました*1。C言語なんかは独習の範囲内であって、コンピュータに関する基礎的な知識が不足していると痛感しています。一方、Computer Scienceに関する基的なトピックはシンプルなものが多いので、数学の素養と、大学で詰め込まれた技術があれば何とかなる感じがしています。 飽くまでも、ですが、OSとかRDBMSとか、全ては手段です。ビル建設でいえば生コンのようなもの。砂利とか。肝心なのは、自分が欲しいビルの理想をきちんと描き、実現までの手段・手順を整理する。理想としているビルができているかを確かめる。難しいのは、「そんなビルが技術的な観点から当に建設できるのか?」を確かめながら進むこと。 あるいは、それらの技術を全て、日語にしてきちんと表現すること、設計を周囲に伝えて合意をとること、

    基盤系プログラマ - kuenishi's blog
    advblog
    advblog 2009/04/30
  • IT勉強会カレンダー - kuenishi's blog

    IT 勉強会カレンダー こんなものがあるなんて知らなかった。ざっと見てみたけど、もはや勉強会カレンダーではないね。お金のニオイがプンプンする。 (追記 4/20) まず、関係者には不快な一言投げっぱなしジャーマン日記になっていたことをお詫びします。 お金のニオイがする、という言葉のココロは、OSSを使って商売をしようとしている人とか、OSSに自分たちのプロプラ製品をくっつけて売りつけようとしている人たちとか、OSSと名前をつけておきながらも全然OSSじゃないものだったりとか、とにかく、「私たちはFOSSを使っていますよ(OSSを使ってお金を稼いでいますよ)」というニオイがするのである。ビジネスとしてやりたいのならビジネスのパスを通して営業を仕掛ければいいのに、手弁当なニオイをさせておきながら当日は自分たちの製品を宣伝しまくるという姿が想像できたからです。←これもちょっと誤解を生みそうだな…

    IT勉強会カレンダー - kuenishi's blog
    advblog
    advblog 2009/04/19
  • 1