ときどきの雑記帖 倒行逆施編

最新ページへのリンク
目次ページへのリンク

一つ前へ 2015年10月(中旬)
一つ後へ 2015年11月(上旬)

ホームへ

2015年10月31日

■_

DEC 25 == OCT 31

■_

■_

京王電鉄、井の頭線吉祥寺駅にホームドア新設 - 今年度中に1・2番線使用開始 | マイナビニュース 京王電鉄は12月6日初電から、井の頭線吉祥寺駅の1番線でホームドアの使用を開始する。 なんと。 ホームドア本体の設置工事は、使用開始の約1カ月前から開始するという。 今週辺りから?

■_

OberonStation, an Oberon RISC workstation | Hacker News OberonStation - The Oberon computing platform

2015年10月30日

■_

アワーズ購入。

■_

2015年10月29日

■_

なんとまあ。 Flash Playerの脆弱性対策情報、今年は9月時点で190件、すでに昨年1年間の2.5倍 -INTERNET Watch

より良いプログラムを書くための究極の奇策 – 「Data first, not code first」 | プログラミング | POSTD これ、原題が「One Weird Trick to Write Better Code」なんですよね。 究極の奇策…うーむ。

未来の提督が「若干21歳」で登場しちゃったよ>YJ銀英伝

■_

■_

Ruby風の文法で注目を集めるCrystal。その勉強会の様子をレポート!|CodeIQ MAGAZINE で、

Ruby風の文法で注目を集めるCrystal。その勉強会の様子をレポート!|CodeIQ MAGAZINE

Rubyから移植された問題のある仕様の削除 
 
これは、例えば、 
 
 length/countメソッドを廃止してsizeに統一 
 後置while/untilを削除しイテレーターを利用するように変更 
 
といった仕様変更が該当します。

前者は分かる。 後者は後置 while/until の廃止(削除)と、イテレーターの利用というのが わたしの頭の中では直接結びつかないのだけどどういうことなんだろう。 Crystal の開発進捗とロードマップ // Speaker Deck スライドにもあるから記録者の間違いではない。よなあ。 As a suffix | Crystal Programming Language

2015年10月28日

■_

『機動戦士ガンダム サンダーボルト』アニメ化へ、一年戦争を舞台に異色MS活躍 | マイナビニュース やるのかあれを。

電車の扉の両脇に意味なく貼り付いてるのが二人もいるところに 降りるより先に乗ってこようとしてくる(ぴー)がいて(ぴー)

■_

■_

2015年10月27日

■_

京大のあれ、「ストライキ」とは違うんじゃねーの? と思いつつ辞書を見ると 2 学生・生徒が一定の要求を揚げ、団結して授業や試験を放棄すること。スト。 (ストライキ【strike】の意味 - 国語辞書 - goo辞書) なんだってー

■_

■_

How We Match Regular Expressions | 01.org 単なる Yet Another なやつかなーと思ったら

How We Match Regular Expressions | 01.org
Some of these techniques include: 

Discovery of literal (fixed string) factors and decomposition of regular expressions into smaller chunks (which we call "engines") separated by these literal factors.

 These engines can be of many different types: 
 
 Deterministic Finite Automata (DFA) 
 Bit-parallel Glushkov Non-deterministic Finite Automata (NFA) engines 
 Custom engines for special cases (such as large bounded repeats). 
 These engines can take many different roles: 
 
 "Prefix" engines that precede our literal factors 
 "Suffix" engines that follow our literal factors 
 "Infix" engines that lie between two literal factors 
 "Outfix" engines that aren’t connected at all with literal factors (when no satisfactory factors can be found in a regular expression) 
 These engines can often run lazily or not at all to reduce overhead. 
 We merge smaller DFA/NFA engines into larger ones, where this can be done without performance loss. 

ちょっと面白そう?

2015年10月26日

■_

朝のコンビニでジャンプを立ち読みしている勤め人っぽいにーちゃん(複数)を見かけ、 ふと、彼らにとってあれら(マンガ雑誌)は「購入するもの」ではないのかもしれないなあ。 などと考えた。本当にそうなのか、そうだったとしてもその理由はわからんけれども (いくつか推測はできるが)。

こ、これは欲しくなるようなできっぽい(実はビアレス好きだった) 俺は地獄を見たんだよ!『聖戦士ダンバイン』トッドの愛機・ビアレスがROBOT魂化 | マイナビニュース もうすぐ発売のエルガイムも欲しいっちゃ欲しい。 ROBOT魂 <SIDE HM> エルガイム(スパイラル・ブースターセット) | 魂ウェブ

プログラミング - 自分が "レガシープログラマー" かどうかを確認しよう! - Qiita この記事、別人の数年前の記事から丸パクリだったらしいということで削除されたようで。

■_

■_

