タグ

ブックマーク / cpplover.blogspot.com (31)

  • freeeのゴミのような特許の新規性が全く理解できない

    freeeが特許侵害でマネーフォワードを提訴したというニュースが流れている。 freeeがマネーフォワードを提訴、勘定科目の自動仕訳特許侵害で | TechCrunch Japan 肝心の特許は、以下のものらしい。 特許 第5503795号 会計処理装置、会計処理方法及び会計処理プログラム - astamuse 読んでみたが、何の新規性もあるようには読めない。やたらとクラウドコンピューティングなる言葉が出てくるが、この特許でAWSとかAzureとかGoogle Apps Engineのようないわゆるクラウドかそうでない従来のサーバーかで何か違いがあるとは思えないし、その他のことも、人間が有史以前からやってきた分類作業であるようにしか読めない。数千年も存在する既存の概念をコンピューターで行うというだけのゴミ特許が乱立しているが、どうやらそのコンピューターを更に細分化してクラウドコンピューティ

    Jxck
    Jxck 2016/12/09
    ゴミでもいいから特許量産しろっていう件数ノルマあったりするからなぁ。社員がノルマのためにでっち上げた特許がこうして使われたら、その社員の気持ちは察しだよなぁ。
  • PornhubはWebSocketを使ってAdBlockを回避している

    BugReplay あるWeb開発者が、開発のためにchromeで通信内容をキャプチャしたいと考えchrome.webRequestを使ったが、WebSocket経由の通信は得られないことを発見した。さっそくこれをバグ報告した。 その後、インターネット上でわいせつ動画を頒布する大手Webサイトとして有名なPornhubの運営会社であるMindGeek社の社員がこのバグを修正しないようコメントした。 不思議に思って調べてみると、PornhubはWebSocketを使って広告データをやり取りすることで、AdBlock系のブラウザー拡張による広告除去を回避していることが判明した。 なお、この記事を公開して程なくして、AdBlock PlusとuBlock OriginはPornhubに対するWebSocket経由の広告除去も実装した。 技術的に可能であることを示すことと、実際に労力を割いてまで実

    Jxck
    Jxck 2016/11/04
    WebSocket のブロック、どうやってるんだろう?
  • 作業が早いプログラマーと遅いプログラマーの差の比は4:1

    An empirical study of working speed differences between software engineers for various kinds of task プログラマーの作業速度には差がある。作業速度が早いことだけをもって優秀なプログラマーとは限らない。そのソフトウェアの保守性が悪いかもしれないからだ。しかし、やはり作業速度の早いプログラマーは優秀と見られがちだ。特に、転職界隈では、優秀なプログラマーは、その作業速度の速さを形容して、「ニンジャ」とか「10倍プログラマー」などというタイトルで喧伝されている。さて実際には、プログラマーの作業速度は、全体としてどの程度違うのか。 プログラマーの作業速度が早いものと遅いものの比は、従来、28:1であると言われてきた。この数字には根拠となる研究がある。1967年にGrantとSackmanが公開した論文

  • ダイヤルQ2風の電話番号でInstagramやGoogleやMicrosoftから金をむしりとれる脆弱性

    セキュリティ研究者が、とても興味深い脆弱性を報告して報奨金をもらった記事が上がっている。 How I Could Steal Money from Instagram, Google and Microsoft – Arne Swinnen's Security Blog プレミアムナンバーという電話上のサービスがある。これは一時期日で行われていたダイヤルQ2と同等の仕組みを持つサービスで、プレミアムナンバーという電話番号にかけた電話の通話料は、通常より高い。通話料の差分は、電話サービスの提供元に支払われる。 ダイヤルQ2は電話越しに何らかのサービスを提供して、電話料金で利用料を徴収できる、手軽な仕組みだった。その利用例は、投資顧問、アダルト、占い人生相談、義援金、ダイヤルアップISPなどに利用されていた。ダイヤルQ2自体は2014年に終わったが、海外ではまだ同等の仕組みをもつサービス

    Jxck
    Jxck 2016/07/18
    おもしろい。 Q2 って久々に聞いたけど、そういう仕組みだったんだな。
  • Grub2の認証でバックスペースを28回押すとレスキューコンソールに入れる脆弱性が発見された

    Back to 28: Grub2 Authentication Bypass 0-Day Grub2のバージョン1.98(2009年12月)から、2.02(2015年12月)までにおいて、脆弱性が発見された。 脆弱性はGrub2の認証機能を使っていた場合に、ユーザー名を入力すべきところで、バックスペースを28回入力すると、レスキューコンソールに入れてしまうものだ。これにより、コンピューターに物理アクセスを得ている人間が、Grub2の強力なレスキューコンソール機能を使うことができる。 脆弱性の原因も詳しく書かれていて興味深い。grub2のコードでは、'\b'が入力されるたびに、unsigned型の変数をデクリメントする。この時、アンダーフローをチェックしていない。その変数は配列の添字に渡されて、ゼロが書き込まれる。 結果として、関数のreturn addressを0x0にすることができ、関

    Jxck
    Jxck 2015/12/17
    味わい深いバグだな
  • x86のmov命令はチューリング完全

    世の中には様々なチューリング完全なシステムがある。 の虫: うっかりチューリング完全になっちゃったもの x86のMMUはチューリング完全である。 BGP(Border Gateway Protocol)はチューリング完全である。 http://vanbever.eu/pdfs/vanbever_turing_icnp_2013.pdf さて、x86の命令セットは極めて複雑で冗長であることが知られている。なんと、mov命令はチューリング完全であるそうだ。 http://www.cl.cam.ac.uk/~sd601/papers/mov.pdf もちろん、mov命令でメモリ上に任意のコードを書いて実行させればチューリング完全になるが、論文ではそのようなコード生成や自己書き換えによるイカサマは行っていない。また、アドレスモードもたいていのRISCにあるようなものしか使っていないという。 x8

  • ビッグデータツールチェインのセキュリティはビッグリスク、あるいは、誰もHadoopをスクラッチからビルドする方法を知らない件について

    ビッグデータツールチェインのセキュリティはビッグリスク、あるいは、誰もHadoopをスクラッチからビルドする方法を知らない件について The sad state of sysadmin in the age of containers コンテナー時代のシステム管理者の惨状 システム管理は惨劇に見舞われている。現状は悲惨だ。 筆者は昔気質のシステム管理者に不満はない。システムの稼働を維持し、アップデートし、アップグレードする方法を知っている者達だ。 この憤りは、コンテナーと構築済みVMと、それらがもたらす、「信頼」や「アップグレード」の欠如による悲惨な惨劇に対するものだ。 例えば、Hadoopを見てみろ。誰もHadoopをスクラッチからビルドする方法を知っているようには見えないぞ。依存性とバージョンとビルドツールが悲惨なほどに絡まりあっている。 この手のイケてるツールの中で、古典的なmake

    Jxck
    Jxck 2015/04/30
  • 500マイル以上離れた場所にメールが送れないのだが

    http://web.mit.edu/jemorris/humor/500-miles From: Trey Harris <trey@sage.org> 今から私が書く話は、起こりようのない問題についてだ。この話を広く一般に公開してしまうのは惜しい。というのも、いい酒の話のネタになるからだ。この物語は、退屈な詳細や問題を隠すために、多少事実を変えていて、物語を面白く脚色している。 数年前、私はキャンパスのメールシステムを保守する仕事をしていて、統計学部の学部長から電話を受けた。 「大学の外にメールを送るのに不具合が発生しているのだが」 「どんな問題でしょう?」と私はたずねた。 「500マイル以上メールを送れないのだよ」と学部長は説明した。 私はラテを吹き出した。「何だって?」 「ここから500マイル以上離れた場所にメールを送信できないのだよ」と学部長は繰り返した。「実際は、もう少しあるの

    Jxck
    Jxck 2015/04/10
    おもしろい。
  • gitの10周年を記念したLinus Torvalsへのインタビューの翻訳

    10 Years of Git: An Interview with Git Creator Linus Torvalds | Linux.com gitの10週年を記念して、リーナス・トーバルズがインタビューに答えている。以下はその翻訳である。 なぜGitを作ったのか? トーバルズ:俺はソース管理ツールなんて作りたくなかったし、コンピューターの業界において最も興味がないものだと見なしていた(データベースは別だが)。それにソース管理ツールなんてどれも嫌いだった。しかし、BitKeeperがやってきてからというもの、ソース管理に対する見方が変わったね。BitKeeperは大抵のことを正しく行っていた。レポジトリのローカルコピーがあることと、分散マージはでかかった。分散ソース管理の何がいいかというと、ソース管理ツールの問題を吹っ飛ばせることだ。「誰が変更を行えるか」といった政治問題があるが、B

    Jxck
    Jxck 2015/04/09
  • コンパイラーを負かす

    roguelazer's website: beating the compiler なかなか面白かったので翻訳して紹介する。 たとえば、97%の場合において、僅かな効率など忘れるべきである。。早すぎる最適化は諸悪の根源である。とはいえ、残りの重要な3%の機会を逃すべからず。 -- Donald Knuth 計測せよ。計測するまで速度の最適化を施してはならぬ。たとえ計測したにせよ、一部のコードが残りを圧倒するまではまだ最適化してはならぬ。 Rob Pike 最新のWebサービスを主体とした技術の業界に長年浸かった我々は、パフォーマンスの問題を忘れがちである。SQLAlchemy ORMの中で行うリクエスト一つが8,9秒かかる中で、関数呼び出しひとつを3ミリ秒最適化したところで何になるというのか。とはいえ、時にはそのような最適化スキルを養っておくのもいいことだ。今回は、ある簡単な課題を最適化

    Jxck
    Jxck 2015/03/31
    ここまでやって、やっと勝てるくらいにコンパイラは優秀だっていう話だと思った。ただ知っていて任せるのと、知らないで任せるのはいざというとき差が出てくる。
  • Pingプログラムの話

    The Story of the PING Program そうだ。UNIXのpingを書いたのは俺さ。pingというものは誰でも知ってるだろうが、これはある夜、俺が千行程度で書いたハックだ。 名前の由来はソナーの音だ。俺は大学でソナーとレーダーシステムの設計をさんざんやっていたので、サイバースペース的なものとは親和性が高かった。新しい分野に既存の概念を適用したというわけだ。pingはIP/ICMP ECHO_REQUESTとECHO_REPLYパケットを使って時間を測り、ターゲットマシンへの「距離」を計測する。 4.2a BSD UNIX用のPINGを書いた着想は、1983年の7月に、ノルウェイでのDARPA会議で、Dave MIlls博士からきいた話が元だ。博士はFizzball LSI-11システムで、ICMP Echoパケットの時間を計測して、経路遅延を計測したと話していた。 19

    Jxck
    Jxck 2014/10/12
    おもしろい
  • rebeccapurpleがCSS 4 colorに提案された経緯

    Name #663399 "Becca Purple" in CSS4 Color? - Specifiction #663399を"Becca Purpule"としてCSS4 Colorに入れないか? CSS colorに名前を追加する方法はわからないし、なにか目的に叶うものであるかどうかもわからないが、@meyerwebのCSSに対する貢献を明らかにするために、また標準化というのはそもそも社会的プロセスによって進められることを明らかにするために、#663399を"Becca Purple"と名付けないか? これはいったいどういうことか。Beccaというのは、哀れにも六歳にして亡くなったEric Meyerの娘の名前なのだ。Eric MeyerはCSSの標準規格に尽力し、また、 Cascading Style Sheets: The Definitive Guideや、 Css Pock

    Jxck
    Jxck 2014/06/24
    想像を絶する内容だった、こんなことあるのか。
  • JavaScriptの誕生と終焉

    The Birth & Death of JavaScript — Destroy All Software Talks あの、Watのスピーカーとして有名なGary Bernhardtが、JavaScriptの誕生と終焉についてスピーチしている。 このスピーチは、2040年に行われているという設定である。JavaScriptが10日でやっつけ設計されたというところから始まり、JavaScriptが開発された地は、すでに放射能汚染されているという、2040年からみた歴史的事実を交えつつ、話は続く。 JavaScriptはあまりにも一般化してしまったため、皆JavaScriptで書くようになった。ただし、JavaScriptは遅いので、JavaScriptをネイティブコードにコンパイルしやすいようにする制限的な記法が流行した(整数型でいいところには、0をビット列論理和することにより、整数型で

    Jxck
    Jxck 2014/04/23
    そもそも 2040 年にもなって、今とたいして変わらないアーキテクチャでコンピューティングが成り立ってるとかつまらなすぎる。
  • Multipath TCPについて

    Multipath TCPとは、複数の経路を扱うためのTCP拡張である。実は、以前、の虫: MultiPath TCPのLinuxカーネル実装という記事で、その実装デモを紹介している。 従来のTCPは、IPとの分離ができない。TCPヘッダーの中には、ひとつのIPアドレスとポートがある。経路ごとにIPアドレスが割り振られるので、経路を変えるには、別のTCPコネクションを貼り直さなければならない。 しかし、複数の通信経路を持つという環境は、もはや珍しいものでも何でもなくなっている。たとえば、多くのラップトップにはEthernetとWiFiの二つの経路があるし、スマートフォンにも、WiFiと3G/4Gという複数の経路がある。特にスマートフォンの場合、経路が使えるかどうかが頻繁に切り替わる。 過去に、TCPで複数のIPアドレスを扱う拡張はいくつも出されたが、いずれも、IPアドレスを隠すという点で

    Jxck
    Jxck 2014/04/16
    “どうやら今日のインターネットでは、TCPパケットのあらゆる部分は、中間箱により改変される可能性があるということが判明した。” そうなんだよなぁ。。
  • なぜTheo de RaadtはIETFに激怒しているのか

    の虫: OpenBSD、怒りのコミットで、OpenBSDのTheo de RaadtがIETFに対して激怒している。 src/lib/libssl/ssl/Makefile - view - 1.29 SegglemannのRFC520 heatbeatを無効化。 あのまともなプロトコルひとつ制定できないIETFの無能集団が、超重要なプロトコルで64Kの穴をこしらえるとか、マジであきれてものも言えねーわ。奴らはマジこの問題を気で検証すべきだろ。なんでこんなことをしでかしたのか。こんな事態を承認した責任ある連中を全員、意思決定プロセスから取り除く必要がある。IETF、てめーは信用なんねぇ。 なぜTheo de Raadtは、OpenSSLではなく、IETFに対して激怒しているのか。IETFというのは、インターネット上の規格制定の団体である。今回、世上を騒がせているHeartbeat問題は

  • OpenBSD、怒りのコミット

    OpenSSLのheatbeatバグの対応のため、OpenBSDはOpenSSLのheatbeatを無効にするコミットをした。ただし・・・ src/lib/libssl/ssl/Makefile - view - 1.29 SegglemannのRFC520 heatbeatを無効化。 あのまともなプロトコルひとつ制定できないIETFの無能集団が、超重要なプロトコルで64Kの穴をこしらえるとか、マジであきれてものも言えねーわ。奴らはマジこの問題を気で検証すべきだろ。なんでこんなことをしでかしたのか。こんな事態を承認した責任ある連中を全員、意思決定プロセスから取り除く必要がある。IETF、てめーは信用なんねぇ。 このコミットは、Makefileの中で、OpenSSLでheatbeatを無効にするマクロを定義するよう、コンパイラーオプションを指定するものだ。ただし、無効にするマクロは、OPE

    Jxck
    Jxck 2014/04/11
    味わい深い
  • 本の虫: Clang VS 自由ソフトウェア

    オープンソースで有名なEric S. Raymondが、自由ソフトウェアで有名なRichard Stallmanに、GCCのアンチプラグインポリシーについて突っ込んでいる。 GCCは、長年、コンパイラーのモジュール化を政治的な理由で行っていなかった。もし、例えばパーサーや意味解析だけを分離して使えるようにしたり、内部表現を規格化したりしてしまうと、GCCの一部が、不自由なソフトウェアに取り込まれたり、あるいは不自由なソフトウェアがGCCのプラグインという形で入り込むことになってしまう。これは、利用者の自由を第一とする自由ソフトウェアにとって、悪夢のような未来である。そのような未来を未然に防ぐために、政治的な理由で、GCCのはプラグインに反対するポリシーを採用している。もし、GCCを改良したければ、自由なソフトウェアとなるべきなのだ。そして、GCCのプロジェクトに参加するべきなのだ。 とはい

    Jxck
    Jxck 2014/01/28
    自由とは何か、誰にとっての何からの自由か。
  • プログラマーのジョーク

    language agnostic - What is your best programmer joke? - Stack Overflow 私はコンピューターサイエンス科で教育しているが、何かユーモアによって場を盛り上げたい。ユーモアは場を退屈させず、物事を印象深くするし、物事を学ぶモチベージョンにもつながる。さらに、ジョークが技術的な理解を必要とするのであれば、さらにモチベーションが上がるのだ。 このstackoverflowの質問を受けて、様々なプログラマーのジョークが投稿されている。その評価順に紹介すると・・・ A man flying in a hot air balloon suddenly realizes he’s lost. He reduces height and spots a man down below. He lowers the balloon furth

    プログラマーのジョーク
    Jxck
    Jxck 2014/01/14
    後で読む
  • 技術屋にMac使いが多い理由ってなに?

    技術屋にMac使いが多い理由ってなに? : IT速報 答え:お手軽なUNIX互換環境だから。 今、個人が使うデスクトップやラップトップ用のOSとして、実用的なものに、GNU/Linux, Windows, Mac OS Xがある。読者の中には、FreeBSDも十分に実用的だと主張する者もいるかもしれないが、少数派だろう。 もちろん、サーバーや組込み用途には、その用途に合わせて別のOSが使われている。しかし、プログラマー個人が使うコンピューター用のOSは、圧倒的にMac OS Xである。これはとても残念なことだ。なぜならば、Macは不自由なソフトウェアで、しかもその動作するコンピューターまで、技術的な理由がなく制限されているからだ。 UNIX互換環境を必要とする理由としては、既存のPOSIX互換環境向けに書かれた有用なツールがとても多く、プログラマーはなんとしてもそのツールを使いたいのだ。

    技術屋にMac使いが多い理由ってなに?
    Jxck
    Jxck 2013/11/19
    “答え:お手軽なUNIX互換環境だから。”これな
  • 京都市の無料Wifiについて

    京都市は、KYOTO WiFiという、無料のWifiを市内に配置している。 京都市:KYOTO WiFiの整備について~市内385箇所で無料インターネット~ その設置場所は、以下で確認できるようだが、これは最新の状況に対応していないように思われる。 KYOTO WiFi その目的としては、主に観光客用だ。観光客が手軽にインターネットに接続できるようにする・・・はずだった。 KYOTO WiFiのアンテナは、主にバス停に設定されている。説明では、WiFiの設置箇所に、その存在とアクセス方法を説明したステッカーが貼られているそうである。 私が確認したところ、近所のバス停に、そのようなステッカーは一枚も確認できなかった。剥がれてしまったのかもしれないが、近所のバス停すべてにそのようなステッカーが確認できない以上、その存在がわからない。 したがって、KYOTO WiFiのアクセスポイントを探すには

    Jxck
    Jxck 2013/11/06
    行政が用意した安全な Wifi が無料で安心して使える時代に早くなってほしいなぁ。