ときどきの雑記帖 2012

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

一つ前へ 2012年11月(上旬)
一つ後へ 2012年11月(下旬)

ホームへ

2012年11月20日

■_

thanks giving day とかでいろいろ。 Up to half off all eBooks! Green Tuesday is back at Manning Black Friday, the day after Thanksgiving, is the busiest shopping day in the US. Our alternative is Green Tuesday. Today, and through the end of November, save up to 50% on earth-friendly eBooks. Apress Every eBook and alpha book just $15 on Nov. 26

pragprog で欲しいのがあるんだけどなー。半額セールやらないかなー The Pragmatic Bookshelf | Our Titles

■_

ソフトウェアエンジニアの消費期限は15年、生き残りたければ学び続けるしかない | スラッシュドット・ジャパン デベロッパー

■_

ちょっと前のデータですが。 これのもうちょっと範囲の広い地図(埼玉、千葉、神奈川、東京市部あたり)と 鉄道路線を重ねてみるとなんか見えてきそうな気がした。 しかし、中央、千代田、港の比率がまあ 統計局ホームページ/III 昼間人口 【画像】 外国人が撮った東京の満員電車の写真が話題に・・・ - ゴールデンタイムズ

■_

2012年11月19日

■_

なんか届いたという声をけっこうついった上で見かけたんですが、 ワタシのところまだなんですけどー ○| ̄|_ いよいよ発売:Amazonの電子書籍リーダー「Kindle Paperwhite」を使ってみた - ITmedia eBook USER

■_ 謎めいている

Abigail's length horror / Perl 5 Wiki から。 どういうことなのか数十秒考えてしまった。

Abigail's length horror / Perl 5 Wiki

A little trick to find the length of $_, but using one character less than length:

   y===c

Saving one character is important when playing Golf. This trick was first used by Abigail, and
named Abigail's length horror by Larry Rosler on comp.lang.perl.misc in August 2000.

The worst coolest code ever. : perl

■_

4年後、『プレイングマネージャ』の君へ: 続かなかった社内勉強会

■_ BD-BOX

富野由悠季「オーバーマン キングゲイナー」BD-BOXが3月発売 :おた☆スケ おおっ。

Amazon.co.jp: オーバーマン キングゲイナー BDメモリアルBOX [Blu-ray]: 富野由悠季, 野島裕史, かわのをとや, 小林愛: DVD

参考価格: 	¥ 36,750
価格: 	¥ 29,400 Amazon プライム対象商品です。
OFF: 	¥ 7,350 (20%)

むー

■_ 特殊キー

電卓について語るスレ その3

615 _ねん_くみ なまえ_____ [] 2012/08/13(月) 18:20:46.27 ID:3EUCmdkK Be:
    質問です

    キャノンの電卓なんですが
    「%±」ってキーになってますが、説明書にはその説明はなにもありません

    一体どういう意味なんでしょうか? 

616 _ねん_くみ なまえ_____ [] 2012/08/16(木) 19:39:48.48 ID:bEu6F6BX Be:
    100+5「%±」で答えが105
    100-5「%±」で答えが95
    %±キーを押した時点でこたえが出てます
    シャープもキャノンと同じです

617 615 [sage] 2012/08/17(金) 02:15:15.43 ID:??? Be:
    >>616
    ありがとうございます!!
    使い慣れると、すごい便利みたいですねヽ(^。^)ノ 

手元の電卓にはなかった>%±

電卓と言えばカシオの電卓買わないとだわ

■_

2012年11月18日

■_

文学フリマ行くの忘れた。

Kindle PaperWhite
発送通知が来たという人がちらほら (わたしはまだ○| ̄|_)

買った。 とばし読みでざっと読んだ感じ面白い (が、「役に立つ情報」をお求めの向きにはオススメできない) ソフトウェア・グラフィティ

こんな本の予定が。来年だけど。 Scala Cookbook - O'Reilly Media

■_ Head First なんとか

結構でてるのね Head First - Series - O'Reilly Media

■_ TaPL

まだこんだけあるんですが ○| ̄|_ (右端の数字はページ番号)

21.9 Counting Subexpressions 304
21.10 Digression: An Exponential Algorithm 309
21.11 Subtyping Iso-Recursive Types 311
21.12 Notes 312

V Polymorphism 315
22 Type Reconstruction 317
22.1 Type Variables and Substitutions 317
22.2 Two Views of Type Variables 319
22.3 Constraint-Based Typing 321
22.4 Unification 326
22.5 Principal Types 329
22.6 Implicit Type Annotations 330
22.7 Let-Polymorphism 331
22.8 Notes 336

23 Universal Types 339
23.1 Motivation 339
23.2 Varieties of Polymorphism 340
23.3 System F 341
23.4 Examples 344
23.5 Basic Properties 353
23.6 Erasure, Typability, and Type Reconstruction 354
23.7 Erasure and Evaluation Order 357
23.8 Fragments of System F 358
23.9 Parametricity 359
23.10 Impredicativity 360
23.11 Notes 361