7 Reasons Every Programmer Needs to Learn JavaScript | Web Tech Reader で、挙げられている理由の一つが「Better Pay 」ってのにうけた。 なるほどねー(すげー直接的だけど)。

7 Reasons Every Programmer Needs to Learn JavaScript | Web Tech Reader
 
Better Pay 

According to SitePoint, JavaScript pays better than C#. Again, Java pays a bit better right now. But as demand for JavaScript grows, you can expect the pay to increase as well.

On Gooroo, the pay vs demand shows a little different picture. While the demand for JavaScript is evident, it is obvious that several languages that have a smaller demand actually pay better. I suspect this is because many organizations still think of JavaScript as the language that anyone can use. It will be a very painful lesson when they find out that “Anyone can program in JavaScript” really means, “Anyone can write crappy code in JavaScript”. Which is where you and I step in to clean up the mess that was left behind.

Over on StackOverflow, we see a very detailed breakdown of developers for the last three years. When you finally get down to the “Technologies Used” section what we find is that if you just call yourself a JavaScript programmer (I’m assuming client side here) you get paid better than Java and less than C# but if you say you are a Node.js programmer (which is all JavaScript) you are the second highest paid skill. The only thing that pays better is Objective-C (and I’m assuming soon, Swift).

2015年10月25日

■_

木枯らし「一号」とかいつ頃から言い始めたんすかね。

そしてまた「ナンバーカード」が連呼される時期に。

世界の艦船の最新号で「ビッグ7」特集なんだけど、 実際のところアメリカやイギリスでその呼称を使っていたのは疑わしいし (アメリカでは自分のところの大きいの5隻で「Big 5」と呼んでいたような記述が うぃきぺ(英文)にあったし、イギリスはネルソン/ロドネーよりもフッドの方がお気に入りっぽい)、 そもそも戦前からあった言葉なんですかね>「ビッグ7」 The Big 5

世界の艦船 2015年 12 月号 [雑誌]
世界の艦船 2015年 12 月号 [雑誌] Ships of the world mainmenu(J)

天地明察最終回。 先月はシドニアの騎士が最終回だったし、さて (ヴィンランド・サガはともかくヒストリエは基本隔月休載良くありだからなあ)。 アフタヌーン 2015年 12 月号 [雑誌]
アフタヌーン 2015年 12 月号 [雑誌]

■_

■_

以前他の記事で見たことのあるblogだけど くわしく GNU grep のこと追いかけてた。 まもなくgrep 2.22リリース - 気ままなブログ の後半部分から。

まもなくgrep 2.22リリース - 気ままなブログ
 
今後追加される見込みの改善内容 
 
マルチスレッド化 

GNU grepは高速に動作しますが、シングルスレッドで動作するため、 複数のプロセッサを搭載したマシン上でもそのマシン性能を十分生かすことができませんでした。 現在のリリースでもGNU parallelなどと組み合わせれば並列化できますが、 マルチスレッド化されることで単体で並列化できるようになります。

grep -Fで複数パターンを指定した時のアルゴリズムの変更 

現在のリリースではgrep -Fで複数パターンを指定するとBeate Commentz-Walterアルゴリズムを使用します。 Beate Commentz-WalterアルゴリズムはBoyer-Mooreアルゴリズムを複数パターンで使えるように拡張したものですが、 プロセッサのキャッシュの仕組みを十分に活かすことができないため、あまり高速ではありませんでした。 さらに、Beate Commentz-Walterアルゴリズムには、 Boyer-Moore法に適用できるガリル規則を適用することができないため、 最悪のケースではO(m*n)となってしまう欠点がありました。

提案されている方法は、grep -Fで複数パターンを検索するときのアルゴリズムを、 Beate Commentz-Walterアルゴリズムから、Aho-Corasickアルゴリズムに置き換えるものです。 これにより上記の欠点が解消され、大幅な性能改善が期待されます。

非UTF-8マルチバイトロケールで「.」を含むパターンによる検索の高速化 

非UTF-8マルチバイトロケールにおける「.」*1は、 事前に入力文字の現在位置から何バイト消費するか判断することが難しいため、 この部分を事前にコンパイルすることが難しく、インタプリタ的に動作していました。

提案されている方法は、非UTF-8マルチバイトロケールで「.」 に対するステート遷移の結果をキャッシュすることで高速化が図られています。

■_

もういっこ。 GNU sedのパフォーマンス - 気ままなブログ

ちなみに、私見ですがGNU sed、GNU awk、GNU grepの中では、 GNU sedのソースコードがいちばんきれいで読みやすいと思います。

