Uncategorized

no image

合理的な海賊版サイトブロッキング制度の提案

海賊版サイトのブロッキングについて、昨今頻繁に議論されています。違法漫画配信サイトの「漫画村」(現在は閉鎖)が国会にまで取り上げられたのがきっかけです。「著作権侵害をしている悪いサイトなら、ブロッキングしてしまえ」と思うかもしません。しかし問題はそれほど簡単ではないのです。現状の議論では、ブロッキングの決定は政府が行うことになっています。海賊版サイトに限定されているうちはいいでしょうが、今

no image

より汎用的なコントラクトについての考察

https://docs.google.com/presentation/d/1h054jf74LKi7_OQbLwaHjrbmbTTOprZK013TDzNFirs/edit#slide=id.g30c9f6a7e8_0_5 どこかの勉強会で話そうかと思ってたけど、機会がしばらく無さそうなので一般公開します。 まだ荒削りなんで、間違いがあれば指摘もらえると嬉しいです。 問い合わせなども含めてm@jiyu.lolまでどうぞ。

no image

あけましておめでとうございます(2018)

今年もよろしくお願いします。 今年の抱負は、ベンチプレス100kgを持ち上げつつ、20kg減量することです。 この激動の時代を生き残るためには、知的能力だけでなく鍛え上げられた肉体が不可欠です。 敵が物理攻撃で攻めてきた際に、一撃で返り討ちにできる。そのような肉体を目指して今年は頑張っていきたいです。

no image

日本ブロックチェーンユーザ会: 第6回勉強会 に参加してきました

https://eventdots.jp/event/618410 http://www.unitedbitcoiners.com/blog/flare-lightning-network 難しい理論の話は置いといて、大きな枠組みとして以下のことがわかりました。 1. http通信のような、汎用決済プロトコルに成長する可能性が高い(もちろん既存の決済より圧倒的に効率的) 2. 現段階ではアカデミック先行であり、理論は多く出ているが実装や実験が不十分 3. 何をするにもキャズムに至(=普通の人が普通にビットコインを保有して使っている)らなければ始まらない つまり「ポテンシャルは非常に高いが、芽が出るまでに時間がかかる」領域。僕は10年かかると思っています。 人工知能なんかは、Google検索やレコメンド、企業の業務フロー改善など金儲けに落とし込めるので、爆発的に進展しています。 これに対して、ビットコインは金融商品としての投機的需要・利益は高いのですが、堅実なビジネスというものがまだ実現できていません。 感覚的にもわかるように、一般人に普及していないのです。 まあ1と2の問題は時間が解決してくれるので、問題は3ですね。 ビットコインが人口に膾炙するシナリオが、まだ具体的に浮かばない。

no image

javascriptで現在実行中のファイル名及び行番号を取得する方法

qiitaにも書いたけど、こっちにも載せておく。 Object.defineProperty(window, '__STACK__', { get: function(){ var orig = Error.prepareStackTrace; Error.prepareStackTrace = function(_, stack){ return stack; }; var err = new Error; Error.captureStackTrace(err, arguments.callee); var stack = err.stack; Error.prepareStackTrace = orig; return stack; } }); Object.defineProperty(window, '__FILE__', { get: function(){ let filename = __STACK__[1].getFileName().replace(location.origin, "").replace(window.location.search, ""); if(!filename) filename = "/"; return filename; } }); Object.defineProperty(window, '__LINE__', { get: function(){ return __STACK__[1].getLineNumber(); } }); Object.defineProperty(window, '__HERE__', { get: function(){ let filename = __STACK__[1].getFileName().replace(location.origin, "").replace(window.location.search, ""); if(!filename) filename = "/"; return filename + ":" + __STACK__[1].getLineNumber(); } }); console.log("__FILE__", __FILE__); console.log("__LINE__", __LINE__); console.log("__HERE__", __HERE__);