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

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

一つ前へ 2015年6月(下旬)
一つ後へ 2015年7月(中旬)

ホームへ

2015年07月10日

■_

Zed のところの記事にはこれまで日付が入ってなかったと思うんだけど これにはあるね。 I Can Kill Any Computer | Zed A. Shaw それはさておき I’m like the coder from Salusa Secondus who had no idea things weren’t supposed to be this broken and ended up just making things solid to avoid it. いきなり「サルサ・セカンダス」がw 英語版のうぃきぺにはあるけど日本語版はなしか……>サルサ・セカンダス デューン:用語解説

例によって絶版状態ですが、 復刊されるらしいので出たら黄色のネコっぽいアイコンの人は読むと良いと思います:) ハヤカワ・オンライン |

つーてもシリーズで、他にもあるんだけどねー デューン (小説) - Wikipedia フランク・ハーバート - Wikipedia

■_

2015年07月09日

■_

「琴線に触れる」の使い方これでいいんだろうかと思って調べたら

[補説]文化庁が発表した平成19年度「国語に関する世論調査」では、本来の意味とされる「感動や共鳴を与えること」 で使う人が37.8パーセント、本来の意味ではない「怒りを買ってしまうこと」で使う人が35.6パーセント という結果が出ている。 (琴線に触れるの意味 - 国語辞書 - goo辞書)

なんだってっー

■_

2015年07月08日

■_

バス停で

■_

■_

GnuCOBOL FAQ — GnuCOBOL FAQ and How To

GnuCOBOL FAQ — GnuCOBOL FAQ and How To

Status: never complete; like a limit, \lim_{aq\to0}f(aq) = 42

なんぞこれ。

FAQ 1.27 のジョーク、笑いどころがよくわからんw

GnuCOBOL FAQ — GnuCOBOL FAQ and How To

A computer without COBOL and Fortran is like a piece of chocolate cake without ketchup or mustard.

初っぱなのこれとか。

2015年07月07日

■_

gcc の関数内関数って、Pascal コンパイラ実装するために実装されたという話を大昔に聞いた(読んだ)ような気がする。 その当時は g++も gFORTRANもなかったしねえ>GCC いや、g++ (と f2c)はあったか? でも今は停止してるっぽいな >GNU Pascal GNU Pascal Pascal はこれとして、Modula-2 はどうなったんだろう(調べない)。

■_

■_ srand

一部で盛り上がったこの話題。 Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita xcode - c言語での乱数生成 - スタック・オーバーフロー

落ち着いて記事を読んでみるとそもそもの疑問(質問)はなんだったかというと

Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, const char * argv[]) {
    unsigned int i;
    unsigned int seed = (unsigned int)time(NULL);
    for (i = 0; i < 100; i++) {
        srand(seed + i);            ///////////////////////
        printf("%d, ", rand() % 7);
    }
    putchar('\n');

    return 0;
}
Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita

7の剰余を使うと、同じ値の繰り返しになりますが、それ以外の剰余、たとえば3だと、「2, 1, 0, 2, 1, 0……」と循環数になります。

xcode - c言語での乱数生成 - スタック・オーバーフロー

#include<time.h>
#include<stdio.h>
#include<stdlib.h>

int main(void){
    int i,num;

    srand(time(NULL));
    num=rand()%7;

    for(i=0;i<10;i++){
        printf("%d\n",num);
    }
    return 0;
}

これでnumは0~6になる思うのですが、すべて4になってしまいます。 num=rand()%7の7を他の数字でやると0〜その数字の間の数となります。 7の時のみこのようになってしまうのですがなぜでしょうか? 環境はMacBook Pro、xcode Version 6.1です。

といったもので、rand(3) がー。とか、下位桁の剰余ー。 とは関係ない部分に回答してる人がほとんどいないという。

とはいえ皆無ではなく

Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita

そしてx = 16807 * lo - 2836 * hi;ですから、loには16807が掛けられます。早い話が、この数字16807は7の合成数なのです。
7*7*7*7*7=16807ですね。ですから、seedに経過秒数や1ずつ増える値を渡しても、それと乗算されるloが7だけによる合成数
なので、このような結果になってるのだと思います。

で、この回答(の元記事)にあったリンク先の rand() のコードを見ると

rand.c

static int
do_rand(unsigned long *ctx)
{
#ifdef  USE_WEAK_SEEDING
/*
 * Historic implementation compatibility.
 * The random sequences do not vary much with the seed,
 * even with overflowing.
 */
	return ((*ctx = *ctx * 1103515245 + 12345) % ((u_long)RAND_MAX + 1));
#else   /* !USE_WEAK_SEEDING */
/*
 * Compute x = (7^5 * x) mod (2^31 - 1)
 * without overflowing 31 bits:
 *      (2^31 - 1) = 127773 * (7^5) + 2836
 * From "Random number generators: good ones are hard to find",
 * Park and Miller, Communications of the ACM, vol. 31, no. 10,
 * October 1988, p. 1195.
 */
	long hi, lo, x;

	/* Can't be initialized with 0, so use another value. */
	if (*ctx == 0)
		*ctx = 123459876;
	hi = *ctx / 127773;
	lo = *ctx % 127773;
	x = 16807 * lo - 2836 * hi;
	if (x < 0)
		x += 0x7fffffff;
	return ((*ctx = x) % ((u_long)RAND_MAX + 1));
#endif  /* !USE_WEAK_SEEDING */
}