24 Existential Types 363
24.1 Motivation 363
24.2 Data Abstraction with Existentials 368
24.3 Encoding Existentials 377
24.4 Notes 379

25 An ML Implementation of System F 381
25.1 Nameless Representation of Types 381
25.2 Type Shifting and Substitution 382
25.3 Terms 383
25.4 Evaluation 385
25.5 Typing 386
26 Bounded Quantification 389
26.1 Motivation 389
26.2 Definitions 391
26.3 Examples 396
26.4 Safety 400
26.5 Bounded Existential Types 406
26.6 Notes 408
27 Case Study: Imperative Objects, Redux 411

28 Metatheory of Bounded Quantification 417
28.1 Exposure 417
28.2 Minimal Typing 418
28.3 Subtyping in Kernel F<: 421
28.4 Subtyping in Full F<: 424
28.5 Undecidability of Full F<: 427
28.6 Joins and Meets 432
28.7 Bounded Existentials 435
28.8 Bounded Quantification and the Bottom Type 436

VI Higher-Order Systems 437
29 Type Operators and Kinding 439
29.1 Intuitions 440
29.2 Definitions 445

30 Higher-Order Polymorphism 449
30.1 Definitions 449
30.2 Example 450
30.3 Properties 453
30.4 Fragments of F! 461
30.5 Going Further: Dependent Types 462

31 Higher-Order Subtyping 467
31.1 Intuitions 467
31.2 Definitions 469
31.3 Properties 472
31.4 Notes 472

32 Case Study: Purely Functional Objects 475
32.1 Simple Objects 475
32.2 Subtyping 476
32.3 Bounded Quantification 477
32.4 Interface Types 479
32.5 Sending Messages to Objects 480
32.6 Simple Classes 481
32.7 Polymorphic Update 482
32.8 Adding Instance Variables 485
32.9 Classes with “Self” 486
32.10 Notes 488

■_ Agile Transition

新しい本の紹介かと思ったら違ったぽい。 Download this book FREE (PDF) というところから 40ページ弱の PDF がダウンロードできる Agile Transition

Agile Transition
Table of Contents

Chapter 1. Understanding Agile
Chapter 2. The Agile Manifesto
Chapter 3. Empirical vs. Defined Process Control
Chapter 4. Pull vs. Push System
Chapter 5. Lean Thinking
Chapter 6. Why is this Relevant for an Agile Transition
Chapter 7. The Art of Balancing Freedom with Guidance
Chapter 8. Understanding Where You Are, and What You Want to Be
Chapter 9. Management Changes Required
Chapter 10. Start by Assessing the Current Situation
Chapter 11. Define a High-Level Strategy to Set a Clear Direction
Chapter 12. Why Agile Cannot be Bought
Chapter 13. Focus on People
Chapter 14. Embrace Change, but Avoid Chaos
Chapter 15. Conclusions
Appendix, Citations, Bibliography

■_ 微分

統計から確率にいっていろいろ調べてたら (勉強してといえないのが弱い)微分が出てきて、なんで? と悩んでいたら自分の思っていた以上に奥の深いものだったらしい >微分(と積分) 学校では教えてくれない数学:確率微分とは 確率微分方程式超入門: 最尤日記 余談。株価もそれぞれ微小なランダム変動を繰り返している。ポートフォリオというのはそのような複数の株価の関数 f(x1, x2, ...) であるから、これに確率微分方程式と伊藤の補題を適用できる。 経済ノーベルもどき賞を受賞したブラック=ショールズ微分方程式というのは、ただそれだけのことである。

■_

ラノベ板なのに…

【なれる!SE】夏海公司スレ15【葉桜が来た夏】

389 イラストに騙された名無しさん [sage] 2012/11/14(水) 16:53:31.49 ID:nsQ02sLq Be:
    rootで作業中にrm -rf /やっちゃったよおおおおおおおお
    実験的な自鯖だから良かったけど久々にこの絶望感味わった 

390 イラストに騙された名無しさん [sage] 2012/11/14(水) 18:01:48.73 ID:s9/HlnWt Be:
    要らなくなった研究室のコンピュータでやってみたことがある
    全部のファイルが消えるわけじゃないんだよな
    シェルも一応そのままだけど組み込みコマンド以外は大体消えてるので何もできず
    電源を落とすと次回はOperating system not foundだったと思う

    rm -rf /で遊ぶときはネットワークから切断されてることを確認してからやるんだぞ
    ファイル鯖のファイル消したら終わるぞ色々と 

391 イラストに騙された名無しさん [sage] 2012/11/14(水) 20:46:20.03 ID:l+UQGwF2 Be:
    sql の update 文に where を加えるのを初め忘れてたわ。
    開発環境とはいえあぶねー 

392 イラストに騙された名無しさん [sage] 2012/11/14(水) 21:56:12.28 ID:hDoESvXo Be:
    commitしなけりゃいいだろ 

