サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
ezoeryou.github.io
https://old.reddit.com/r/emacs/comments/lly7po/do_you_use_emacs_lisp_as_a_general_purpose/ 1990年代初頭、東欧革命で東西ドイツが統一したあと、私は厄介な仕事、というか誰もやりたがらない仕事に派遣された。ある月曜日の朝、DASAの工場に入った(DASAというのは当初ドイツ航空で、そのあとダイムラー航空になり、今はエアバスに吸収された) プロジェクトはDASAからHPが受注したもので、東西のATC(航空交通管制)システムを統一するというものだった。つまり2つの大企業と政府からの発注ということで、うちのような受注会社はおこぼれを預かっていたわけだ。Emacsの話は実は2つある。 最初の話。その月曜日の朝、手助けする開発者達と顔合わせした。彼らは素晴らしいものに囲まれた研究所にいた。最新のHPワークステー
https://twitter.com/stevekrenzel/status/1589700721121058817 Twitterのオーナーが変わったので、俺がやるように業務命令された当時のTwitterがやろうとしていた非倫理的なことについてそろそろ話してもいいだろう。 Dick Costoloが追放されて、Jack DorseyがパートタイムCEOとしてやってきた2015-2016年頃。Twitterは死にかけていて買収先を探していた。FacebookもGoogleも買収は断った。 当時のTwitterは潰れる寸前だった。2016年の大統領選挙のおかげで息を吹き返したようなものだ。でも俺は辞めることになった。 当時の俺はTwitterで、新興地域(ブラジル、インド、ナイジェリアなど)でTwitterがうまく動くようにしていた。スマフォ周りの改善で、表向きではない仕事だ。帯域節約とか
新しいブログ記事が読みたいといういう声が聞こえてきたので、久しぶりにブログを書く。最近仕事で依存地獄の解決をしているので、その方法を書いてみる。 現代のソフトウェアは様々なライブラリに依存するものだ。ソフトウェアAがライブラリBに依存する場合を考える。 A B ソフトウェアAとライブラリBはそれぞれ別のgitレポジトリで管理されている。依存はパッケージマネージャーで管理されていて、レポジトリの中に設定ファイルがある。レポジトリAの中にはレポジトリBに依存する設定ファイルがある。npm, cargo, pip, rebar3といったパッケージマネージャーを考えるといい。 もちろんライブラリBも別のライブラリC, Dに依存している。 A B C D この場合、AはC, Dに間接的に依存していることになる。 実はさらにFというライブラリがあり、これはA, B, Dが依存している。 A B F C
[D] I don't really trust papers out of "Top Labs" anymore : MachineLearning あのさ。書いてある数字は事実だろうし実際書いてある研究はやったんだと思うよ。そこんとこは認めてやるよ。でもそれだけだ。例えば最近の"An Evolutionary Approach to Dynamic Introduction of Tasks in Large-scale Multitask Learning Systems"(巨大マルチタスク学習システムに対するタスクの動的追加における進化的アプローチ、著者Andrea Gesmundo, Jeff Dean、GoogleのAI部署所属)って論文だがな。この18ページの論文は超複雑で進化的なマルチタスク学習アルゴリズムについて書いてあって興味深いし、実際問題を解決してるさ。でも二点ツッ
log4jとはJava用のloggingライブラリだ。loggingライブラリというのはログとして記録すべき文字列を受け取り、それをどこかに出力するものだ。文字列の中身を通常のloggingライブラリは気にしない。 log4jが通常のloggingライブラリと違うのは、文字列の中身を見て、一部の文字列を変数とみなして置換することだ。これはlog4jのドキュメントではlookupと呼ばれている。 Log4j – Log4j 2 Lookups 例えばプログラムを実行中のJava runtimeのバージョンをログに含めたい場合は、"Java Runtime: ${java:runtime}"などとすると、"Java Runtgime: Java(TM) SE Runtime Environment (build 1.7.0_67-b01) from Oracle Corporation"などの
世間ではAppleの新しい製品に使われるARM64 CPUであるM1の話題でもちきりだ。ただし、日本語を話す記者というのは極めて非科学的かつ無能であり、M1の現物を手にしても、末端のソフトウェアを動かして、体感で早いだの遅いだのと語るだけだ。そういう感想は居酒屋で酒を片手に漏らすべきであって、報道と呼ぶべきシロモノではない。 と思っていたら、Phoronixがやってくれた。M1とi7で動くmacOSでベンチマークをしている。 これを考察すると、M1のMac Miniは、一世代前のi7のMac Miniに比べて、メモリ性能とI/O性能が高く、演算性能は低いようだ。このことを考えると、M1の性能特性としては、動画のエンコードやソフトウェアレイトレーシングをするには不向きだが、その他の作業は遜色ないだろう。 問題は、仮想化とRosettaを組み合わせることができないという点だ。x86-64のユー
発端 村上原野追悼のために、11月7日から9日にかけて岡山に行ってきた。 参考: ボレロ村上逝去 村上原野(ボレロ村上)の思い出 村上原野の訃報がプログラマーの界隈に知られてすぐに、追悼のために岡山に旅行する話が持ち上がり、10人以上もの人間が集まったが、COVID-19の感染拡大により東京から大人数で地方に移動するのは感染拡大のリスクがあるので自粛していた。 さて、冬も終わり夏もすぎて秋になり、どうやら冬に感染が拡大するらしいとのことで、今年中に行くならばそろそろ行かなければならないと思っていた矢先、妻が岡山に行くというので相乗りすることになった。GOTOトラベルキャンペーンを使い、倉敷のホテルに2泊3日の行程だ。せっかくなのでホテルは少々高くてもおしゃれなところにしようと画像を見ておしゃれそうなところに宿を取った。 11月7日 安かった時間帯の14時半に羽田空港から岡山空港に行く。飛行
著者:江添亮 ブログ: http://cpplover.blogspot.jp/ メール: [email protected] Twitter: https://twitter.com/EzoeRyou GitHub: https://github.com/EzoeRyou アマゾンの江添のほしい物リストを著者に送るとブログ記事のネタになる 筆者にブログのネタになる品物を直接送りたい場合、住所をメールで質問してください。 http://web.mit.edu/jemorris/humor/500-miles From: Trey Harris <[email protected]> 今から私が書く話は、起こりようのない問題についてだ。この話を広く一般に公開してしまうのは惜しい。というのも、いい酒の話のネタになるからだ。この物語は、退屈な詳細や問題を隠すために、多少事実を変えていて、物語を面白く脚
職質裁判は上告不受理で終了した。 calling-110-is-suspicious/20200626_zyoukoku_huzyuri.pdf at master · EzoeRyou/calling-110-is-suspicious 経緯はこうだ。3年前にひどい職務質問を受けた。 警察官に職務質問をされた話 警察官職務執行法に規定されている通り、職務質問をするためには職務質問を受ける人物について犯罪を犯した、あるいはこれから犯罪を侵すと疑うに足る相当な理由が必要だ。それに職務質問で規定されているのは質問であって、開口一番にリュックの中身を見せろと発言するのはもはや質問ではない。そして警察官2人がかりで路上に羽交い締めにされたり、多数の警察官によって私有地の駐車場に監禁され、何の法的根拠もない手荷物検査に応じるまで解放しない。これは説得でありお願いであるので法的根拠は必要ないと2時間拘
PCILeechというソフトウェアスタックがある。 ufrisk/pcileech: Direct Memory Access (DMA) Attack Software これはPICeデバイスを使ってターゲットコンピューターのメモリをDMAで読み取るためのPCIeデバイスのFPGAの実装とその操作のための一連のソフトウェア群だ。 原理は簡単だ。ターゲットコンピューターのPCIeスロットにつないだPCIeデバイスからDMAをするだけ。これによりターゲットコンピューターのメモリ領域を読み取ることができる上、ターゲットコンピューターからは検出不可能だ。なぜならばDMAはCPUを介さずに行われる上、ターゲットコンピューターにカーネルスペース/ユーザースペースともに追加のコード実行を必要としないからだ。 PCILeechを作って作られたゲームのチートに、CSL:GOのチートがある。これはマップ上の
村上原野(ボレロ村上)の思い出を色褪せないうちに書いておこうと思う。 村上原野の父親であり師匠であった猪風来は縄文土器による芸術家である。縄文土器の制作方法を復元した人物だ。 猪風来プロフィール | 美術館の紹介 | 猪風来美術館 縄文土器は窯を使わずに野焼きで焼き上げる。野焼きで窯ほど燃焼温度が上がらないので、低温でも焼き上がるような粘土を使わなければならない。その製法は再発見され、村上原野が縄文土器作成を学ぶ頃には、一通り完成していた。製法を復元した上で、その製法を使って芸術品を作るというのだ。 聞いた話では、猪風来は極めて形から入る芸術肌の人間で、縄文人の心を理解するために、北海道に竪穴式住居をこしらえて家族で住んでいた。つまり、村上原野の父親と母親と本人は中学生か高校生ぐらいまで北海道の竪穴式住居に住んでいたのだ。 竪穴式住居とは歴史の教科書にも出てくる様式の原始的な家だ。地面を掘
村上原野 aka ボレロ村上, 中3女子 逝去 ボレロ村上、中3女子ことC++プログラマーで陶芸家の村上原野の訃報が流れている。それによるとどうやら、2月16日未明に、陶芸作品を製作中に倒れ、翌朝に発見されたようだ。 2月15日の21時51分のtweetに体調の変化を示唆する書き込みがある。倒れたのが16日の未明とあるので、そこから6時間後ということになる。 この書き込みから急な脳梗塞ではないかと思われる。体調の変化を感じたら病院に行くべきなのだろう。 首の後頭部の付け根がゴリゴリビキビキして頭までジンジンきてやばい — 狂える中3女子ボレロ村上/陶芸C++er (@bolero_MURAKAMI) February 15, 2020 大一報はおそらく猪風来美術館のFacebookで、これは20日に公開されたとのことだが、我々プログラマーの界隈に知られるまでに9日間を要したようだ。 岡山に
あるミッション系の大学から講師委嘱の依頼がやってきた。その科目は私の個人的な知識と経験から興味深い話がたくさんできるであろう分野で、具体的には、著作権特許権と検閲、電子書籍とDRM、著作権特許権の保護する範囲を越えようとする不自由なソフトウェアライセンス、岡崎図書館事件、兵庫県警Alertループ事件、神奈川県警CoinHive事件、あるいは本の出版事情や再販制度といった内容を取り扱うことになる。 例年70-80人の履修者がいて、1学期間に1コマ100分が14回に加えて内容の理解の確認のための課題と評価だ。 単純計算で一ヶ月に7時間の授業と、準備時間を授業時間と同じぐらい確保し、課題作成と80人分の回答を評価する時間を考えると、最低でも月に20-30時間ぐらいは必要だ。質をあげようとすればもっと長時間の労働になるだろう。大学なので報酬は安くても引き受けるとして、期間を定めた個人請負なので時給
江添亮のC++入門が出版された。もうすでに一部書店では店頭に並べているところもあるようだ。 9/18新刊『江添亮のC++入門』KADOKAWA(978-4-04-893071-0)江添亮 著◆「C++」棚にて展開中!次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説。C++による本格的なプログラム開発に必須の知識を網羅した本格的な入門書。 pic.twitter.com/fZEu6Sm1xa — 書泉ブックタワーコンピュータ書売り場 (@shosen_bt_pc) September 18, 2019 この本はタイトル通り入門書だ。C++のソースコードのコンパイル方法から初めて、GNU Makeによるビルドシステムを少し触り、基本的な文法を解説し、一部のライブラリの仕組みまで解説する。 この本の執筆にあたっては、知識のブ
PHP: pplusplus:faq PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる。P++はPHPとの下位互換性を削りながら除々にPHPを静的型付け言語にする試みだ。 PHP開発者の中には2つの流派がある。PHPの源流であり現在の形である動的型付け言語としてのPHPを良しとする流派と、PHPをより強い静的型付け言語へと発展させたい流派だ。良い悪いの問題ではない。どちらの流派も正当な理由がある。しかし、ゆるふわな動的型付け言語とガチガチの静的片付け言語は同じ一つの言語として同居できない。 そこで、コードネームP++として、PHPを静的型付け言語に発展させる新しい言語の開発が提案された。P++はforkではなく、PHPと同じコードベースを共有する。PHP 8のバイナリはPHPとP++を同時に実装する。言語の切り替えは何らかの宣言によって指定する。 P++は
現在、C++の標準規格は3年おきに制定されている。このスケジュールはC++14から厳しく守られていて、C++20は2020年に制定される予定だ。 なぜなのかを議長のHerb Sutterが解説している。 Draft FAQ: Why does the C++ standard ship every three years? – Sutter’s Mill まず現状認識として、C++の標準規格は3年おきに制定される。ドラフトにバグがあるので遅らせるべきではないのか。ダメだ。そのために2年間の機能追加と1年間の機能フリーズとバグ修正の期間が儲けられている。 しかし、ある「機能」はあと数回の会議を経たならば完全に合意できて入れられる状態になっている。この「機能」のためにC++20を少しだけ遅らせられないのか? ダメだ。期限までにC++20に入れられない「機能」はC++23に回される。 このスケジ
AMDのZen 2アーキテクチャの新製品が発売されて沸き立っているが悲しいお知らせがある。最近のGNU/Linuxディストロはブートしない。例えばUbuntu 19.04はブートしない。 理由は、ハードウェア乱数を返す命令、RDRANDに不具合があり、常に-1を返すのだという。このため、rdrandを直接使っているsystemdが失敗し、結果としてブートできなくなる。 AMDによればこの問題はBIOSアップデートで修正可能であるという。しかしこれはとても怪しい陰謀論を考えたくなる。なぜRDRANDが常に-1を返すような不具合が未然に発覚せずに製品リリースまでこぎつけてしまったのか。なぜファームウェアのアップデートで修正可能なのか。まさかバックドアなのではないか。 陰謀論はともかくとして、もう一つの問題は、なぜsystemdはRDRANDを直接使っているのかということだ。Linuxカーネルの
Announcing WSL 2 | Windows Command Line Tools For Developers 「自分らはLinuxカーネルだ。防衛を解除して投降せよ。自分らの技術上の差異は自分らのものとする。自分らの文化は自分らの益とする。抵抗は無意味だ。」 マイクロソフトはWSL 2で本物のLinuxカーネルを同梱して利用すると発表した。 最初のWSLは、マイクロソフトによるLinuxカーネルのシステムコールの互換実装であった。これは様々な互換性とパフォーマンスの問題を抱えていた。互換性は果てしなく低く、パフォーマンスは主にファイルシステム周りがとてつもなく遅かった。 新しい実装であるWSL 2では、本物のLinuxカーネルを使い、完全なシステムコール互換性を実現する。このLinuxカーネルはマイクロソフトによってビルドされている。最初のバージョンはLinux 4.19となる
Tell HN: Archive.is inaccessible via Cloudflare DNS (1.1.1.1) | Hacker News あの有名な1.1.1.1であるCloudflareのDNSから、Archive.isが解決できない。なぜかCloudflareはローカルホストを返す。というHacker News上での質問について、Cloudflareの創業者の一人であるMatthew Princeが回答している。 We don’t block archive.is or *any other domain* via 1.1.1.1. Doing so, we believ... | Hacker News 1.1.1.1ではarchive.isも含むすべてのドメインを検閲していない。検閲は我々がサービスを立ち上げたときにユーザーに約束したDNSの正当性とプライバシーとセキ
IIJに対してマルウェア対策のDNS検閲についての質問の回答 私の使っているISPであるIIJmioひかりはマルウェア対策のDNS検閲を開始すると宣言した。 IIJのセキュリティに関する取り組み | インターネットイニシアティブ(IIJ) IIJの説明を読むと、IIJの提供するDNSサーバーは、マルウェアが指令や通信をするのに使うことが知られているC&Cサーバーのドメイン名の解決を行わないのだという。彼らはこれをDNSフィルタリングと読んでいるが、私はDNS検閲と呼ぶことにする。あるいは少し前に話題になったDNSブロッキングと呼ぶのもよい。 IIJによると、DNS検閲はデフォルトで有効であり、オプトアウトするためには、IIJが用意したDNS検閲を行わないDNSサーバーを使う必要があるという。 しかし、このDNS検閲の実装方法や、マルウェアの定義が疑問なので、IIJに対して質問することにした
職質裁判の一審判決があまりにも不当すぎる。判決文はGitHubで公開している。 https://github.com/EzoeRyou/calling-110-is-suspicious 判決文では、東京都(警察)側の多くの虚偽の主張は認定されなかった。以下は認定されなかった東京都(警察)による虚偽の主張である。 江添はパトカーとすれ違った際、顔をふせ足早に走り去った すれ違った場所の近くにある自動販売機で飲み物を買っていることからありえない 江添は手を小刻みに動かす所作をなした 裁判所の判断では言及されず 江添は吉野家の看板をひっくり返した 裁判所の判断では言及されず 江添は自らの意思で駐車場に向かった 江添は走った 特に最後の項目はとても興味深い。私は走ったところ警察官らに取り押さえられて駐車場に押し込められたわけで、裁判所は走ったのは怪しいとしている。しかしなぜか東京都(警察)の主張
私の裁判の一審判決を受けて、J-CASTニュースが以下のような誤りを含む記事を出している。 職務質問で精神的苦痛 地裁判決「適法」、原告「不当だ」→法律家の見解は : J-CASTニュース この記事は適切な取材をしていない。判決文をまともに読んだとは思えない。原告である私への取材はない。この記事はとても現地を取材したとは思えない記述がある。弁護士の意見にもとんでもないものがある。 この記事はニュース配信サービスによって様々なニュースサイトに配信され、かつ弁護士による意見も掲載しており、影響力が高いと判断したので、この記事について反論する。 この記事は被告である東京都(警察)が主張しているが、裁判所は認定しなかったことを、あたかも事実であるかのように書いている。 警察官は、パトカーで巡回していて、後部に日よけの付いたつば広の帽子を目深にかぶり、大きめの黒いリュックを背負った江添さんが、パトカ
とても日差しの暑い7月、木場の自宅から銀座にある職場まで5kmの道を、5kgはある荷物を背負って徒歩で通勤していた。その日の私の出で立ちは、日焼けを防止するための大きな帽子、OD色の即乾シャツ、クライミング用のジーンズ風ストレッチパンツ、半長靴であった。勝鬨橋を超えて自販機で飲み物を買うと、急に警察官が3人近寄ってきた。 警察官「ちょっといいですか」 私「何ですか」 警察官「荷物の中を確認させていただきたい」 私「嫌です」 警察官「なぜですか」 私「応じる義務がないからです」 警察官「危険なものが入っているのではないですか」 私「入っていません」 警察官「では見せて証明してください」 私「見せる義務はありません」 このような問答がしばらく繰り返された挙句、私は出社をしなければならないのでその場を離れようとした。すると、警察官は回り込んで私の往来を妨害してくるではないか。人の往来を妨害するの
警察官に職務質問をされた話が2017年の7月、これが違法な職務質問であると考えたので国賠訴訟をし、一審判決が今日言い渡された。 曰く、「原告の請求を棄却する」。負けたわけだ。ではなぜ負けたのか。判決の言い渡しでは主文しか読み上げられないので、判決文を取りに行く。 当日は、東京都(警察)の主張によれば、パトカーで私とすれ違った際、私を視認し、しばらくみていたところ、私はパトカーを見るなり顔を伏せて足早に通り過ぎたということだ。裁判所は東京都(警察)のこの主張を採用しなかった。というのも、車道と歩道の間には植え込みが多くあり、私をしばらく見るなど不可能であるからだ。したがって今回の職務質問は適切な不審事由なしで始まっていることが認められた。 その後10分間ほど、私を路上にとどめて職務質問が行われた。裁判所はこれを適切であると判断した。不審事由がなく始まった職務質問ではあるが適切だそうだ。 その
序 本書はプログラミングの経験はあるがC++は知らない読者を対象にしたC++を学ぶための本である。本書はすでに学んだことのみを使って次の知識を説明する手法で書かれた。C++コンパイラーをC++で書く場合、C++コンパイラーのソースコードをコンパイルする最初のC++コンパイラーをどうするかというブートストラップ問題がある。本書はいわばC++における知識のブートストラップを目指した本だ。これにより読者は本を先頭から読んでいけば、まだ学んでいない概念が突如として無説明のまま使われて混乱することなく読み進むことができるだろう。 C++知識のブートストラップを意識した入門書の執筆はなかなかに難しかった。ある機能Xを教えたいが、そのためには機能Yを知っていなければならず、機能Yを理解するためには機能Zの理解が必要といった具合に、C++の機能の依存関係の解決をしなければならなかったからだ。著者自身も苦し
はじめに 本書は2017年に規格制定されたプログラミング言語C++の国際規格、ISO/IEC 14882:2017の新機能をほぼすべて解説している。 新しいC++17は不具合を修正し、プログラマーの日々のコーディングを楽にする新機能がいくつも追加された。その結果、C++の特徴であるパフォーマンスや静的型付けは損なうことなく、近年の動的な型の弱い言語に匹敵するほどの柔軟な記述を可能にしている。 人によっては、新機能を学ぶのは労多くして益少なしと考えるかもしれぬが、C++の新機能は現実の問題を解決するための便利な道具として追加されるもので、仮に機能を使わないとしても問題はなくならないため、便利な道具なく問題に対処しなければならぬ。また、C++の機能は一般的なプログラマーにとって自然だと感じるように設計されているため、利用は難しくない。もしC++が難しいと感じるのであれば、それはC++が解決すべ
次のページ
このページを最初にブックマークしてみませんか?
『ezoeryou.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く