タグ

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

  • 技術を理解しないクソバカの治める国、ニッポン

    以下のようなニュースを読んだ。 年金機構、職員の電子メールを禁止 外部向け「当面の間」 - ITmedia ニュース 最近、この国の政治技術的に全く理解できなくなってきている。私がとうとう狂ってしまったのか、それとも世界がおかしいのか。世人皆濁我独清、衆人皆酔我独醒。とはこの謂か。 この理論で行くと、我々は年金機構からコンピューターを廃止すべきであるし、紙とペンも廃止すべきであるし、そもそも言語自体を廃止すべきだろう。あらゆる情報を記録する方法は廃止されなければならない。 これにつけて思い出すのは、自衛隊がWinnyで流出事件を起こした時、新隊員に一切のストレージの所有が禁じられたという話だ。なんでも、雑誌の付録についているDVDですら処罰の対象になったそうだ。そもそもそのDVDには新たにデータを書き込むことはできないし、その雑誌は自衛隊の駐屯地内の売店で売られているものであるのだが。

    tyage
    tyage 2015/06/06
  • コマンド間違えると「コマンドではない。」って返してくれる江添プラギン

    コマンド間違えると「コマンドではない。」って返してくれる江添プラギンほしい — 尾上* (@on_orikami) May 27, 2015 bashの場合、.bashrcに以下のように書けばよい。 command_not_found_handle() { echo "コマンドではない。" } ちなみに、もともとのシェル関数をリネームする方法について興味深い方法があった。 bashrc - How do I teach bash in Ubuntu some curse words? - Ask Ubuntu How do I rename a bash function? - Stack Overflow これを元にUbuntuに提供されている便利な機能も維持すると、以下のように書ける。 alias_function() { eval "${1}() $(declare -f ${2}

    tyage
    tyage 2015/05/28
  • Jacob Kaplan-MossのPyCon 2015における基調講演: プログラミングの才能という都市伝説

    Keynote - Jacob Kaplan-Moss - Pycon 2015 - YouTube The programming talent myth [LWN.net] PyCon 2015で、Djangoの貢献者であるJacob Kaplan-Mossが興味深い基調講演をしているので紹介する。LWM.netでほぼ全面書き起こしに近いまとめがあったので助かった。 自己紹介 Kaplan-MossはDjangoの貢献者であり、Herokuのセキュリテイ部門の部長である。PyCon参加者としては歴史が長く、その他のカンファレンスでもよく発表している。Pythonコミュニティは「自分にとってこの業界におけるとても重要なもの」であり、PyConの基調講演を行うということは、「自分のキャリア上の絶頂」である。 自分の最初のPyConの発表は2005年のことで、PythonAppleScri

    Jacob Kaplan-MossのPyCon 2015における基調講演: プログラミングの才能という都市伝説
    tyage
    tyage 2015/05/13
  • Linus Torvalds、「dbusはマジでクソだ」

    Gmane Loom Linus Torvaldsが、kdbusがdbusに比べてスピードアップしたということについてMLで話している。Linusの考えでは、dbusをカーネル側に持って行ったらコンテキストスイッチなどのオーバーヘッドを回避できるのでパフォーマンスアップにつながるという主張は間違っていて、現状のdbusのユーザースペースの処理が無駄にクソすぎるので遅いだけだという。 From: Linus Torvalds <torvalds <at> linux-foundation.org> Subject: Re: [GIT PULL] kdbus for 4.1-rc1 Newsgroups: gmane.linux.kernel Date: 2015-04-27 22:00:09 GMT (1 day, 3 hours and 39 minutes ago) On Mon, Ap

    tyage
    tyage 2015/04/29
  • gitの10周年を記念したLinus Torvalsへのインタビューの翻訳

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

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

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

    tyage
    tyage 2015/04/09
  • Ubuntu 14.04のUnityの設定をぶっ壊した場合の修復方法

    今朝、コンピューターを起動して、Ubuntu 14.04にログインしようとしたら、なぜか画面が固まってしまった。 まあ、この程度は情報強者たる筆者にとっては、造作もないことだ。Ctrl+Alt+F1で華麗に仮想コンソールに切り替えて、Upstartのinitctlを使ってlightdmを再起動させた。 $sudo restart lightdm カチャカチャ・・・ターンッ! restartは、initctl restartの代わりに使えるinitctlへのシンボリックリンクだ。おそらく、Ubuntuも将来的にはsystemdに移行するであろうから、いずれはsystemctlを使う必要があるであろう。だが、それはまだ先の話だ。 Ctrl+Alt+F7で戻ったところ、無事にlightdmによるログイン画面が表示された。さっそくログインしなおしたが・・・Unityがぶっ壊れていた。 背景とマウス

    Ubuntu 14.04のUnityの設定をぶっ壊した場合の修復方法
    tyage
    tyage 2015/02/28
  • XNGという新しいアニメーション画像フォーマット

    [Phoronix] GNOME Developer Comes Up With New Animated Image Format XNG: GIFs, but better, and also magical | Clean Rinse GNOME開発者のJasper St. Pierreが、GIFに変わる新しいアニメーションフォーマットを作り出したそうだ。 ただ・・・作ったというか、ハックしたというか。 この新しいフォーマットは、なんとブラウザーのvideoやcanvas要素を使うものではなく、もちろんJavaScriptのライブラリを使う必要もない、単にimg要素のsrc属性に指定するだけで既存のブラウザー上で動作する。<img src="foobar.xng">「魔法だ」 原理としては、ファイルの中身はSVGファイルで、BASE64エンコードされたJPEG画像が入っている。 まあ

    tyage
    tyage 2014/10/21
  • fork()は失敗するんだぜ、覚えときな

    fork() can fail: this is important あー、fork()のことね。プロセスがもっとプロセス作るためのやつな。いや、他にもプロセス作る方法はあるけどな。ま、面白い話がもうひとつあるから聞かせてやるよ。 forkは失敗するんだぜ。分かってるか? マジで分かってるか? マジだぜ。forkは失敗するもんだ。mallocと同じさ。失敗することもある。そんなに頻繁にってわけじゃないけどさ、でも失敗したら、無視できっこないぜ。ちっとは脳みそ働かせなきゃならん。 forkが0を返したら、そいつは子プロセスで、親なら正数を返すってことは、みんな知ってるよな。その値は子のpidだ。こいつを保存しといて、あとで使うってわけだ。 失敗を確認しない場合どうなるか知ってるか? そうだよ。お前多分、"-1"(forkのエラー通知)をpidとして扱ってるんだろ。 さて、問題の始まりだ。

    tyage
    tyage 2014/08/21
  • C++標準化委員会の国際会議に出席するためにパスポートを取得した

    さて、ドワンゴに入社した筆者は、今やC++標準化委員会の国際会議に出席できる機会を得た。国際会議というのは、年数回、海外に飛んでホテルに一週間缶詰になるということだ。これにかかる費用を個人で出すのは難しい。ましてや無職では難しい。C++の規格は個人でも学べるが、金や会社がなければ行えないC++啓蒙活動もあるということだ。 さて、C++WGの国際会議に出席するには、単に金さえあればいいというわけではない。色々と準備が必要だ。とりあえず筆者個人としては、まずパスポートを取得しなければならない。 パスポートの取得は、それほど難しくはなかった。問題は、パスポート取得に至る準備が、厄介だった。 まず、パスポートを取得するには、戸籍謄か戸籍抄が必要になる。筆者の籍は生まれてから移していないので、東京にはない。したがって、郵送で申請しなければならない。申請するには、籍がある場所をしらなければなら

    tyage
    tyage 2014/07/02
  • みなさんスラッシュドットから出てこないほうがいいですよ。

    Objective-Cという汚らしい言語を長年強制し、プログラマーを絶望の淵に叩き込んでいたAppleが、とうとう新言語を発表した。名前はSwiftという。 iTunes - Books - The Swift Programming Language by Apple Inc. ただし、現時点で、Swift言語仕様書のダウンロードと閲覧に、Appleの独自仕様満載の不自由なデバイス、の上で動く不自由なOS、の上で動く不自由な閲覧ソフトウェアが必要だ。そのため、筆者は未だに言語仕様書を読めずにいる。これをもってこれをみると、Appleの新言語にかける姿勢が如実に現れていると言えよう。すなわち、Appleの不自由なシステム以外は、市場として考慮する必要がないということに違いない。事実、Objective-Cは、Appleの不自由なシステムでプログラミングするにあたって、仕方なく使わなければな

    tyage
    tyage 2014/06/03
  • プログラミングを学ぶ方法がわからない

    最近、プログラミングをどうやって学べばいいのかわからなくなってしまった。 筆者はドワンゴに雇われている。ドワンゴに入社して早4ヶ月になろうとしている。ドワンゴに雇われている名目は、C++の啓蒙である。C++の啓蒙にはC++教育も含まれる。したがって、筆者はそろそろC++教育をしなければならない。 筆者は、プログラミングを教育する最良の方法は、参考書を執筆することだと考えている。直接対面して教えるのは非効率的だ。文章を書いておけば、大勢が学べる。では、どのような参考書を執筆すればいいのか。すでにC++11のコア言語の参考書は書いた。 EzoeRyou/cpp-book C++14対応も、正式なC++14規格制定後に行わなければならない。そしてライブラリは、もし他にやる人がいないのであれば、やらなければならないだろう。 しかし、これらのは、C++をこれから学び始める人向けではない。C++

    tyage
    tyage 2014/05/23
  • OpenGLでムカつくこと

    Rich Geldreich's Blog: Things that drive me nuts about OpenGL Valve社員のRich Geldreichが、OpenGLの設計が古臭すぎることについて不満を爆発させている。 OpenGLについてムカつくことを脳内ダンプしてみる(これは個人的な件秋であって、Valveや同僚の見解ではない。あと、ここ数年、OpenGLと格闘してきたので、今日は機嫌が悪い)。これを投稿する理由はこうだ。GL APIには再設計が必要だ。というのも、思うに、MantleやD3D12がどうせ昼飯前にOpenGL APIを駆逐してしまうだろうから、この問題については、今考える必要があるのだ。 ここに見れば些細な問題もある。単にAPIのトレースの問題というのもある。しかし、それらの問題が積み重なって、他の開発者にGL APIという環境に飛び込むよう誘うのを躊

    tyage
    tyage 2014/05/17
  • 超会議3の超チューニング祭の感想

    さて、超チューニング祭が終わったので、感想を書こうと思う。すでに、参加者の中で、感想を書いている人もいる。 レポート - 超チューニング祭で努力賞(最速賞)をとるためにやったこと - Qiita ニコ動 超チューニング祭で最優秀賞もらいました 超チューニング祭に参加した - masarakki's blog JavaScript - 超チューニング祭に参加&表彰した - Qiita kmizu/slide_cho_tuning また、いつの間に行ったのか、優勝者に取材したところもあるらしい。 『ニコ超3』の超チューニング祭で、“創世神”戀塚昭彦氏を上回ったカップルが見せたバランス感覚 - エンジニアtype さて、筆者の視点からみた超チューニング祭はどうだったか。 そもそも、私がスタッフとして配置されるブースは、超時空ニコニコ研究所であるはずだった。しかし、超会議にさかのぼること三週間前、

    tyage
    tyage 2014/05/01
  • 新たな期待できるC++インタプリター、Cling

    江添亮 自由ソフトウェア主義者 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

    tyage
    tyage 2014/04/28
  • C++11の時間ライブラリは美しさを追求したあまり、かえって使いにくくなっているのではないか

    C++11の時間関係のライブラリは、非常に美しい設計をしている。 まず、経過時間そのものを表すdurationがある。Cライブラリでいえば、time_tの値の単位を指定するクラスだ。Cライブラリでは、time_tの値は秒であったが、C++では、単位を指定できるのだ。 durationでは、単位ライブラリであるratioを使って、秒、ミリ秒、マイクロ秒などといった時間単位を表現している。 秒 std::chorno::seconds ミリ秒 std::chrono::milliseconds ナノ秒 std::chrono::nanoseconds 時 std::chrono::hours それ以外の、独自の刻みがほしいとしても、簡単に作成できる。 4分33秒 using four_minutes_thirty_three_seconds = std::chrono::duration< l

    tyage
    tyage 2014/04/28
  • JavaScriptの誕生と終焉

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

    tyage
    tyage 2014/04/21
  • JavaScriptのコメントと改行

    今回の記事は、JavaScriptのコメントの文法についての、とてつもなく些細な内容になる。 まず、「改行」の定義について ECMAScript規格では、俗に改行と呼ばれているものは、正式には、行終端子(Line Terminator)と名づけている。行終端子は5個あり、これは4種類の文字からなる。なぜ4種類の文字で5個あるのか。ひとつは組み合わせなのだ。 行終端子を構成する4種類の文字は、\u000A(Line Feed), \u000D(Carriage Return), \u2028(Line separator), \u2029(Paragraph separator)である。 しかし、慣習的に、CRに続くLFを、ひとつの「改行」とみなすことが横行している。JavaScriptはこの慣習を追認する形で、CRLFの2文字をひとつの行終端子として認識する。 さて、題に入ろう。Java

    tyage
    tyage 2014/04/16
  • Python 2.7のサポート期間が2020年まで延長

    peps: 76d43e52d978 Python 2.7のThe End Of Life時間(EOL、日没の時間)は5年間延長されて、2020年になった。この決定はPython 2.7の状態を明確にし、まだPython 3に移行出来ない利用者の懸念を取り除くものである。PEP 466も参照されたし。 この表明は、バグ修正リリースが頻繁に行われることを保証するものではないが、Python 2.7のバグ修正を行いたいボランティアの貢献を可能にし、また、今後もしばらくPython 2をサポートする必要のあるベンダーを満足させるものであろう。 Python 2.8はない。 いかにプログラミング言語にとって、下位互換性が重要化が分かる事例だ。Python 3は、下位互換性をぶち壊す変更をすべきではなかった。たとえどんなに汚かろうが、一度使われてしまった文法は、いまさら廃止することは出来ないのだ。

    tyage
    tyage 2014/04/15
  • OpenBSD、怒りのコミット

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

    tyage
    tyage 2014/04/12