393 イラストに騙された名無しさん [sage] 2012/11/14(水) 22:03:56.39 ID:6bBXQwZI Be:
    auto commitが。 

394 イラストに騙された名無しさん [sage] 2012/11/14(水) 22:06:21.15 ID:hDoESvXo Be:
    室見さんにドライバー刺されてこい。 

395 イラストに騙された名無しさん [sage] 2012/11/14(水) 22:12:20.96 ID:6bBXQwZI Be:
    ありがとうございます! 

398 イラストに騙された名無しさん [sage] 2012/11/14(水) 23:07:11.83 ID:S/jqj+zm Be:
    >>389-393
    板違いだと言ってあげた方がいいのか、タイムリーなネタだなと言ってりゃ
    いいのか微妙だな 

399 イラストに騙された名無しさん [sage] 2012/11/15(木) 00:07:27.02 ID:FtS856Dn Be:
    ファイル鯖を壊した状態でバックアップを0バイト上書きしちゃったことを、ファーストサーバ事件でフラッシュバックして数日寝込んだ。
    欝で廃人って流石にセンシティブすぎてテーマにはできんか。 

400 イラストに騙された名無しさん [sage] 2012/11/15(木) 02:09:35.64 ID:cbnGY4Q7 Be:
    >>391
    複数社が協同で使ってる開発環境で、協力会社の人にそれやられて方々に頭下げてまわったことあるわ 

402 イラストに騙された名無しさん [sage] 2012/11/15(木) 04:03:05.68 ID:biDx80IK Be:
    俺、本番機のマスターテーブルにtruncate tableかけちまった事ある・・・
    徹夜で復旧だった・・・orz 

403 イラストに騙された名無しさん [sage] 2012/11/15(木) 06:23:15.48 ID:cM3ieR4b Be:
    やっぱり where 句は最初に書いた方がいいね。
    select 文と同じ感覚じゃダメか 

404 イラストに騙された名無しさん [sage] 2012/11/15(木) 08:18:06.05 ID:s5jEDRSZ Be:
    この辺のネタは工兵の後輩が入ってきたらやりそうだ
    配属初日に本番機をぶっ飛ばして室見さんを発狂させたり 

407 イラストに騙された名無しさん [sage] 2012/11/15(木) 21:19:51.20 ID:cM3ieR4b Be:
    アプリのリリース管理は何でやるのがいいんだろ。
    java なら ant だろうけど、 VB.NET や C# は普通にバッチなのかな。
    それとも SVN 更新か 

408 イラストに騙された名無しさん [sage] 2012/11/15(木) 21:38:09.01 ID:g5NjaglI Be:
    ふつーgit 

409 イラストに騙された名無しさん [sage] 2012/11/15(木) 22:09:36.88 ID:ap3uFMFv Be:
    gitとかオサレ過ぎる、世の中にはVSSを使わざるをえない開発者がいるのだ 

410 イラストに騙された名無しさん [sage] 2012/11/15(木) 22:59:18.21 ID:ptEfZqtE Be:
    VSSシンプルで好きだけどなー。 

412 イラストに騙された名無しさん [sage] 2012/11/16(金) 02:39:37.24 ID:3f2cYBYe Be:
    リリース管理なんて[xxxx_yyyymmdd]ってフォルダ作ってそこに入れればいいだろ?
    それが一番わかりやすい
    っていう人はまだ多数いる。
    客先での修正や同時開発でのデグレードや上書き、差分抽出、プロジェクト管理との紐付とかで問題起こってるのに改めようとしない。 

413 イラストに騙された名無しさん [sage] 2012/11/16(金) 05:58:40.75 ID:cnzCpMYv Be:
    ワードやエクセルに対応したバージョン管理ツールは? 

414 イラストに騙された名無しさん [sage] 2012/11/16(金) 08:26:08.32 ID:oKdwPFRH Be:
    ワードの場合はワード自身に履歴管理の機能があるからそれを
    使う。エクセルの場合は知らね。マクロ使いまくりじゃああんまり
    いい汎用の手はなさそうだな 

423 イラストに騙された名無しさん [sage] 2012/11/16(金) 19:32:42.23 ID:GTJByRhs Be:
    >>410
    >VSSシンプルで好きだけどなー。
    gitとかの分散開発時代に単純なファイルロックで出し入れとか原始人かよw 

425 イラストに騙された名無しさん [sage] 2012/11/16(金) 21:21:27.64 ID:Q78EMNQG Be:
    >>423
    スレ違い。
    プログラマーの話はどこか他に行ってくれ
    せめてSEの話題にしろ 

■_

2012年11月17日

■_

TAPL読書会
相変わらず 21章で苦戦しています。 今回は 21.7 regular tree、21.8 μ-Types あたり。 やろうとしていることはそれほど難しくない(と思う)のだけど、 それを実現するためのロジックが七面倒というかなんというか。

21.7 Regular Trees