なるほど。秒数とすると、 127773 / 86400 で、1.5日にちょっと欠けるくらいですか。

といった辺りを踏まえて改めてこれを見てみましょう(にやにや) はてなブックマーク - Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita

■_ cobol

The Inevitable Return of COBOL という記事によると、COBOL プログラマーの年齢構成の比率は (足すと101になるんだけど多分丸めのせいだろう)

年齢                   %
------------------------
25-35                  6
35-45                 34
45-55                 52
55+                    7
NO COBOL Programmer    2
Don't Know             1

これはまあそうなんだろうねえという感じなんですが

70%     すべてのビジネストランザクションのうちCOBOLが使われている割合
220 BN  COBOLで書かれたコードの総行数
1.5 BN  一年辺りの新規のCOBOLコードの行数

なんてのはええっ!? っという感じが。

■_

2015年07月06日

■_

"Slender Means" http://slendermeans.org/julia-loops.html Cython is great.

あ、明日からだったかこれ。 国内外の化石が集結 国立科学博物館で特別展「生命大躍進」 - ねとらぼ アノマロカリス(の化石)見てぇーw

今日の会社帰りに乗っていた電車で「踏切の安全確認」のためしばらく足止め食らってたんですが、 あれって「通報」→「確認」で確認する人って(人手でやりますよねたぶん)最寄り駅から行くんですかね。 でもどうやって?

テレ玉でこんな番組がw 特撮秘宝さんはTwitterを使っています: "【特報】「ピープロ特撮アワー」(仮) テレビ埼玉にて、ピープロ作品の第1話を特別放送! 7月6日『マグマ大使』第1話 7月13日『電人ザボーガー』第1話 7月20日『宇宙猿人ゴリ』第1話 7月27日『快傑ライオン丸』第1話 の予定! たぶん! 放送時間等続報お待ちください!" 試しに第一回(マグマ大使)観てみたら最後に電人ザボーガーの 番組予告(前の番組の最終回で使ったもの?)が流れてきてびっくりしたw

■_

■_

FSF からなんかお手紙(物理的な奴)が。 宛名のある面に赤いスタンプで ISAL ってあるんだけどなんじゃらほい。 USPS のInternational Surface Air Lift (ISAL)について教えてください。 - Yahoo!知恵袋 これかな? 混んでいる時は載せないけど、スペースが空いた時には載せますよ。なので、料金も安いですよ。・・・・というサービスです。 へー。

2015年07月05日

■_

発売前から楽しみにしていた本が二冊ありまして。 一冊はちょっと期待してたのと方向が違ってたのが残念だったけど (買ってないので書名も伏せる)、 もう一冊はまだ最初の4章くらいまでしか読んでないが面白い。 データを正しく見るための数学的思考――数学の言葉で世界を見る
データを正しく見るための数学的思考――数学の言葉で世界を見る

読み終わったあとまた何か書くかは未定 (twitterで振らないように)。

書き忘れてたのを改めて。 タイトルにひかれて買って読んでみたが中々面白かった。 全6巻(ただし原著も未完)のうちの最初の一巻だけど、 これでもかというくらい主人公が絶望的な状況に。 割とそう言うシチュエーションは好きなので (アルスラーン戦記とか皇国の守護者とか)、続きがちょっと楽しみではある。 最後の帝国艦隊 (ハヤカワ文庫SF)
最後の帝国艦隊 (ハヤカワ文庫SF)

手に取ったときはこのシリーズと同じようなもんだろか と思ったんだけどだいぶ違ったw 彷徨える艦隊 10: 巡航戦艦ステッドファスト (ハヤカワ文庫SF)
彷徨える艦隊 10: 巡航戦艦ステッドファスト (ハヤカワ文庫SF)

■_

■_

というわけで月曜日からいかさまーたいむ勤務なのですよ。

2015年07月04日

■_