GNU sed はあまりりよく覚えてないんだけど(ここ数年いじってないし)、 たしかに残り二つは(ry

2015年10月24日

■_

品川駅の

■_

■_

FOSE2006,第13回ソフトウェア工学の基礎ワークショップ,日本ソフトウェア科学会,ソフトウェア工学の基礎研究会 でのものらしい 「SVMに基づくソフトウェア信頼性モデルの定量的評価」 から

平均値中央値分散最大値最小値
SLOC411.61330.00416.085487.0090.00
コメントの総数168.84154.00124.941256.0037.00
サイクロマティック数23.4116.0034.36432.002.00
ネストの最大の深さ5.385.001.3212.004.00
宣言された変数の総数45.4225.0065.91764.004.00
参照された変数の総数71.8548.00110.931532.004.00
代入された変数の総数54.6036.0094.321392.004.00
代入されたグローバル変数の総数28.0018.0040.25528.000.00
参照されたグローバル変数の総数40.5226.0055.42660.001.00
パラメータの総数4.091.006.8033.000.00
平均値中央値分散最大値最小値
SLOC707.14505.00602.934232.00164.00
コメントの総数261.14194.00193.401307.0075.00
サイクロマティック数42.7129.0041.28279.007.00
ネストの最大の深さ6.296.001.4810.004.00
宣言された変数の総数94.8350.00121.14697.004.00
参照された変数の総数152.4498.00182.601662.0012.00
代入された変数の総数120.4979.00143.371241.005.00
代入されたグローバル変数の総数61.2045.0065.75507.001.00
参照されたグローバル変数の総数75.5450.0076.84559.002.00
マクロの総数6.085.003.8323.001.00
パラメータの総数4.911.007.5225.000.00

項目はこの他にもあったのだけど面白そうなところだけ抜き出した。 上が「バグなし」、下が「バグあり」

2015年10月23日

■_

OpenBSD の doas.c のコードを読むなど 第25回 OpenBSD 5.8登場 - sudo(8)を廃止してdoas(1)を導入:BSD界隈四方山話|gihyo.jp … 技術評論社 Super User's BSD Cross Reference: /OpenBSD/usr.bin/doas/doas.c

新・映像の世紀録画予約。

短期記憶中のアイテム一つ長期記憶への移動に失敗(訳 忘れた)

■_

■_

Odd ways to zeroing some x86_64 registers – Hacking bits にある中で

Odd ways to zeroing some x86_64 registers – Hacking bits

Zeroing (1) %RDX at 3 bytes cost. 
 
40008b: 92    xchg %eax,%edx 
40008c: 48 99 cqto

cqto ってどんな命令だったっけとしばし悩む。 64bit命令とか新しめのところは弱いわ―(●●もーど)。

Odd ways to zeroing some x86_64 registers – Hacking bits
 
Zeroing (3) %RAX, %RDX e %RDI at 6 bytes cost (however, widely known). 
 
40008b: 48 31 ff xor %rdi,%rdi 
40008e: 48 f7 e7 mul %rdi

widely known らしいけど知らなかった。

Odd ways to zeroing some x86_64 registers – Hacking bits

Zeroing (1) %RDX at 6 bytes cost. 
 
400097: 52    push %rdx 
400098: 58    pop  %rax 
400099: f7 d0 not  %eax 
40009b: 21 c2 and  %eax,%edx

これはよくわからない。後ろ二つ %eax (と %edx)なのなんで?

2015年10月22日

■_

某提督が後ろ姿で登場(銀英伝)

■_

■_

複雑な条件分岐にサヨウナラ。PHPのルールエンジンRulerを使って複雑な条件をシンプルにしてみた - Qiita 変数四つならカルノー図で…と (○×を1 0 に、条件をアルファベット一文字に置き換え)

ABCDf(A,B,C,D)
00000
00010
00100
00111
01000
01011
01100
01111
10000
10010
10101
10111
11001
11011
11101
11111

カルノー図 - Wikipedia 3 カルノー図 クワイン・マクラスキー法 - Wikipedia

と思ったが、文章の方を読み解けば最初の条件がA & (B | C) で、 一個増えて (A | D) & (B | C) なのはすぐにわかるから わざわざ図を起こすまでもなかったw 例に出すにはちょっと弱かったんじゃなかろうか。

はてなブックマーク - 複雑な条件分岐にサヨウナラ。PHPのルールエンジンRulerを使って複雑な条件をシンプルにしてみた - Qiita

■_

2015年10月21日

■_

会社の最寄り駅にPepperがいる。 つっても駅員の代わりなんかをやっているわけではなく ケーブルTVだかの宣伝ブースにいるのだけど。

■_

■_

「SVMに基づくソフトウェア信頼性モデルの定量的評価」


一つ前へ 2015年10月(中旬)
一つ後へ 2015年11月(上旬)

ホームへ


リンクはご自由にどうぞ

メールの宛先はこちらkbk AT kt DOT rim DOT or DOT jp