タグ

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

  • 本の虫: かつてPSエミューレーターにスラップ訴訟を仕掛けたソニーのPSクラシック、自由ソフトウェア実装のPSエミュレーターであるPCSX ReARMedを使っていることが判明

    かつてPSエミューレーターにスラップ訴訟を仕掛けたソニーのPSクラシック、自由ソフトウェア実装のPSエミュレーターであるPCSX ReARMedを使っていることが判明 かつてPSエミュレーターをスラップ訴訟により嫌がらせをして事実上の販売停止に追い込んだ邪悪なソニーが販売するPSクラシックには、自由なソフトウェア実装のPSエミュレーターであるPCSX ReARMedが使われていることが判明した。 Kotakuによるレビューによれば、PSクラシックの使用する自由ソフトウェアのライセンス表記の一覧にPCSX ReARMedが確認できたという。 PCSXは自由ソフトウェアによるPSエミュレーター実装で、2000年に公開された。その開発は停滞したが、2006年にPCSX-dfとしてforkされた。またPCSX-Revolutionいうforkもあった。2009年にはこの2つのforkを参考にPCS

    ka_ko_com
    ka_ko_com 2018/11/10
  • そろそろマストドンについて語っておくか

    世間ではマストドンが流行っている。結論から言うとマストドンは思想的にも設計的にも失敗しているのでお祭りのように一時の話題になった後、急速に忘れ去られる運命にある。 マストドンを語るには、まずマストドンが実装しているプロトコルであるOStatusについて説明する必要がある。これはもともと、StatusNetというソフトウェアが提唱したプロトコルで、Twitterようなマイクロブログの更新通知のためのプロトコルだ。StatusNetは今は名前を変えてGNU Socialとして自由ソフトウェア財団の傘下になっている。 マストドンはいうなればGNU Socialの互換実装だ。その基的な思想や設計はGNU Socialと同じだ。どちらも現在の大手ソーシャルネットワークサービスに共通の問題に対処しようとしている。 問題とは何か。権力の一極集中である。TwitterにしろFacebookにしろGoog

    そろそろマストドンについて語っておくか
    ka_ko_com
    ka_ko_com 2017/04/16
  • 本の虫: 最も日本人を多く殺す職について考察した結果、反医療主義という結論に至った

    概要:この記事は最も多くの日人を殺す職業について考察したうえで、最終的に意外だが確実に多くの日人を殺している職業を特定したので書いた。結論を書くと反医療主義なのだが、考察の過程をたどっていこう。 今週の土日は何も予定がなく、かつ面白いPCゲームも見当たらないため、非常に暇である。そこで、最近執筆が滞っているブログのリハビリを兼ねて、何の意味もない文章を書いてみようと思う。お題はこれだ。 人を殺せる職につきたい 間接的に多くの日人を殺せる職につきたい 絶望的に人望がないので政治家や起業家は難しい スキルはITエンジニアの経験のみ このクソみたいな人生憤を晴らすためだけに間接的に日人を大量にぶち殺したい どうすればいいのだろうか なるほど、まず考察する内容を整理しよう。 この匿名ダイアリーの筆者を仮に増田とする 増田は人を殺せる職につきたい 人とは日人である 政治家と起業家以

    ka_ko_com
    ka_ko_com 2017/01/22
  • LenovoのWindows 10 Signature EditionがSATAがRAIDモードに固定されているのはIntelのせい

    LenovoWindows 10 Signature EditionがSATAがRAIDモードに固定されているのはIntelのせい の虫: LenovoWindows 10 Signature Edition PCLinuxのインストールを妨害する機能が発覚 前回、LenovoのコンピューターのSATAがRAIDモードに固定されているため、Windows以外のOSをインストールすることができないと書いたが、この真の原因はIntelだそうだ。 mjg59 | Microsoft aren't forcing Lenovo to block free operating systems mjg59 | Skylake's power management under Linux is dreadful and you shouldn't buy one until it's fixed

    ka_ko_com
    ka_ko_com 2016/09/23
  • 作業が早いプログラマーと遅いプログラマーの差の比は4:1

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

    ka_ko_com
    ka_ko_com 2016/07/19
    作業が早いプログラマーは、遅いプログラマーの4倍くらいというのが現実的な数字らしい!? …… 作業が早いプログラマーと遅いプログラマーの差の比は4:1
  • とても賢いコンパイラーの逆襲

    The Hacks of Life: The Dangers of Super Smart Compilers Clangの最適化が未定義の挙動を検出してコード片を消し去ってしまったことに引っかかった開発者の嘆き。 今日初めて、RenderFarmのDSF render(global scenaryを作成するのに使っている内部ツール)をClangで最適化コンパイルして実行した。 結果はsegfaultだった。これは驚きだ(そして自身消失だ)。というのも、最適化していないデバッグビルドは問題なく動くし、GCCでコンパイルされた最適化ビルドも正しく動く。-O0ではバグがない(つまり#if DEVコードのバグではない)ので、「最適化は何をやっているんだ」の時間だ。 大量のprintfと試行錯誤の結果、最適化は以下のようなコード片を丸ごとすっ飛ばしていることが判明した。 for(vector<me

    ka_ko_com
    ka_ko_com 2015/12/21
    LLVM clang、最適化をやり過ぎるバグなのね。 …… 本の虫 とても賢いコンパイラーの逆襲
  • 歌舞伎座.tech #8 「C++初心者会」を開催した

    歌舞伎座.tech#8「C++初心者会」 - connpass 5月17日に、歌舞伎座.thch #8 「C++初心者会」を開催した。 今回は、勉強会の初心者が発表できる場を設けようという意図から、発表枠には、初心者枠とガチ枠を設けた。これにより初心者が積極的に発表しやすくなるはずだ。さて、問題は参加者と発表者が集まるかどうかだ。いざフタを開けてみると閑古鳥が鳴いているようでは極めて痛い。 さて、connpassで告知と募集を開始すると、参加枠が即座に埋まっていく。どうやら勉強会の需要はあるようでまずは一安心だ。発表枠も埋まり始めたが、その参加者を見ると、どうも、技術的、勉強会的にみて、初心者とは思われない。 さて、公開直後の参加申し込みの波がひけてみると、参加枠と初心者枠は埋まっているものの、ガチ枠が埋まらない。どうやら、みなチョットデキル的な謙遜精神を発揮してしまったようだ。仕方がない

    ka_ko_com
    ka_ko_com 2015/05/18
    C++初心者こわい。 QT @EzoeRyou: 本の虫: 歌舞伎座.tech #8 「C++初心者会」を開催した
  • コンパイラーを負かす

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

    ka_ko_com
    ka_ko_com 2015/03/31
    アセンブラでSIMD命令をカリカリに書くと、コンパイラに勝てるのか。 …… 本の虫 コンパイラーを負かす
  • なぜ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問題は

    ka_ko_com
    ka_ko_com 2014/04/12
    OpenSSLのバグの問題、IETFが戦犯なのかな …… 本の虫 なぜTheo de RaadtはIETFに激怒しているのか
  • ドワンゴに入社した

    そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日C++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社

    ka_ko_com
    ka_ko_com 2014/02/13
    ドワンゴ凄いな。 QT @zundan: 「さて、そのような裁量が与えられた環境で、果たして人は真面目に働くのだろうか。これは、プログラミングという仕事においては、どうやらうまく動くようだ」 -- 本の虫: ドワンゴに入社し
  • うっかりチューリング完全になっちゃったもの

    Accidentally Turing-Complete ― Andreas Zwinkau 来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ

    ka_ko_com
    ka_ko_com 2013/10/24
    うっかりか …… うっかりチューリング完全になっちゃったもの
  • x86のMMUはチューリング完全である

    jbangert/trapcc · GitHub The Page-Fault Weird Machine: Lessons in Instruction-less Computation | USENIX x86のMMU、つまりは割り込みとメモリ変換テーブルは、チューリング完全であることの証明。割り込みとメモリ変換テーブルを活用して、プログラムカウンターを一切進めず、ひたすら割り込みを続けるだけで、任意の演算が可能になる。もちろん条件分岐だってオーケーだ。 このテクニックを使えば、カーネルモジュールのバイナリにとても解析が面倒な難読化処理を施すことができる。なぜなら、通常のインストラクションは実行しないから、何をしているのか、通常のインストラクションを追うだけでは一見して明らかではないからだ。そもそも、既存のKGDBなどは、あまりに頻繁な割り込みがかかるため、まともに機能しなくなるようだ

    ka_ko_com
    ka_ko_com 2013/09/30
    x86のMMUをCPUみたいに使うことができるのだとか。プログラムカウンタが進まないでプログラム実行とか変態的だな。 …… x86のMMUはチューリング完全である
  • Super Meat Boyの作者Tommy RefenesがSteamコントローラーを体験

    Yzc2NjQ1MzQyNDU2MjMyMz - My time with the Steam Controller あのクソ難しい、往年の悪魔城ドラキュラやスーパーマリオブラザーズを彷彿とさせる、死んで覚えるプラットフォームゲーム、Super Meat Boyの作者の一人、Tommy Refenesが、ValveでSteam Controllerの試作機を体験した感想を書いている。 Steamコントローラーの体験 俺がSuper Meat Boyを開発していたとき、俺は正しいコントロールが、ゲームの可否を決めるのだということを分かっていた。俺は、ゲームのコントロールには、うるさい男だ。もし、ゲームのコントロールが悪ければそれまで、誰か作ったかとか内容とかはどうでもいい、俺はそんなものをプレイし続けることはない。俺はよく、Super Meat Boyの動きとか摩擦だとか空気抵抗の物理の計算

    ka_ko_com
    ka_ko_com 2013/09/30
    Steam Controller、SMBを遊ぶのに普通に使えるようになるらしい!? …… Super Meat Boyの作者Tommy RefenesがSteamコントローラーを体験
  • クッキー・クリッカーについて

    昨日、筆者はクッキー・クリッカーなるゲームを体験した。このゲームは、ゲーム質を非常によく抽象化している。ここではそのゲームについて述べるが、読者には実感のため、並行してゲームを行なってもらいたい。 このゲームのプログラムはHTML/CSS/JavaScriptと、その他のリソースで構成されていて、ストールマンの自由四原則に合致する自由ソフトウェアではないが、一応は、制限的ながら、forkや改変を許諾している。このプログラムを動作させるには、まともなブラウザーが必要である。 Cookie Clicker まずみると、左に素晴らしくうまそうなクッキー、中央によくわからない列、右によくわからない小物が並んでいる。操作方法がよくわからない。まず、左にこれみよがしに配置してある、うまそうなクッキーをクリックしてみよう。 +1 なんと、クッキーが一枚得られた。続けてどんどんクリックしていくと、数十

    ka_ko_com
    ka_ko_com 2013/09/17
    クッキーゲームの解説というか攻略みたいなものかな。 …… 本の虫 クッキー・クリッカーについて
  • デニス・リッチーによって書かれた最初のCコンパイラーがGitHubで公開

    mortdeus/legacy-cc · GitHub デニス・リッチー(1941-2011)によって書かれた発展途中の初期のCコンパイラーのソースコードがGitHubで公開されている。ソースコード自体は、まだデニス・リッチー存命の頃から公開されていたが、この機会に紹介してみる。 ライセンスは許諾的で、このライセンス文を同梱すること、並びに、ソースコードから生成されたバイナリはラインセンス文を出力することとなっている。 追記:ライセンスに関してふと思った。このライセンスは名義が企業で、著作権を盾に同意を求めている。日では、映画以外の団体の著作権の保護期間は公開後50年である。UNIXと付属するソフトウェアのソースコードは当時から公開されていた。ということは、1973年に制作されたこのCコンパイラーのソースコードは、日国内では、2024年に著作権が切れるのだろうか。 詳しい経緯は、以下の

    ka_ko_com
    ka_ko_com 2013/05/23
    Cコンパイラのソースコードが公開されたのだとか。 QT @hassyX: デニス・リッチーによって書かれた最初のCコンパイラーがGitHubで公開
  • Ubuntuがまたぞろ新しいパッケージフォーマットを再発明?

    [Phoronix] Ubuntu To Get Its Own Package Format, App Installer App installer design: click packages メーリングリストubuntu-develで、Ubuntuのための新しいソフトウェアパッケージシステムの必要性が議論されている。 この新しいパッケージシステムは、既存のapt/dpkg/debを置き換えるのではなく、共存するらしい。 Debianから受け継いだ既存パッケージシステムはよくできている。依存関係の設定にも相当な労力が費やされている。UbuntuをDebianの最新版と同期するには、今後もdpkgとaptは使うことに変わりはないし、これを捨てる理由はない。新しいパッケージシステムは既存のパッケージシステムと共存する。 では何故新しいパッケージシステムを再発明するのかというと、ベースとな

    ka_ko_com
    ka_ko_com 2013/05/09
    Ubuntu、新しいソフトウェアパッケージだとか? …… Ubuntuがまたぞろ新しいパッケージフォーマットを再発明?
  • Linux財団が自前軽量ブートローダーをMSのUEFI鍵で署名してもらうのに四苦八苦

    [Phoronix] Linux Foundation Struggles With Microsoft UEFI Signing Linux財団が過去に発表したUEFIに対する方針とは、自前の軽量ブートローダーを用意し、それをMS鍵で署名して、その軽量ブートローダーが実際のブートローダーをブートするという仕組みを作るというものだ。問題は、その軽量ブートローダーの署名プロセスに手間取っている。 まず、ブートローダーを署名してもらうためには、VerisignかSymantecの認証局による署名鍵が必要だ。それを超えたらMSの秘密鍵でブートローダーを署名してもらうために、マイクロソフトのWebサイトでブートローダーをアップロードするのだが、このWebサイトのアップローダーが、こともあろうかSilverlightで実装されている。MonoベースのMoonlightでは正しく動作せず、結局、ブート

    ka_ko_com
    ka_ko_com 2012/11/22
    LinuxがUEFIに対応するのが大変らしい …… Linux財団が自前軽量ブートローダーをMSのUEFI鍵で署名してもらうのに四苦八苦
  • bsnesがついに完成したそうだ

    byuu's homepage SNES Coprocessors — The Future Has Arrived via: Bsnes has emulated every SNES DSP | Hacker News bsnesというオープンソースのスーパーファミコンのエミュレーターがある。このエミュレーターは、スーパーファミコンを極限まで正確にエミュレートする目的で開発されていた。正確というのは、ソフトごとのハックなしに、実機とサイクル一致で、すべての商用ソフトを実行するということだ。このたび、bsnesはすべての商用ソフトをサポートした。最後に残っていたプロセッサーは、1995年に発売された、「早指し二段 森田将棋2」で使われていたST018である。 これで、百年、千年後の未来の歴史家は、ゲーム歴史について学ぶ時、すべてのスーファミのゲームを正確に再現して研究することができるよ

    ka_ko_com
    ka_ko_com 2012/03/15
    スーパファミコンの究極のエミュレータか。カートリッジ内にROM以外にも好きなICを載せるというのは技術的には可能だし、実際ARMサブCPUを載っけた難物があるのね。 …… bsnesがついに完成したそうだ
  • 1