さすがは技術者の味方「O'Reilly」 プログラマのための健康法を紹介する「ヘルシープログラマ」発売 - ねとらぼ この本、O'Reilly のじゃないんだがな (原著は O'Reillyのサイトで買えるし、 日本語版はオライリージャパン+オーム社なんだろうけど ヘルシープログラマ プログラミングを楽しく続けるための健康Hack | コンピュータ・一般書,プログラミング・開発,SE自己啓発・読み物 | Ohmsha)

O'Reilly でのこの本のページにも The Healthy Programmer - O'Reilly Media Publisher: Pragmatic Bookshelf こうある。 達人プログラマー(の原著)とかのあそこね。 The Pragmatic Bookshelf | The Healthy Programmer 他にもこのパターンの本が結構あるんだけどな。

それはそれとして、「helthy」で検索したら結構引っかかって笑った(ビデオとかもあるけど) O'Reilly Search: helthy

本の話題でもう一つ。 Amazon.co.jp: Program Logics for Certified Compilers: Andrew W. Appel, Robert Dockins, Aquinas Hobor, Lennart Beringer, Josiah Dodds, Gordon Stewart, Sandrine Blazy, Xavier Leroy: 洋書 この本。紙の本だとハードカバーのせいもあってか一万円オーバーな値段なんだけど、 Kindle版が2000円しないほど安い。 PDF版もあったんで買ってみたら専用のリーダーを要求するとか DRMガッチガチで買ったの後悔するレベルだった (で、読んでないw)。 Program Logics for Certified Compilers | Programming Languages and Applied Logic | Cambridge University Press format: Adobe eBook Reader あれ、前からこうだったか?

もういっちょ。 HN で Current draft of The Art of Computer Programming pre-fascicle 6a [ps] | Hacker News こういうのがあってふと思い出したのだけど

せんせーのほーむぺーじにはせんせーの中国語表記があって Don Knuth's Home Page Donald E. Knuth ((高德纳)), Professor Emeritus of The Art of Computer Programming at Stanford University, welcomes you to his home page. この漢字表記だと「くぬーす」じゃないよねえとさらにFAQをみると Knuth: Frequently Asked Questions

Knuth: Frequently Asked Questions

How do you pronounce your last name? 
 
 Ka-NOOTH.

あら。

TAoCP といえば M?MIX ということで GNU MIX Development Kit - Wikipedia, the free encyclopedia The GNU MIX Development Kit (GNU MDK)[1] is a free software package for developing, running and debugging programs written in MIXAL, an assembly-like language for programming a hypothetical computer called MIX. GNU MDK is part of the GNU Project.[2] MMIX のはないんだろか。

■_

■_

前回は半年くらい前だっけ? The RedMonk Programming Language Rankings: June 2015 – tecosystems

The RedMonk Programming Language Rankings: June 2015 – tecosystems

1 JavaScript 
2 Java 
3 PHP 
4 Python 
5 C# 
5 C++ 
5 Ruby 
8 CSS 
9 C 
10 Objective-C 
11 Perl 
11 Shell 
13 R 
14 Scala 
15 Go 
15 Haskell 
17 Matlab 
18 Swift 
19 Clojure 
19 Groovy 
19 Visual Basic 

As with last quarter, ってあるから四半期ごとか。 詳細な解説などは元記事を。 しかし CSS とか謎い。

2015年07月03日

■_

#! ってなんで #! なんでしたっけ?

Ford recalls 433,000 cars: Software bug breaks engine off-switch • The Register

■_

2015年07月02日

■_

Excel の列表記のアレ(A, B, C, … Z, AA, AB, …なやつ)、Excel 自身で作らないとならない羽目になったんだけど (何年か前に色んなプログラミング言語でコンバーターを書くってのがありましたな)、 組み込み関数一発とは行かないものの、意外に簡単だった。 excelのフィル機能でABC、、、AA、AB、ACと連続作成できないで... - Yahoo!知恵袋

今度こそ…? Amazon.co.jp: Learn C the Hard Way: A Clear & Direct Introduction To Modern C Programming (Zed Shaw's Hard Way Series): Zed A. Shaw: 洋書

■_

■_

2015年07月01日

■_

最後の帝国艦隊 最後の帝国艦隊 (ハヤカワ文庫SF)
最後の帝国艦隊 (ハヤカワ文庫SF) 彷徨える艦隊 10: 巡航戦艦ステッドファスト (ハヤカワ文庫SF)
彷徨える艦隊 10: 巡航戦艦ステッドファスト (ハヤカワ文庫SF)

■_

■_

What is agnostic? - Definition from WhatIs.com

Agnostic, in an information technology (IT) context, refers to something that is generalized so that it is
interoperable among various systems. The term can refer not only to software and hardware, but also to
business processes or practices.

information technology (IT) context において、agnostic は
something that is generalized so that it is interoperable among various systems
(様々なシステム間での相互運用が可能なほど一般化されたなにか)
という意味で使われている。
この語はソフトウェアやハードウェアに対してだけではなく
ビジネスプロセスや business prcatices に対しても用いられている。

The word agnostic comes from the Greek a-, meaning without and gnōsis, meaning knowledge. In IT, that
translates to the ability of something to function without “knowing” the underlying details of a system
that it is working within.  As with interoperability, agnosticism is typically enabled by either compliance
with widely-used standards or added elements (such as coding) that will enable one system to function in a
variety of environments.

agnostic という単語は、ギリシア語で知識 (knowledge) を意味する gnōsis と without を意味する a- から来ている。
IT では、
“knowing”the underlying details of a system that it is working within
(システム内部にあってそのシステムを動作させている基礎的なものの詳細を「知ること」)
なしに機能させるための ability of something に translate されている。
As with interoperability, agnosticism is typically enabled by either compliance with widely-used standards or
added elements (such as coding) that will enable one system to function in a variety of environments.


一つ前へ 2015年6月(下旬)
一つ後へ 2015年7月(中旬)

ホームへ


リンクはご自由にどうぞ

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