タグ

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

  • Linus Torvalds、 GCC 4.9.0のコード生成にブチ切れる

    Phoronixで知ったが、Linus TorvaldsがGCC 4.9.0のコード生成にブチ切れている。 問題はLinuxカーネルのload_balance()がランダムにパニックを起こすというもので、その原因は、報告者の使っているコンパイラーであるGCC 4.9.0のコード生成がおかしかったという話だ。 Linus様は御自ら生成されたコードを読み給い、平生と変わらぬ調子で物事の道理を示された。 Linux-Kernel Archive: Re: Random panic in load_balance() with 3.16-rc From: Linus Torvalds Date: Thu Jul 24 2014 - 14:47:25 EST On Wed, Jul 23, 2014 at 6:43 PM, Michel DÃnzer <michel@xxxxxxxxxxx> wro

    riywo
    riywo 2014/07/27
  • OSによる仮想化とは何だったのか

    最近の動向でわからないことがある。最近、クラウド(笑)とか称するマーケティング用語はともかく、クラウド(笑)のサーバー群の実装に、ハードウェアの仮想化技術がふんだんに使われていることだ。 完全にソフトウェアでハードウェアを実装するエミュレーターと違い、この手の仮想化技術は、ハードウェアに仮想化をサポートするための機能があり、それを使って、大きなオーバーヘッドが生じない仮想化を実現させている。 そのハードウェア仮想化の上で、ユーザーごとにゲストOSを実行している。つまり、これはOS外の仮想化である。 OSとは何だったのか。 我々は何十年も、OS内で仮想化を実装してきた。ひとつのコンピューターを複数人が使うという状況で、ユーザーとかアカウントという単位で仮想化を実現してきた。また、ファイルアクセスに権限を設け、ユーザーごとに柔軟に設定できるようにもした。プログラムはプロセスという単位で、他のプ

    riywo
    riywo 2013/09/24
  • ValveがSteamOSを発表

    SteamOS 紹介するのがはばかられるが、DRM汚染された不自由なゲームソフトウェアの流通であるSteamを行なっているValveが、SteamOSなるものを発表したようだ。 SteamOSは、現段階ではマーケティング部門が宣伝文句を書いたとみえて、詳細は分からない。単にLinuxベースとのみ書かれているが、おそらくは、またぞろ新たなGNUにLinuxカーネルを組み合わせたシステムを土台にしたディストロのひとつだろう。 Valveが独自のディストロに走るのは、分からないでもない。というより、必然的とも言える。ValveがUbuntu用に提供している不自由なゲームを流通させるためのSteamクライアントの仕組みというのは、ゲームのプログラムから必要になる主要なライブラリを、すべてバイナリで提供し、ライブラリへのパスを上書きしてゲームのプログラムを実行しているからだ。これは、ライブラリのバー

    riywo
    riywo 2013/09/24
  • 苗字がNullの社員がうちのとこの社員管理用のシステムをぶっこわしたんだがどうすればいい?

    flex - How can I pass the string "Null" through WSDL (SOAP) from AS3 to ColdFusion web service without receiving a "missing parameter error"? - Stack Overflow stackoverflowで、 「"Null"という文字列をAS3のWSDL(SOAP)からColdFusion Webサービスに、"missing parameter error"というエラーを出さずに渡すにはどうすればいい?」 という質問が注目を集めていた。 はて、この問題はどこかで見た気がする。 xkcd: Exploits of a Mom 「もしもし、あなたの息子さんの学校です。うちの学校がコンピューターシステムのトラブルに見舞われまして」 「あらまぁ、うちの子が何か

    苗字がNullの社員がうちのとこの社員管理用のシステムをぶっこわしたんだがどうすればいい?
    riywo
    riywo 2013/08/03
  • もし大工の採用面接がプログラマーのように行われていたら

    If Carpenters Were Hired Like Programmers | DawO_od 面接官「なるほど、あなたは大工なのですね」 大工「そうです。私は大工として今までやってきています」 面接官「実務経験は何年ほどでしょうか?」 大工「10年です」 面接官「すばらしい。それはいい。さて、これから職場にふさわしいかどうか、いくつかの技術的な質問に答えてもらおうと思うのですが、よろしいでしょうか?」 大工「はい」 面接官「まず、弊社は茶色の家の建築が主な仕事内容でして。以前に茶色の建築の経験はおありで?」 大工「えーと、私は大工です。だから家は建てますよ。塗装の色の好みは人それぞれでしょう」 面接官「ええ、それはわかります。ですが、茶色経験は何年ほどでしょうか?」 大工「おいおい、分からんよ。建築したあと、どういう色で塗装されるかなんて私の知ったことじゃありません。たぶん、6ヶ

    riywo
    riywo 2013/06/01
  • Mark ShuttleworthがUbuntuバグ#1をクローズした

    [Phoronix] Shuttleworth Closes Bug #1, Microsoft's Market Share 2004年、Ubuntuの開発会社であるCanonicalの出資者であるMark Shuttleworthは、自身の手で、Ubuntuのバグトラッカーの初めに、以下のバグを登録した。 Bug #1 (liberation) “Microsoft has a majority market share” : Bugs : Ubuntu Mark Shuttleworth人によって書かれたバグ報告は以下の通り。 マイクロソフトがデスクトップPCの新製品の市場において、大多数の市場シェアを占めている。このバグはUbuntuと他のプロジェクトによって修正されるべきである。Ubuntuプロジェクト発足の思想は、「我々の労力はソフトウェアは自由であり万人に利用可能であるべき

    riywo
    riywo 2013/06/01
  • デニス・リッチーによって書かれた最初のCコンパイラーがGitHubで公開

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

    riywo
    riywo 2013/05/23
  • 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は使うことに変わりはないし、これを捨てる理由はない。新しいパッケージシステムは既存のパッケージシステムと共存する。 では何故新しいパッケージシステムを再発明するのかというと、ベースとな

    riywo
    riywo 2013/05/16
    興味深い
  • アドベンチャーブック

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

    アドベンチャーブック
    riywo
    riywo 2013/05/16
  • GNU/Linuxを動かせる最低スペックはATmega

    Linux on an 8-bit micro? - Dmitry Grinberg 8bitマイクロでARMエミュレーターを実装してGNU/Linuxを動かした顛末が書かれている。 イントロ 初心者がマイクロコントローラーのフォーラムで、可愛いちっぽけな8bitマイクロでLinuxを動かせるかどうか質問するのはよくあることだ。大方は笑われるだけだ。Linuxフォーラムでも、Linuxの最低スペックは何かという質問がなされる。一般的な回答は、32bitアーキテクチャとMMUと、少なくともカーネルを載せるための1メガバイトのRAMだ。このプロジェクトは、そのようなありきたりな回答者を黙らせるためのものだ。右にみえる基盤のはATmega1284pだ。同じ物をATmega644aでも作って成功している。この基盤はこれ以外にプロセッサーを持たず、Linux 2.6.34をブートする。実は、完全なU

    GNU/Linuxを動かせる最低スペックはATmega
    riywo
    riywo 2013/04/23
  • GNU/Linuxでlibc++をビルドする方法

    "libc++" C++ Standard Library まず、libc++をチェックアウトする。 $ svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx libc++をビルドするにあたっては、使用するC++ABIライブラリを明示的に指定しなければならない。C++ABIライブラリは、例外やRTTIや名前マングリングといったC++の低級層のABIを提供するライブラリである。GNU/Linuxでは、デファクトスタンダードである Itanium C++ ABIが使われている。 C++ABIの実装は複数ある。そのため、どの実装を使うのか選ばなければならない。GCCによるC++ABI実装は、libsupc++だ。libsupc++を使うことの利点は、GCCとC++ABIの互換性を保てるという事だ。 LLVMでも、C++ABIの実装

    riywo
    riywo 2013/04/20
  • LLVM/Clangがぜってーサポートしねーと宣言しているLinuxカーネルに多用されているGCC拡張

    [Phoronix] LLVM/Clang 3.3 Should Be Close To Building Linux Kernel LLVMLinux Bug 9254 – clang can't build iptables in Linux kernel: error: fields must have a constant size: 'variable length array in structure' extension will never be supported ClangでLinuxカーネルをビルドできる状況は、多くの勢力に望まれてきた。理由は様々だ。Clangはビルド時間が短い。静的解析による警告も優れている。ソースコードも綺麗だ。複数の独立した実装でコンパイルできるコードは、誤りを静的に発見しやすい移植性にも優れる。より優れたコピーレフトなライセンスであるGPLv

    riywo
    riywo 2013/04/19
  • 様々なUNIX環境のecho.cの比較

    UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c UNIX Fifth Editionのecho.cは、以下のような実装になっている。 main(argc, argv) int argc; char *argv[]; { int i; argc--; for(i=1; i<=argc; i++) printf("%s%c", argv[i], i==argc? '\n': ' '); } いかにも昔のC言語らしいコードだ。ヘッダーの#includeはなく、関数の戻り値の型も指定されない。仮引数の型も、今となっては物珍しいだろうが後書きだ。 OpenBSDのコードは以下の通り。 /* $OpenBSD: echo.c,v 1.7 2009/10/27 23:59:21 deraadt

    riywo
    riywo 2013/04/10
  • KDEレポジトリ消失問題の記事の全訳:完璧過ぎるミラー

    Too Perfect A Mirror - Me, my blog, and my Johnson 完璧過ぎるミラーと題して、今回のKDEのレポジトリが危うく消失しかけた障害について書いている記事があるので、参考のために全訳する。ただ、私にはgitの知識がないため、あくまで参考程度に。 (追記) 以下のテキストは公開時より書き換えられてはいないが、我々のバックアップ方法や失敗原因などの詳細に関する疑問に答えるために追記した。もし以前にこの記事を読んで、「おい、なんでバックアップ取ってねーんだ」と思ったならば、追記を読むといい。 当初公開した記事で説明し忘れたことがある。我々はレポジトリのtarballは持っている。tarballは数日おきに作成しているが、これは完璧なバックアップというわけではない。より詳しくは記事中で説明する。 これは、あやうくKDE大災害2013になりかけた今回の事件

    riywo
    riywo 2013/03/27
    ほー
  • UEFIとLinuxの現状

    mjg59 | The current state of UEFI and Linux Matthew Garrettが、UEFIの実装の現状と、一部の悲惨な実装について語っている。 まとめ:大方、問題なく動く。 既知の問題: いくつかのサムソンのラップトップ。サムソンのラップトップのドライバーはちょっとばかりヘンテコになっている。問題のラップトップが出荷された2010年では、大半のベンダーは、ファームウェアに、ACPIにしろ、WMIにしろ、何らかのアブストラクション機構を作っていた。サムソンはいまだに時代遅れの手法を使っていた。特定のアドレス領域が与えられており、そのアドレスを読み込んでオフセット集を取得する。そして、そのオフセットを元にマジックナンバーをマジックシステムIOポートにオフセットを元になんとかすれば何かが起こる。その書き込みはシステム・マネジメント・モードを発動させる。これ

    riywo
    riywo 2013/02/07
  • Galaxy Nexusが侵害しているとされる特許がどうしようもなくクソすぎる

    米国で、Galaxy NexusはAppleの特許侵害しているとして、差し止め命令が下った。特許の有効性はこれから争われる。さて、その具体的な特許とはなんだろうか。日国内の報道では、具体的な特許について一切言及していない。報道の質が悪いものだ。 BBCの報道によると、 BBC News - Apple enforces Galaxy Nexus smartphone ban in the US 以下の四つの特許があるらしい。 Patent US6847959 - Universal interface for retrieval of information in a computer system - Google Patents 2000年出願。ヒューリスティックな検索方法群を使うことにより、ユーザーの入力した検索語に対し、少なくともひとつの候補を、複数の場所(ローカルコンピューター

    riywo
    riywo 2012/07/05
  • 全プログラマーが知るべきレイテンシー数

    Latency numbers every programmer should know — Gist L1キャッシュ参照 0.5ナノ秒 分岐予測失敗 5ナノ秒 L2キャッシュ参照 7ナノ秒 Mutexのロックとアンロック 25ナノ秒 メインメモリー参照 100ナノ秒 Zippy[Snappy]による1KBの圧縮 3,000ナノ秒 1Gbpsネットワーク越しに2KBを送信 20,000ナノ秒 メモリーから連続した1MBの領域の読み出し 250,000ナノ秒 同一データセンター内におけるラウンドトリップ 500,000ナノ秒 ディスクシーク 10,000,000ナノ秒 ディスクから連続した1MBの領域の読み出し 20,000,000ナノ秒 パケットを、カリフォルニア→オランダ→カリフォルニアと送る 150,000,000ナノ秒 Jeff Dean著(http://research.googl

    riywo
    riywo 2012/06/01
  • 60%の人間はプログラミングの素質がない

    Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が

    riywo
    riywo 2012/05/17
    おもしろい
  • bsnesがついに完成したそうだ

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

    riywo
    riywo 2012/03/14
    これやべぇ
  • W3C、ブラウザー間のリアルタイム通信APIを策定するWGを立ち上げ

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

    riywo
    riywo 2011/05/09
  • 1