Sep. 2016

Last Modified: Sun Oct 2 04:24:32 UTC 2016

#ihatedumbpeople 2016-09-30 [Fri] 12:43


So I went to this bank with about 10 ATM machines, and they're all filled with people, doing kernel hacking or something. But no, they're just struggling to draw cash. There's a huge line. I was at the bottom and enraged. "WTF ARE THEZE PEOPEL DOIN?!" The whole process took about 10 minutes. What kind of black magic takes you more than a minute to just draw cash? asdfkljlasjf.

Conclusion: I hate dumb people.

You Don't Have to Be Innovative to Make a Good UI 2016-09-17 [Sat] 19:51

Recently I've been using PxTone a lot. PxTone is a music sequencer created by the Pixel "Cave Story" Daisuke Amaya. I used it for making music for LD36, but it's also handy to write down random notes that came to mind. I tried using Bosca Ceoil, which has an impressive number of predefined instruments (and I'm a big fan of Terry Cavanaugh), but eventually decided to go back to PxTone. This app is amazing. The UI is pretty modest, yet it's made in a way that everything is so compact and handy. Can I say it feels like... Japanese products? Aaand, there are still Contests!


Tricky Performance Issues in Python 2016-09-17 [Sat] 19:31

Python strings are immutable. This is pretty convenient in many cases but it is also the source of a performance trap. Changing immutable strings means the whole string is copied, so making a small change to a string might cost a lot of performance, but its penalty is often hidden inside the code:

import time
s = ''
for _ in range(100):
    t0 = time.time()
    for _ in range(100000):
        s += 'x'
        #a = s   # Uncomment this line and the time goes up significantly.
    t1 = time.time()
    print (len(s), t1-t0)
In the above code, just assigning the value of x to another variable causes significant performance degradation. Why? It turned out that Python is actually smart enough that if a string is not referred to by anywhere else, it directly alters the string buffer. However, if there's an assignment, a whole string copy occurs, which makes the inner for loop effectively O(n2). But again, it's not clear to casual eyes.

もはやドーでもいい ipv6 の話題、あるいは未来を予測することの傲慢さについて 2016-09-17 [Sat] 18:44

なんとなく Show 275: Future Of Networking: Geoff Huston というポっキャスを聞いたら、 ipv6 がもはやドーでもいい存在になっていることに気がついた。 Geoff Huston は APNIC の研究員である。基本的に、彼がいっていることは djb が 10年前に言っていることも含んでいるが、それ以外にもいくつか洞察があった:

固定IPアドレスが必要ないというのは、そもそも携帯デバイスのようなものは 継続的にネットワークに接続してすらいないことを考えればわかる。 サーバに関しても、 CloudFlare やら何やらのサービスはもはや固定アドレスでないわけで、 したがって恒久的なアドレスの必要性は下がっている。IPアドレスはその時の 「一時的な通信」さえできればよいのだ、という話。

考えてみりゃそうだよな…。つうか今はむしろ 「ネットワーク環境は逐一変わるもの」という仮定でシステムを設計せねばならない。 つまりこれは end-to-end とか「ひとつのインターネット」という概念が すでに崩壊したことを示している (だがこの崩壊は ipv4 アドレスの枯渇よりも 前から起きていた)。それでも Skype のようなアプリを使えば双方向の通信はできるのだ。 Skype はきっとランデブーポイントのようなものを使っているのだろうが、 それだってつねに変化している。

結局 (ケッキョキ) 重要なのは「ネットワーク上の人・モノ・場所を なにか抽象的なやり方で指定できて、それが信頼できるやり方で一意に resolve されればいい」ということで、つまりはネーミングシステムが重要ということになる。 そういうことかい。したがって、ipv6 が普及しないとかいう話はいまさら もうドーでもよくて、世の中はもっと高水準の問題を解決しなけりゃならないってことだ。

それにしても、10年ぐらい前に「将来を見越して (そのつもりになって)」ハッパをかけていた 人々はいま一体どうなったのか。思うに「将来を見越して」とか「未来の子供のために」などという 言い訳はじつはあまり当てにならない。なぜなら、たいていその予測は間違っているんだから!

結論: 未来なぞ予測しないこと。宝くじは買わないこと。

実際、「将来のために」という文句はつねにやや傲慢で、独善的なニオイがする。 未来を予測したがる人々は大勢いるが、彼らはほとんどの場合、 知的に誠実とはいいがたい。それでも、こういう詐欺師もどきを我々は 許しちゃうんだよね。どういうわけだか…

'Tis So Subtle 2016-09-17 [Sat] 12:03

ビミョーーに レスポンシブ にした。

(おっととと、あやうく「レスポンシブにしてみた」などという イタい表現を使うところだった)

てくるで (ところで)、 最近の進捗はこれだある: Overcooked AWESOME! ハイライトシーン 日本語版


Yusuke Shinyama
Document ID: 4d7e0b522504c4d76ef723d61e91a4c8