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

  • パブリックドメインの漫画が出てくるのは2050年代から、アニメは2030年代から

    Redditでパブリックドメインな漫画は存在するのかと質問されていたので考えてみた。 Are any manga in the PUBLIC DOMAIN? : japan 2018年に改正された日の著作権法では、個人の著作権の保護期間は死後70年を原則として、映画、無名、周知されていない著作物は公開から70年となっている。改正時にすでに著作権条保護されていない作品について保護期間が延長されることはないので、1967年に著作者の死亡した作品の著作権の保護期間は満了しているが、1968年に著作者の死亡した作品の著作権は2038年まで存続する。 それを踏まえて日漫画歴史を紐解くと、1930年代には、現代風の漫画が公開されている。このときの漫画家達は1970年から1980年頃まで生きているので、著作権の保護期間が満了してパブリックドメイン漫画が出てくるのは、1950年代以降ということにな

    tmatsuu
    tmatsuu 2020/06/03
    わいわい
  • 本の虫: SQLiteの行動規範がキリスト教徒の戒律を全文引用していて香ばしすぎる

    Code Of Conduct SQLite creator crucified after code of conduct warns devs to love God, and not kill, commit adultery, steal, curse... • The Register SQLiteの行動規範(Code of Conduct)は大真面目に西暦500年の聖ベネディクトの作った72か条の戒律を全文引用している。この行動規範はSQLiteの利用者が同意する必要はないが、開発者は同意しなければならない。結果としてSQLiteは危険すぎるので使ってはならない。なぜならばSQLiteの開発者は全員キリスト教原理主義者で奴隷制度を肯定し非武装でキリスト教徒に改宗すらさせた敵をジェノサイドしたカルト宗教の信奉者であり、キリスト教の教義に合わないコードは書かず、異教徒を攻撃するだろ

    tmatsuu
    tmatsuu 2018/10/29
    ワハハクソでしたな。批判の嵐だったのでSQLiteは結局Mozilla Community Participation Guidelinesを行動規範として採用した模様。
  • DNAの読み取りについてプログラマーが誤解していること

    世の中にはDNAの読み取りを使った技術が実用されすぎている。DNAを使った生物の共通祖先の判定、人間の出アフリカ以降の移動の推定、特定の病気にかかりやすい遺伝子を持つかの判定、親子鑑定、刑事裁判におけるDNA鑑定などなど。 あまりにもDNAの読み取りを使った技術が実用化されすぎているため、世間ではDNAの読み取りは簡単なものだと考えている。プログラマーとて例外ではない。 大抵のプログラマーはヒトDNAの読み取りを以下のように考えている。 「一の長い磁気テープを先頭から末尾までシーケンシャルにリードする」 より現実的に例えると以下のようになる。 長さ30kmの長大な磁気テープをだいたい長さ1cmのテープ片に切断する 上記1cmのテープ片を数百複製する 上記複製した数百の1cmテープ片をマイクロメートル単位のテープ片にズタズタに切り裂いて混ぜ合わせる 上記混ぜ合わせたマイクロメートル単位

    tmatsuu
    tmatsuu 2018/09/17
    誤解してた。知らないことを知るって楽しい。
  • 違法な職務質問を受けたので国賠訴訟を起こした裁判の傍聴のお知らせ

    私の裁判の傍聴をしたいという人が何人かいるので、ここで証人尋問の傍聴の告知をしておく。 日時: 2018年9月19日 水曜日 13時30分から16時頃まで 場所: 東京地方裁判所631号法廷 傍聴をするためには、指定の日時の少し前に東京地裁に行き、金属探知機のある入り口を通過し、そのままエレベーターで6階まで上がって時間通りに631号法廷に行くだけだ。特に予約や手続きは必要ない。また、途中退出してもよいそうだ。 裁判の内容だが、私は約1年前に警察官から違法な職務質問を受けたので東京都を相手に起こした国賠訴訟だ。 の虫: 警察官に職務質問をされた話 の虫: 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話 裁判を起こすことになって初めて知ったのだが、警察というのは地方自治体の行政であるので、東京都内で生じた警察の行為について裁判を起こす場合、被告は東京都

    tmatsuu
    tmatsuu 2018/08/12
    経験して初めて知るあるある。Mt.Goxの債権者集会も良い経験だった。
  • NPM 5.7が重要なディレクトリの所有者を書き換える凄まじいバカをやらかす

    https://github.com/npm/npm/issues/19883 Do not use NPM 5.7 | Hacker News NPM 5.7において、sudo npmを非rootユーザーから行うと、/etc/とか/usrとか/bootなどの極めて重要なディレクトリの所有者を、sudo npmを実行した非rootユーザーにchownして書き換えてしまうというとてつもないすさまじい不具合が報告されている。 一体どうすればそんな間違いをしでかすというのか。 https://github.com/npm/npm/commit/94227e15eeced836b3d7b3d2b5e5cc41d4959cff どうもディレクトリを作成するときにパーミッションと所有者を適切に設定するという名目でmkdirをラップして実行時のユーザーでchownするcorrectMKdirを作ってmk

    tmatsuu
    tmatsuu 2018/02/24
    hahaha。石川さんごめんなさいした報いだ
  • GitHubで他人のプルリクエストに対しコンフリクト解消や追加の修正を行いつつマージする方法

    読者がGitHubで何かを公開しているとしよう。そのレポジトリに対して他人がプルリクエストを送ってきた。なかなか良さそうな変更だ。早速マージしたい。 しかし、残念なことにそのプルリクをそのままマージすることができない。なぜならば、 コンフリクトを起こしている 追加の修正が必要だ こういう場合、大規模なプロジェクトや、PR主が職場の同僚や開発仲間であった場合、PR主に修正を依頼するものだ。しかし、個人的な小規模なプロジェクトなのでPR主はPRを出したまま返事がない。 こういう場合に、PRをマージするにはどうすればいいのか。答えは簡単で、プルリクエストが裏でやっているgit操作を自分のローカルでやればいいのだ。 まず、該当のPRのGitHub上のページの、「プルリクエストをマージ」ボタンの横に、コマンドライン操作を表示(view command line instructions)というリンク

    tmatsuu
    tmatsuu 2017/10/28
    github脳あるある
  • オーストラリア警察が世界最大の児童ポルノサイトを11ヶ月運営していたことが判明

    VG exposed the largest child sexual abuse forum. It was run by the police. ノルウェイのタブロイド紙のヴェルデンス・ガング(VG)は、Tor経由でアクセスできるいわゆるダークウェブの中で世界最大の児童ポルノサイトであるChilds Playは、オーストラリア警察によって運営されていたことをつきとめた。この顛末は倫理的にも技術的にも興味深い。 この児童ポルノサイトは、当時ダークウェブの児童ポルノサイトの中でも世界最大級の規模を持っていた。各国の警察は様々な捜査の上、このサイトを運営していた二人の逮捕に至った。そして、Webサイトは、各国警察相談の上、おとり捜査が合法な国、オーストラリア警察、アルゴスの手に委ねられた。アルゴスはWebサイトのホスティングをオーストラリアのレンタルホスティングサービス、Digital Pa

    tmatsuu
    tmatsuu 2017/10/09
    技術面は最高におもしろい。こういうどうやって調査をしたかのノウハウをまとめたサイトどこかにあるだろうか
  • AWSのアクセスキーをハニートークンとして使うアイディア

    Early Warning Detectors Using AWS Access Keys as Honeytokens この発想はなかった。 AWSのアクセスキーはハニートークンとして使える。 ハニートークンとは、普段使用しないものが使用されたことを検知して、意図しない利用を検知するトリックである。例えば、通常ならば使われないメールアドレスをパスワードとともに、自分しかアクセスできないストレージに格納しておく。その状態で、もしメールサーバーにログインされた場合は、自分しかアクセスできないはずのストレージに他人がアクセスして、マヌケにもメールアドレスとパスワードをストレージ上に保存しているのを発見して、利用を試みたということになる。つまり、侵入を検知できる。 AWSのアクセスキーは、ハニートークンに使うことができる。AWSに権限を持たないユーザーを追加して、そのユーザーでアクセスキーを発行

    tmatsuu
    tmatsuu 2016/12/11
    ああ、いいねー。AWSさんは定期的にハニートークンをgistやpastebinに放流してAWS側で取り締まって欲しい。
  • Archユーザー、rm -rfしてMSIのラップトップのUEFIのバグを発見する

    No POST after rm -rf / / Kernel & Hardware / Arch Linux Forums No POST after rm -rf / | Hacker News Mount efivarfs read-only · Issue #2402 · systemd/systemd Archのインストールを消去したかったので、遊びのためにMSIのラップトップで"rm -rf --no-preserve-root /"してみたArchユーザーのラップトップが文鎮化してしまった。なぜだ。 調査の結果、おそらく/sys/firmware/efi/経由でEFI変数(EFIの規格で定められているマザーボードが提供する小容量の不揮発ストレージ)に書き込みを行ったためだと判明した。 EFI変数に書き込むのは、EFI規格上完全に合法な操作であるが、どうやらファームウェアの不具

    tmatsuu
    tmatsuu 2016/02/04
    こういう人柱になってくれるの、最近は大抵Archユーザー
  • Ted Ts'oがEXT4で暗号化を実装

    Encryption Support For EXT4 - Phoronix GoogleのTed Ts'oが、EXT4に直接暗号化機能を実装したそうだ。 Linuxカーネルにおけるストレージの暗号化にはいくつか方法がある。ファイルシステム自体が暗号化機能を備えているというのはわかりやすいが、その他にも方法がある。 eCryptfsはEXT4のような通常のファイルシステムの上に、さらに暗号化されたファイルシステムのレイヤーをかぶせる方法だ。eCryptfsは、、ホームディレクトリ以下を暗号化するのによく使われている。 dm-cryptは、ブロックデバイスレベルの暗号化で、これは通常のファイルシステムの下で暗号化を行うレイヤーだ。 今回は、ファイルシステム自体に暗号化機能をもたせたわけだが、[PATCH 00/22] ext4 encryption patchesによると、Androidで使

    tmatsuu
    tmatsuu 2015/04/19
    eCryptfsまだ試してなかった。あとで試そう
  • ChromiumがLinuxカーネル3.17より前のサポートを打ち切り

    Chrome/Chromium To Require Newer Version Of Linux Kernel - Phoronix ChromiumLinuxカーネル3.17以前のサポートを打ち切るようだ。 というのは釣りタイトルだが、Linuxカーネル3.16までで、最新のChromiumを使うと、ブラウザー拡張がインストールできないという問題がある。この理由は、Linuxカーネルのサンドボックス機能であるseccompに最近入ったTSYNC(SECCOMP_FILTER_FLAG_TSYNC)をChromiumが使っているためだ。 興味深いは、LinuxカーネルにTSYNCをいれたのは、Chromium開発者で今はGoogle社員でもあるKees Cookだ。Ubuntuの12.04と14.10のLinuxカーネルには、TSYNCをbackportするパッチがあたっているが、これ

    tmatsuu
    tmatsuu 2015/03/10
    Gentooでよかった!もしかしてChromeが最近重いのってこれ適切に設定すれば直るんだろうか。ちなみに3.18あたりでcifsのマウントに躓くから気をつけような
  • xkcd: マニュアル

    xkcd: Manuals ←問題を解決する | 問題を作り出す→ 左端:説明書を必要としないツール 中央:説明書を必要とするツール 右1: 説明書を必要とするが説明書が存在しないツール 右2: 説明書が「説明書の読み方」で始まるツール titleテキスト: もっとも最悪なのはsudoersのmanページだ。クイックガイドから始まって15年たった今や、言語の文法を定義するEBNFで記述されている。「恐れることはない」と説明書は言う。「以下の定義は注釈付きである」と。 ためしにman sudoersをみてみると・・・これはひどい。

    xkcd: マニュアル
    tmatsuu
    tmatsuu 2014/10/12
    ntp.conf(5)やprocmailsc(5)も負けず劣らず
  • コンピューターを新調したいが踏み切れない

    私は今、貰い物のラップトップをメインのコンピューターとして使っている。そろそろコンピューターを新調したいと思いつつも、なかなか踏み切れないでいる。 問題は、今のラップトップは、計算性能だけを考えれば、何の不満もないことだ。私の日々の作業に対して、CPUは十分に速く、メモリは十分な容量で、GPUだけはIntelのHD Graphics 3000なのですこし不満はあるが、私はグラフィック性能をそれほど必要としないので問題はない。ストレージもSSDだ。 不満は、純粋な計算性能以外の点にある。 組み込みディスプレイの解像度が低すぎる。また、外部ディスプレイ出力もHDMIしかなく、規格のバージョンも古いので4k出力に対応していない。 WiFiも5Ghz帯に対応していない。 結局、不満点といえば、これぐらいしかないのだ。このためだけにラップトップを変えるというのはどうだろうか。しかし、ディスプレイもW

    tmatsuu
    tmatsuu 2014/08/30
    dynabook T954、実物見てみたくてヨドバシ行ってみたが見つからず。どこかに展示されてないだろうか。
  • fork()は失敗するんだぜ、覚えときな

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

    tmatsuu
    tmatsuu 2014/08/21
    世紀末感ある
  • Sparc上のNetBSDでejectするとパニックに陷る問題の修正

    CVS commit: src/sys/arch/sparc/dev Modified Files: src/sys/arch/sparc/dev: fd.c Log Message: fd(4)をオープンすることによるpanicを修正。違うポインターをmemset()に渡していたことが原因。 なんでこの18年もののバグがこれ以前に問題を引き起こさなかったのか謎だが(少なくとも、オレの昔の5.99.23カーネルでは動く)、おそらくはgcc 4.8がメモリ確保をよりアグレッシブに行うために表面化したのではなかろうか。 この問題はNobuyoshi Satoがfd(4)にeject(1)を試みた結果、発見された。 なんと、18年物のバグがejectを試してみた結果発見されたわけか...。eject怖い。 http://t.co/MDdvdzlLmP — Nobuyoshi Sato (@7n2

    tmatsuu
    tmatsuu 2014/08/21
    Ejectコマンドユーザ会からの談話期待
  • Google翻訳には秘密の特別版があるのか?

    Does Google Have A Secret "Google Translate" Service? 公に公開されているGoogle翻訳と、GAndroidChrome用のソフトウェア流通サイトに組み込まれているGoogle翻訳機能は、翻訳精度が違うというお話。 GoogleGoogle翻訳は、おそらくオンライン翻訳サービスの最大手と言えるだろう。Googleは、このサービスを使って自動翻訳コンテンツを生成してオンライン上に公開するスパマーと戦っている。 このため、Google自身が自動翻訳コンテンツの利用者だというのは、驚きに値する。まず最初に気がついたのは、Google Playで、アプリ説明に自動翻訳を付けたことだ。後にChrome Web storeでも同様になった。 さらに興味深いことに、この翻訳はほぼ人間のように見えることだ。少なくとも、Google翻訳オンラインの結

    tmatsuu
    tmatsuu 2014/05/04
    Google Translate APIは有償で提供されてるけど、無料で使えるWeb版と品質は同じなんだろうか。
  • 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は、下位互換性をぶち壊す変更をすべきではなかった。たとえどんなに汚かろうが、一度使われてしまった文法は、いまさら廃止することは出来ないのだ。

    tmatsuu
    tmatsuu 2014/04/16
    うむ。いまだに3が主流になりそうな気配がないんだが、気のせいだろうか。
  • OpenBSD、怒りのコミット

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

    tmatsuu
    tmatsuu 2014/04/12
    ちなみに弊社はHEARTBEATSです!
  • Linus様がSystemdにぶちきれる

    systemdは、/proc/cmdlineをパースして、もし、その中に"debug"という文字列を発見した場合、大量の冗長なデバッグメッセージをdmsegに出力する。これは様々な問題を引き起こす。まず、"debug"というあまりに一般的すぎる文字列に勝手に反応してしまうことがひとつ。dmseg、すなわちカーネルのリングバッファーをsystemdの冗長なデバッグメッセージだけで溢れ返させてしまうことがひとつ。そして、なぜかLinuxカーネルのブートに失敗してしまうことがひとつ。 Bug 76935 – Do not parse "debug" command line parameter カーネルコマンドラインに"debug"を与えると、systemdによりパースされる。適当なassertに引っかかると、こんな風にぶっ放される。 [ 150.308000] systemd-journald

    tmatsuu
    tmatsuu 2014/04/03
    わはははは。そこでopenrcですよ!と言いたいところだが、最近gentooもsystemdが徐々に浸透しつつあるし。
  • 妖怪ネットワークにRTX810を導入した

    筆者の住んでいるシェアハウスである妖怪ハウスのネットワーク環境、すなわち妖怪ネットワークの構築が、一段落した。ついに、YAMAYAのRTX810を導入することに成功したのだ。 RTX810の初期設定は、一般家庭で使うにはかなり変わっているので、結構な設定が必要だった。 まず、初期設定では誰でもログインできるようになっているので、適切にパスワードを設定した。 デフォルトで設定されるファイヤーウォールが不思議だ。まだRTX810独自のコマンドを読むのに慣れていないのだが、どうもデフォルトで設定されるフィルターは、プライベートIPアドレス間での通信、つまりプレイベートネットワーク内のホスト同士での通信を完全に遮断しているように読める。実際に、RTX810を介して無線LAN APにログインできないので、正しいのではないかと思う。 さらに、ファイル共有で使われるSMBプロトコルも遮断しているように読

    tmatsuu
    tmatsuu 2014/03/22
    digに応答しないのはRTX810がEDNS0に対応してないせいで、digに+edns=0オプションをつければ応答あるはず。最新ファームウェアにアップデートすれば直るかもしれない。