よんだものWeekly 4月 5th
- The Last Line Effect | Intel® Developer Zone
- コピペしたコードの最後の一行の修正間違いとか。わかりすぎてつらい。
- why GNU grep is fast
- 2010年のFreeBSDのMLへの投稿
- BSD grep に対してなぜ GNU grep が高速であるかを説明している
- 基本は、Boyer-Mooreのアルゴリズムを使って、さらにループアンローリングによって1文字の検査にかける命令数を減らす、というわりと王道中の王道
- buffered I/O を使わず、I/Oのシステムコールを直に呼んでユーザランドへのデータコピーを抑える
- 入力を行ごとに分解することはせず、マッチする文字があったら初めて改行文字を探して行データの抽出を行う
- アラインメントに気を使ったり、readではなくmmapを使うなど、カーネル自身のデータコピーも抑える
- "The key to making programs fast is to make them do practically nothing. ;-)"
- dullgiulio/pingo
- Concurrency is not parallelism - The Go Blog
- Thinking About Performance | Chad Austin
- 「プログラムが動くようになってから、プロファイルして、ホットスポットを高速化する」という一般に言われる性能最適化ではうまくいかない場合がある
- 設計時にクリティカルなコードパスの性能(とくにレイテンシ)も込みで設計することが大事、という話
コミュニケーションの狭間、あるいは最近のチャット流行について
「Slack最高!」「メールを全廃してSlackに移行しました」 みたいな話を最近しばしば目にすることが多い。
コミュニケーションツールの移行というのは、技術の問題はたいしたことでは無くて、結局人と人との問題である。 たとえばチームをまるっとSlackに移行できたところは、Slackを抵抗なく受け入れられる均一さを持っていたか、あるいは誰かが意見調整をキチッと頑張ったところだろう。
とはいえ、チーム内のコミュニケーションを全部チャットに移行できたとしても、全世界をチャットに移行できたわけではないので、当然ビジネス上のやりとりではチャットではない=旧来通りメールで行われるコミュニケーションが相当量残っていることは間違いなかろう。 特に最近流行しているチャットはチーム内でのコミュニケーションに特化しているものが目立つので、チーム外、あるいは会社の外とのコミュニケーションには適さない。
そうすると、チャットによるコミュニケーション領域と、メールによるコミュニケーション領域の狭間に存在する人が必ずどこかで発生しているはずである。 業務上のやりとりがほとんどチーム内で閉じている人たちはチャットさえ使っていればよくなるので快適かもしれないが、メールとチャットの狭間にいる人たちはどうなるのだろう。 コミュニケーションチャネルが増えることは、1つのチャネル上のやりとりの流量が多少増えるよりもよほど厄介である。いくつもの異なるチャネルはその利用作法が異なるからこそ存在するわけだが、異なる作法を使い分けるには、思考のコンテクストスイッチが否応なく発生する。 チャットの導入によって便利になるはずの世界が、狭間にいる人たちにとってはより大変になるだけなのではなかろうか。 しかも、チャットを使いながら、チャット推進派の人たちによって古くさい、不便だとくさされているメールも同時に使い続けなければならないわけである。
昨今チャット文化を広めている人たちの属性としては、自前でサービスを提供するWeb企業のエンジニアが優位に多い。 彼らは自社でサービス開発をしているから、おそらくエンジニアとしての業務上のやりとりはチーム内、あるいは自社内で完結する割合が他業種に比べて高いからこそ、チャット文化の浸透によって得る恩恵が多いものと思う。 しかし一方で、セールスであったり広報であったり、あるいはエンジニアのマネージャであったり、そういう人たちというのはWeb企業であっても外部の人とのやり取りは多いはずだと思うのだが、彼らは先に述べたコミュニケーションの狭間に立たされてはいないのだろうか。
チャット文化の推進を批判する意図はない。チャット導入によって快適になる環境は数多くあるはずで、そういう場所ではそうすれば良いと思う。 しかし理屈上はチャットとメールの狭間に立たされる人が発生するはずで、そういった人たちのケアはどうなっているのか、あるいはその立ち位置の人はそのことを苦にしないものなのか。 チャット文化礼賛の声のなかからこの手の話題が聞こえてこないのが、やや疑問に感じられる。
よんだものWeekly 4月 4th
- dghubble/sling
- Go言語のRESTクライアントライブラリ
- 第2回 並列データ処理系の歴史と重要性:Hadoopはどのように動くのか ─並列・分散システム技術から読み解くHadoop処理系の設計と実装|gihyo.jp … 技術評論社
- 博士(ハドゥープ)
- RethinkDB 2.0: production ready - RethinkDB
- Database Soup: Primary Keyvil, reprised
- SQL to C translator for SQLite
- flex - How do I correctly pass the string "Null" (an employee's proper surname) to a SOAP web service from ActionScript 3? - Stack Overflow
- "Null"さんが入社したおかげで社内システムで一騒動という笑えるようで笑えない話
- Markdownify by tibastral
- Webサイトに組み込めるMarkdownエディタライブラリ
- The sad state of sysadmin in the age of containers
よんだものWeeky 4月 3rd
- Programming Should Be More Than Coding
- CRATE - Distributed SQL database for the age of Docker
- Lucene / Elasticsearch をバックエンドに作られたSQLエンジン
- Prestoも内包しているらしい?
- https://github.com/crate/crate
- Lucene / Elasticsearch をバックエンドに作られたSQLエンジン
- hyflow-go: a geo-replicated, main-memory, highly consistent datastore
- バージニア工科大の研究チームが開発しているトランザクションフレームワーク HyFlow のGo言語実装
- この修士論文が大元っぽい http://scholar.lib.vt.edu/theses/available/etd-05182011-095228/
- Michael Stonebraker Explains Oracle’s Obsolescence, Facebook’s Enormous Challenge - Tech Trader Daily - Barrons.com
よんだものWeekly 4月 2nd
- JSON API :: A standard for building APIs in JSON.
- gizak/termui
- Go言語用のライブラリで、Swing的なノリでターミナル上でUIを作ることができる
- グラフが表示できるのは中々便利そう
- Being good at programming competitions correlates negatively with being good on the job - good coders code, great reuse
- 【福田昭のセミコン業界最前線】東芝-SanDisk連合の超高密度3D NANDフラッシュメモリ技術 - PC Watch
- 東芝の3D NAND技術についてつっこんだ解説
- Fast Fibonacci algorithms
- フィボナッチ数はO(logN)で計算できる
- Ask HN: Best Linux server backup system?
- Lambda Nights
- web.mit.edu/jemorris/humor/500-miles
- あるシステム管理者の元に「500マイル以上離れた場所にメールが送れない」という苦情が寄せられたので調べてみたら、、、という話
- Unit tests fail when run in Australia · Issue #5017 · angular/angular.js
- 地理ネタつながりで、こちらはオーストラリアだとユニットテストがコケるという問題
- Arduinoの内部分裂について | スイッチサイエンス マガジン
- C++ Samples
- モダンなC++の書き方を集めたサンプル集
- pgcli - Basics on Vimeo