At this point, we have developed generic algorithms for checking membership in a set defined as
the greatest fixed point of a generating function F, assuming that F is invertible and finite
state; separately, we have shown how to define subtyping between infinite trees as the greatest
fixed point of a particular generating function S. The obvious next step is to instantiate one
of our algorithms with S. Of course, this concrete algorithm will not terminate on all inputs,
since in general the set of states reachable from a given pair of infinite types can be infinite.
But, as we shall see in this section, if we restrict ourselves to infinite types of a certain
well-behaved form, so-called regular types, then the sets of reachable states will be
guaranteed to remain finite and the subtype checking algorithm will always terminate.

  
21.8 μ-Types

This section develops the finite μ-notation, defines subtyping on μ-expressions, and
establishes the correspondence between this notion of subtyping and the subtyping on tree types.
  

んで、既読の人に質問。21.7.3 Exanmples に


    where pairs of consecutive Bs are separated by increasingly many As, is not regular.
    Because T is irregular, the set reachables(T, T) containing all the subtyping pairs
    needed to justify the statement T<:T is infinite.

  

という部分があるのですが、ここにでてくる reachables という関数は これまでは 21.5.10 にあるように引数が一個なんですよね。 ところがここイキナリ (T, T) となっている。これはいったいどういうこと? その場の議論では pair なり tuple なりが渡されている(引数としては一つ) ということなのではないかということで収まったのですが、 今ひとつすっきりしないよねえということで。

定義の部分はこう

21.5.10 Definition

Given an invertible generating function F and an element x ∈ U ,
the set predF(x)  (or just pred(x)) of immediate predecessors of x is

  pred(x) = { 空集合     if support(x)↑
              support(x) if support(x)↓


and its extension to sets X ⊆ U is

  pred(X) = U pred(x)
           x∈X

The set reachableF(X) (or just reachable(X)) of all elements reachable from a set X
via support is defined as

  reachable(x) = reachable({x})

and its extension to single elements x ∈ U is

    reachable(x) = reachable({x}).

An element y ∈ U is reachable from an element x if y ∈ reachable(x).
  

次回は 21.9 からです。

Types and Programming Languages 日本語版 レビュワー募集

新しくできた古本屋と思って入ったら(看板にはそうあった)、 中ではカードバトルの卓(なんていうのか知らんけど)がいくつもあって そっちがメインな気がするような光景がありましたとさ。

■_

Advent Calendar 2012まとめ - NAVER まとめ

■_

信頼度成長曲線やらってこーゆー世界向けのもんだよなあ と思う今日この頃。

■_ PyMCU

ちょっと興味ある。 pyMCU - The Python Controlled Microcontroller

FAQ によると

What is pyMCU?
pyMCU is a micro-controller that can be used with python. There is custom software on the microchip that works in conjunction with the python module on the computer to operate much like a traditional microchip that you would normally load your code onto except this one allows you to drive that functionality realtime using python. Think of it as a hardware interface to the real world for your computer that you program with python.

pyMCU Overview

pyMCU was created with the idea of being a simple cost effective platform to interface between the
computer and the physical world using python. The heart of pyMCU is a microchip PIC 16F1939
offering 13 Digital IO Pins, 6 Analog IO Pins, 5 10-bit PWM Pins, and a 16 Pin Parallel LCD
Interface. The USB Interface uses the industry standard FTDI USB to UART FT232R chip. Drivers and
python module are available for Windows, OSX, and Linux.

I wanted to make pyMCU simple to use for the beginner but also have the option to be utilized in
a more powerful way for the advanced user. The beginner method for using pyMCU and its initial
intent for use is to utilize the pymcu python module, by creating an mcuModule Class Object in
python you will have access to various functions common to typical microcontroller programming,
setting pins high and low, reading analog pin values, using hardware pwm pins, i2c, 1-wire and
SPI protocols and so on. For the more advanced user you can override the pyMCU firmware and
program the PIC chip directly and take advantage of all the raw power and functionality the PIC
chip has to offer and that way the pyMCU board acts as a nice breakout board platform to build on.

■_ 疑似コード

JaSSTソフトウェアテストシンポジウム-JaSST'12 Hokkaido レポート の発表資料を見てたんですが、 これはなんか違うんじゃないかという気が → "セッション 2-2 「機能ブロックと擬似コードを用いたS/W開発事例 - 上流工程で後工程の作業に直結したアウトラインを描く -」"

なんかこう、ほとんどプログラムみたいな「仕様書」を連想してしまうんですけど 違うのかしらん。

■_ visualization

なんとなく自分の中でシンクロニシティ(謎) My First Recommendation to New Scientific Coders: Learn Visualization L'eclat des jours(2012-11-17)

■_

orangeduck/CPP_COMPLETE

■_

■_ おとしあな

use strictが効かない (PERL) | PerlのQ&A【OKWave】

use strictが効かない (PERL) | PerlのQ&A【OKWave】

たびたびお世話になっております。 

PERL version 5.14.2 をWindows 7 のコマンドプロンプトから起動して使っています。 
 
  use strict;

と一行目に書くと 宣言されていない変数があれば拒絶されるとのことで 

  #!/usr/bin/perl 
  use strict; 
  use warnings; 

  $a = 10; 

  print "$a\n"; 
 
というスクリプトを書きました。が、すんなり動いてしまいます。

■_

FreeBSD.org intrusion announced November 17th 2012

■_

Twitter / pasberth: perl より Macra ... Twitter / pasberth: macra はこれです: ... pasberth/Macra

2012年11月16日

■_

特撮博物館で予約販売を申し込んでいたアレが届いた。

ソフトウェア信頼度成長曲線(もしくは Software Reliability Growth Model: SRGM)、 そこそこ情報(ぶっちゃけ論文中心)が見つかってきてるんだけど こういうのを自分の他におもしろがってくれる人なんているんだろか。

■_

■_ SICP

reddit で話題にのぼっていたので Why <cite>Structure and Interpretation of Computer Programs</cite> matters

Why <cite>Structure and Interpretation of Computer Programs</cite> matters

Why Structure and Interpretation of Computer Programs matters
Brian Harvey
University of California, Berkeley

In 2011, to celebrate the 150th anniversary of MIT, the Boston Globe made a list of the most
important innovations developed there. They asked me to explain the importance of SICP, and this
is what I sent them:


SICP was revolutionary in many different ways. Most importantly, it dramatically raised the bar
for the intellectual content of introductory computer science. Before SICP, the first CS course
was almost always entirely filled with learning the details of some programming language. SICP
is about standing back from the details to learn big-picture ways to think about the programming
process. It focused attention on the central idea of abstraction -- finding general patterns
from specific problems and building software tools that embody each pattern. It made heavy use
of the idea of functions as data, an idea that's hard to learn initially, but immensely powerful
once learned. (This is the same idea, in a different form, that makes freshman calculus so
notoriously hard even for students who've done well in earlier math classes.) It fit into the
first CS course three different programming paradigms (functional, object oriented, and
declarative), when most other courses didn't even really discuss even one paradigm.

以下略

書かれている内容はまったく目新しいものではないと思いますが 読んでみてはいかがでしょうか。

■_

software engineering に関するいくつかの quote

Quotes from the Nato Software Engineering Conference in 1968 | Peter Krantz

On the management of software projects:

    Programming management will continue to deserve its current poor reputation for cost and
    schedule effectiveness until such time as a more complete understanding of the program
    design process is achieved.

    We build systems like the Wright brothers built airplanes — build the whole thing, push it
    off the cliff, let it crash, and start over again.

    Production of large software has become a scare item for management. By reputation it is
    often an unprofitable morass, costly and unending. This reputation is perhaps deserved.
On programmer performance (compare with the essay Great Hackers by Paul Graham):

    I have a question on the huge range of variability of programmer performance. Are similar
    ranges found in other engineering areas? [..] The variation range in programming is in
    fact greater than in other fields.
On testing software:

    System testing should be automated as well. A collection of executable programs should be
    produced and maintained to exercise all parts of the system. [...] As an output of a test
    validation run, each test should list the modules it has exercised, and as well, should list
    the interfaces and tables it has tested. It is important to document success, as well as
    failure.

↑これらがいつ頃の発言かというと(バレバレですが)… Quotes from the Nato Software Engineering Conference in 1968. Sometimes we forget that other people have faced the same problems we face today in software development... : programming

訳をつけている余裕はないなあ ○| ̄|_

■_

Rob Pike がまた物議を醸す発言を?(なっち風)

Rob Pike - Google+ - A few years ago I saw this…

ざっと省略

Object-oriented programming, whose essence is nothing more than programming using data with
associated behaviors, is a powerful idea. It truly is. But it's not always the best idea. And
it is not well served by the epistemology heaped upon it.

Sometimes data is just data and functions are just functions.

Rob Pike on Object Oriented programming : programming

■_

ということで読書会の準備(予習とも言う)をせねばなのじゃよー

2012年11月15日

■_

まあ色々と。

■_ Ada

ふと気になったのですが、777 にしても F-22 にしても一つ前(でいいのかな)の機体ですよね。 それぞれ 787 とか F-35 とかあります。 もちろんこれらを同列に置いて良いのかという話はありますが 純粋に時系列だけで見ると後に来ていると。 そして F-35 の方は Ada では開発者を揃えられないので C++ に開発言語を変更したという話がありましたよね。 最新の状況はどうなんだろうかなあと。

■_

■_ 比較

同じ処理をするプログラムを様々なプログラミング言語で比較。と。 Code Length Measured in 14 Languages « Wolfram Blog

Code Length Measured in 14 Languages « Wolfram Blog

I stumbled upon a nice project called Rosetta Code. Their stated aim is “to present solutions
to the same task in as many different languages as possible, to demonstrate how languages are
similar and different, and to aid a person with a grounding in one approach to a problem in
learning another.”

After amusing myself by contributing a few solutions (Flood filling, Mean angle, and Sum digits of
an integer being some of mine), I realized that the data hidden in the site provided an opportunity
to quantify a claim that I have often made over the years—that Mathematica code tends to be shorter
than equivalent code in other languages. This is due to both its high-level nature and built-in
computational knowledge. 

2012年11月14日

■_

O'Reilly のwebcastのお知らせがついったでときおり流されるのですが、 リンクを辿ってもどうやれば見聞きできるのかがよくわからない。 たとえばここ Webcast: How to Launch Better Software Faster どうすれなよいの? O'Reilly Media — Webcasts Register for an upcoming free, live webcast or browse our video archive of past events. 登録しろということなのかな。

■_

■_ 今日の信頼度成長曲線

ある論文から。 http://www.orsj.or.jp/~archive/pdf/sym/S41_013.pdf

Jelinskiand Moranda[JM-72]が最初の論文を発表して以来,現在までに実に200を超えるソフトウェア
信頼度成長モデルが提案されている.山田【Y-91】によれば,ソフトウェア信頼度成長モデルは大きく
(i)時間計測モデル,(ii)個数計測モデル,(iii)アベイラビリティモデルのように分類できる.

(略)
  2.2 問題点
2.1で抑介したように,ソフトウェアテストにおいてフォールトが出現するふるまいを表現した確率モデ
ルが数多く提案されている一方で,このようなモデルが実際の開発工程において頻繁に利用されているとは
限らない.その主な理由として,ソフトウェア製品のフォールト発見時間データとして学術用に公開されて
いるものが極めて少ないため,複数の評価基準を円いて統計的に有為な最良モデルを選定することが困難で
あった点が挙げられる.さらに,
(a)文献において提案されたモデルのほとんどは,“直感的な思いつき”や“データの局所的なふるまい”を
観測することによって得られたものであり,ソフトウェアに含まれるフォールトの発見事象を物理的
もしくは統計的に説明する根拠に乏しい
(b)例え,ソフトウェアのフォールト発見事象を説明するためのモデルが特定できたとしても,モデルパラ
メータを合理的に推定するための統計的な手法が完備されていない等の指摘がなされている.
  

まあそうですよねえ。しかし200超のモデルって…

■_

あ、これは確かに。 自分が持った違和感はこれ以外にもあるけども。

■_

横浜でやってるアレに行きたい…

2012年11月13日

■_

マザーグースとかワーズワースとか

■_

■_ デシジョンテーブル

昨日紹介したところからの流れで 第41回 ソフトウェア品質技術の歴史 その1 (ソフトウェアテスト)|SQiP:Software Quality Profession A Lifelong Software Tester (生涯一テスター) デシジョンテーブルテストの歴史: A Lifelong Software Tester (生涯一テスター)

デシジョンテーブルテストの歴史: A Lifelong Software Tester (生涯一テスター)

◆デシジョンテーブルの歴史
デシジョンテーブルは1958年頃にGE(General Electric)社やSutherland社で考案されました。当時GE社で
デシジョンテーブル(最初は"Decision Structure Table"と呼ばれていたようです)を考案した
Burton Gradは"Tabular Form in Decision Logic"(DATAMATION, July 1961)で、当時の状況を次の
ように書いています(抜粋)。

    Decision logicを記録するための表は、1957年秋から1959年のGE社のIntegrated Systems Projectで
    使ったのが最初である(※このProjectのリーダがGrad)。このProjectではextended entry tables(拡
    張指定表)形式のデシジョンテーブルをman-to-machine communicationのために使用した。

    1958年後半にコンサルティング会社のSutherland社で"management decision rules"を表現する
    ための表を使い始めた。彼らはlimited entry tables(制限指定表)形式のデシジョンテーブルを使っ
    ていたと思われる。

    1959年、Hunt Foods and Industries社はコンピュータシステムの計画におけるman-to-man
    communicationのために、システム分析でlimited entry tablesを用いた。

    1960年初めからIBM社はシステム分析やプログラミングにデシジョンテーブルを積極的に活用し始めた。
    (※Burton Gladはこの時期にGE社からIBM社に転社したようです)

デシジョンテーブルは考案されて間もなくコンピュータ処理する検討も開始され、1960年にGE社の
KavanaghはデシジョンテーブルからGEのコンパイラ言語のソースコードを生成するTABSOL(TABular
Systems Oriented Language)を開発しています。その後、1960年代には COBOLやFortranなどのコン
パイラ言語のソースを生成するプリプロセッサが数多く開発されています。

TASBOL とか気になるw

■_

今度は確率微分方程式が登場したですよ…

2012年11月12日

■_

本をばらしてスキャン。をするかはともかくとして、 そろそろ欲しいのだよねえ。 ああ欲しいものが(予算に比べて)多すぎ。 ASCII.jp:PCレスでスマホ・タブレットにデータ保存 「ScanSnap iX500」

■_

■_ 今日の信頼度成長曲線

いやまあ成長曲線関係ないことも含めて調べてたりするんですが、そこはそれ。 で、昔の事情についての手がかりが。 このシリーズは以前から知ってたのだけど、 最初に見かけた回が(省略されました) 第41回 ソフトウェア品質技術の歴史 その1 (ソフトウェアテスト)|SQiP:Software Quality Profession 第42回 ソフトウェア品質技術の歴史 その2 (日本のソフトウェア検査)|SQiP:Software Quality Profession 第43回 ソフトウェア品質技術の歴史 その3 (コミュニティ)|SQiP:Software Quality Profession 第44回 ソフトウェア品質技術の歴史 その4 (温故知新のススメ)|SQiP:Software Quality Profession

で、特に興味を引かれたのがこの部分。

第42回 ソフトウェア品質技術の歴史 その2 (日本のソフトウェア検査)|SQiP:Software Quality Profession

4. ソフトウェア検査の確立

ソフトウェア検査に関する最初の文献は1972年5月の「情報処理」誌で発表された菅野文友氏(当時、日立
製作所ソフトウェア工場)の”ソフトウェアの検査の考え方”[4]だと思われます。この論文では、1969年
に開設された日立製作所ソフトウェア工場で新たに開始されたソフトウェア検査業務が2~3年を経て軌道
に乗った状況が書かれています。

—————————————————————————————————————————————————

われわれは、過去数年間ソフトウェア検査の確立に努力してきた。当初ソフトウェアにおいては、検査と
いう語は存在していなかった。単に言葉がなかったばかりではなく、検査という行為もそれまではなかっ
たといってよかろう。このような周辺事情のなかで、ソフトウェアは製品であるという認識のもとに、近
代的ソフトウェア・エンジニアリング確立の一つとして、現在まで検査技術の設定に努力し、一応軌道に
乗った様相で、ソフトウェア検査業務を遂行している現状である。

—————————————————————————————————————————————————

開発された検査技術の中には、成長曲線やゴンペルツ曲線などを使った品質予測手法[5]や先取り評価手法
(QP:Quaity Prove)(現在は探針と呼ばれている)[6]など、現在も活用されている重要な技術があります。

アメリカでの、Software reliability Growth Model とどのような関係があったのか、 独立に発明されたものなのか。ちょっと気になります。

■_

メイカームーブメントは「第3の産業革命」--クリス・アンダーソン氏 - CNET Japan 誰もが「作り手」になれる時代、エンジニアの存在価値とは?~『MAKERS』著者クリス・アンダーソンに聞く【キーパーソンインタビュー】 - エンジニアtype

まだ最初の方を読んでいるのですが、面白いです。 FREE のときもそうでしたが、全面的に同意することはできないものの考えさせるものはあると思います。
MAKERS―21世紀の産業革命が始まる

■_

TAPL読書会のための準備をするので今週はこんな感じで。

2012年11月11日

■_

買った。読んだ(読んでる)
MAKERS―21世紀の産業革命が始まる 未来を発明するためにいまできること スタンフォード大学 集中講義II リバース・イノベーション

財布の中身と相談して諦めたものも
スタンフォードの自分を変える教室 ビジネスモデル・ジェネレーション ビジネスモデル設計書 ビジネスモデルYOU

最後の本、Amazonでの書評に興味深いものが

Amazon.co.jp: ビジネスモデルYOU: ティム・クラーク, アレックス・オスターワルダー, イヴ・ピニュール, 神田 昌典: 本

『13歳のハローワーク』という本がありましたが、本書は、『23歳のハローワーク』とでも言うべき、若手ビジネスパーソンがキャリア形成するうえで刺激になる本です。

横長の電話帳のような本で、本棚に収めくい装丁ですが、イラスト・写真と個人のケースが豊富で、楽しく読めます。

私は、英文原著の方をまず読みましたが、英文がとてもわかりやすく、かつビジネス現場のリアルな表現、キャッチーな言い回しが満載。

「グローバル人材」をめざす人には、英文原著の方をおススメします。英語とキャリア、両方学べ、一石二鳥ですし、2000円ほどで買え、日本語版より安いですし。

これか。wishlistに放り込んだが意味ないわな
ビジネスモデルYOU

Coなんとがわからない
いやまあいつものことですが。 余帰納 - Google 検索 余再帰 - Google 検索

■_ KANREN

InfoQ での記事。 Relational Programming in miniKanren

サマリを読んでてふと気づいた

Relational Programming in miniKanren

Summary

Daniel P. Friedman and William E. Byrd demonstrate miniKanren, a simplified version of KANREN - a
declarative logic programming system with relations embedded in a pure functional subset of Scheme. 

「KANREN」 って「関連」から来たのかなあと。

■_

オライリーの近刊やらを見ているとなかなか楽しいものがあるのですが Upcoming - O'Reilly Media Getting Started with RepRap RepRap ってなんだろね。と。

RepRap/ja - RepRapWiki

RepRap は、プラスチックの物体を作成することができるフリー(自由)なデスクトップ3Dプリンタ です。
RepRap に使われている多くの部品はプラスチックで作られており、RepRap 自身で作成することができます。
そのため、RepRap は、誰でも時間と資材が与えられれば作成することができる 自己複製機械であると考え
ることができます。 またそれは、RepRap を手に入れたなら、Thingiverse に存在するような多くのものを
作成できることを意味します。また、あなたは、友人のためにもうひとつの RepRap を作成することもでき
るのです。 

へー

Python for Kids - O'Reilly Media 子ども向けの、というのだと Scratch でもこういった本が出ていたと思うけど 他のプログラミング言語ではどうなんだろう

「Rapid Review」というのがいくつか。 CISSP - Certified Information Systems Security Professional | (ISC)² CompTIA® Network+® Rapid Review (Exam N10-005) - O'Reilly Media CompTIA® Security+™ Rapid Review (Exam SY0-301) - O'Reilly Media 全部セキュリティ関係なのかな CISSP Rapid Review - O'Reilly Media

そのほか気になったもの Effective Monitoring and Alerting - O'Reilly Media The Definitive ANTLR 4 Reference, 2nd Edition - O'Reilly Media Outsource It! - O'Reilly Media Explore It! - O'Reilly Media Statistics in a Nutshell, 2nd Edition - O'Reilly Media Bad Data Handbook - O'Reilly Media

Early Release - O'Reilly Media

■_

ついったでみかけてびっくり

リンク先を辿る。 んーむ herumi さんのところは読んでたはずなんだけど (前後の幾つかに見覚えが) melancholic afternoon

melancholic afternoon

11月2日_

MurMurHash3という128bit値hash関数を調べてた.

いくつかのテストを見る限り, 分布はかなり一様でかつ速い. Jenkinsの96bit値hash関数よりも速い.

Jenkinsのは12byteあたりの処理でadd, sub, xorが21個, rolが6個なのにそれよりも速いのはすごい.
MurMurHash3(64bit用)は16byteあたりの処理で, なんと64bit x 64bit→64bit乗算を4回使ってる. そ
の代わりadd, xor, leaは8回ぐらいしかない. 64bit乗算命令が2~3クロックしかかからないこと前提
なのか. おもろいな. SHA-1に比べると20倍以上速い.
#32bit版は2倍ちょい遅くなる.

なお, MurMurHash3は暗号用のhash関数ではないので注意. 逆関数は比較的容易に構成できる. なんの
役に立つか分からないけどせっかく作ったので書いておく.

最終部分の関数

uint64_t fmix(uint64_t k)
以下略

■_

MSDN マガジン Windows 8 Special Issue 2012

(機械翻訳)がめだつなあ。 で見てみると

Windows ランタイムと CLR - .NET と Windows のランタイムとボンネットの下に

 マネージ コードからの WinMD ファイルを消費

ECMA-335 で説明されているファイル形式を使用してエンコードされて、WinMD ファイルに定義されて
WinRT Api (bit.ly/sLILI)。 共通のエンコード、WinMD ファイルと .NET Framework アセンブリを共
有しますが、彼らは同じのではないです。 メタデータの主な違いの 1 つは、WinRT 型システム、
.NET 型システムの独立したという事実から生じています。

C# コンパイラや Visual Studio などのプログラムは、CLR メタデータ (IMetaDataImport) などの
Api を使用して、.NET Framework アセンブリのメタデータを読み取ると今のメタデータと同様に WinMD
ファイルから読むことができます。 メタデータを .NET アセンブリとして同じが丁度するため、CLR
メタデータ リーダーと読まれて WinMD ファイルとメタデータ Api アダプターを挿入します。 これは、
WinMD ファイルは、.NET アセンブリのように読むことができます (を参照してください図 1)。

びみょー…

■_

■_ 今日の信頼性

昨日言及した論文はこれです A Bayesian Reliability Growth Model for computer Software (PDF) 70年代「末」じゃなくて初めですね(1973年)。

もうひとつ、こっちは論文ではないのですが Reliability Growth Models Criticized

Reliability Growth Models Criticized

Seemingly the field of reliability growth modelling (cf. ch. 3 "Software Reliability Modeling
Survey" in Lyu's book from 1996) is facing the same basic, i. e. philosophical, problems as
the so called historicism. According to Popper long-term prophecies cannot be applied to social
systems we are all caught in. And "it is wise to combat the most urgent and real social evils
one by one, here and now" (Popper, 1963).

From the very beginning, when I came across the reliability growth models for the first time I felt
compelled to apply Popper's rules of falsifiability, corroboration, and simplicity to them.

What follows is an assessment of reliability growth models in respect to their prognostic strength
and their ability of supporting the learning from errors. This is done under the light of Popper's
criteria and by means of statistical measurement. The questions to be answered are: What is the
predictive strength of the highly sophisticated reliability growth models? Is the effort worth the
result, or is it even misleading? What can be learned from reliability growth models? Which methods
- if any - are better suited for the software engineer's task.

なかなか面白そうな出だしです。


一つ前へ 2012年11月(上旬)
一つ後へ 2012年11月(下旬)

ホームへ


リンクはご自由にどうぞ

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