一つ前へ 2013年12月(上旬)
一つ後へ 2013年12月(下旬)





■_ ちおべ

Transact-SQL躍進の年か、12月プログラミング言語人気 | マイナビニュース TIOBE Software: Tiobe Index ちと気になったのが51位以下

TIOBE Software: Tiobe Index

The Next 50 Programming Languages

The following list of languages denotes #51 to #100. Since the differences are relatively small, the programming
languages are only listed (in alphabetical order).

    (Visual) FoxPro, 4th Dimension/4D, Alice, Automator, Awk, bc, BlitzMax, Bourne shell, C++/CLI, CFML, cg,
    CL (OS/400), Clean, Clojure, DiBOL, Erlang, Factor, Forth, GNU Octave, Icon, Inform, Informix-4GL, Io, J,
    J#, JavaFX Script, LabVIEW, M4, Magic, Modula-2, Modula-3, Moto, NATURAL, NXT-G, OCaml, Oz, PILOT,
    Processing, Prolog, Pure Data, Q, S, S-PLUS, Scratch, Seed7, Standard ML, TOM, VHDL, X10, Z shell 

DiBOL ってなんだろ。

それとは別にこっち。 11月PYPLプログラミング言語人気 | マイナビニュース Javaはほかのプログラミング言語を引き離して高い値を維持しているが、長期にわたって下落傾向にある。 とあるんだけど元のサイトを見るに PYPL PopularitY of Programming Language index - pyDatalog

PYPL PopularitY of Programming Language index - pyDatalog

A possible interpretation of this diagram is :

    Java and javascript are fairly stable
    which language is taking advantage of PHP's decline ? Possibly Objective-C
    Objective-C was probably miscounted as C in 2009-2011, then took a life of its own. 
    C# also had a curious dance with C in that period.
    the growth of C# comes at the expense of C++ and Basic
    the growth of Python comes at the expense of Perl







来た! Programming a 144-computer Chip to Minimize Power

Programming a 144-computer Chip to Minimize Power


Chuck Moore discusses what it takes to program a 144-core asynchronous chip that consumes only 7 pJ/inst, the
idle cores taking just 100 nW while the active ones need 4mW running at 666 Mips: tight coding to minimize the
number of instructions executed, reducing instruction fetches, transistor switching and duty cycle. 


Chuck Moore is a computer engineer specializing in software, hardware and silicon. Invented the Forth computer
language in 1968. Forth, Inc still programs embedded apps from telescope to database. Designed a Forth
gate-array in 1983 and circuit boards to sell it. It's successor (RTX2000) is orbiting Saturn. Filed a valuable
asynchronous patent in 1989, embodied in the Sh-Boom microprocessor.

666 MIPSってのは狙ったんだろか

■_ 来月の


Susan Weinschenk 著
武舎 広幸、武舎 るみ 訳
Michael Fogus 著
和田 祐一郎 訳
●Lean UX
ジェフ・ゴーセルフ 著
ジョシュ・セイデン 編
坂田 一倫 監訳
児島 修 訳
エリック・リース シリーズエディタ
●Rクイックリファレンス 第2版
Joseph Adler 著
大橋 真也、木下 哲也 訳

どんなんだろう>「説得とヤル気の科学」 原著はこれかな? Amazon.co.jp: How to Get People to Do Stuff: Master the art and science of persuasion and motivation eBook: Susan Weinschenk: 本

■_ もしもエッセイをプログラミング言語で書いたら

かな。 SD Times Blog: What happens when you write essays in programming languages? - SD Times: Software Development News SOTI — When You Write Your Essays in Programming Languages


Code Contracts is the next coding practice you should learn and use : programming Code Contracts is the next coding practice you should learn and use | Patrick Smacchia



ネタ候補タブが増える一方だ…これでも「賞味期限切れ」は結構削除してんだけど ○| ̄|_



今日見かけた本(買ってない) なぜ、間違えたのか?
なぜ、間違えたのか? Kindle版もあるのか。こっち買ってみるかな。 なぜ、間違えたのか?

にさつめ。 表紙の絵柄になんか見覚えが… 図解・ベイズ統計「超」入門  あいまいなデータから未来を予測する技術 (サイエンス・アイ新書)

■_ $0 in END rule

tail -1 | awk - jarp,

tail -1 | awk

最後の行だけawkでなんか処理させたいときはtail -1を呼ばなくても、
END{print $1}のようにEND{}でいける。$0とかNFとかもそのまま保持されている。

がちょっと気になったので gawk.texinfo を参照してみた。

@node I/O And BEGIN/END
@subsubsection Input/Output from @code{BEGIN} and @code{END} Rules

@cindex input/output, from @code{BEGIN} and @code{END}
There are several (sometimes subtle) points to remember when doing I/O
from a @code{BEGIN} or @code{END} rule.
The first has to do with the value of @code{$0} in a @code{BEGIN}
rule.  Because @code{BEGIN} rules are executed before any input is read,
there simply is no input record, and therefore no fields, when
executing @code{BEGIN} rules.  References to @code{$0} and the fields
yield a null string or zero, depending upon the context.  One way
to give @code{$0} a real value is to execute a @code{getline} command
without a variable (@pxref{Getline}).
Another way is simply to assign a value to @code{$0}.

@cindex differences in @command{awk} and @command{gawk}, @code{BEGIN}/@code{END} patterns
@cindex POSIX @command{awk}, @code{BEGIN}/@code{END} patterns
@cindex @code{print} statement, @code{BEGIN}/@code{END} patterns and
@cindex @code{BEGIN} pattern, @code{print} statement and
@cindex @code{END} pattern, @code{print} statement and
The second point is similar to the first but from the other direction.
Traditionally, due largely to implementation issues, @code{$0} and
@code{NF} were @emph{undefined} inside an @code{END} rule.
The POSIX standard specifies that @code{NF} is available in an @code{END}
rule. It contains the number of fields from the last input record.
Most probably due to an oversight, the standard does not say that @code{$0}
is also preserved, although logically one would think that it should be.
In fact, @command{gawk} does preserve the value of @code{$0} for use in
@code{END} rules.  Be aware, however, that Brian Kernighan's @command{awk}, and possibly
other implementations, do not.

The third point follows from the first two.  The meaning of @samp{print}
inside a @code{BEGIN} or @code{END} rule is the same as always:
@samp{print $0}.  If @code{$0} is the null string, then this prints an
empty record.  Many long time @command{awk} programmers use an unadorned
@samp{print} in @code{BEGIN} and @code{END} rules, to mean @samp{@w{print ""}},
relying on @code{$0} being null.  Although one might generally get away with
this in @code{BEGIN} rules, it is a very bad idea in @code{END} rules,
at least in @command{gawk}.  It is also poor style, since if an empty
line is needed in the output, the program should print one explicitly.


ふむ。 one true awk の動作は違うのかー。 でもまあ POSIX が最後のレコードのNF を保持し続けろとしているのであれば、 ふつーは $0 をぶっ壊さないと見ていいのかな。


The LLVM Compiler Infrastructure Project う、Julia のやつ PDF じゃない…

■_ JavaScript は

What will the post-Javascript era will be like? : programming Ask HN: What will the post-Javascript era will be like? | Hacker News

Ask HN: What will the post-Javascript era will be like? | Hacker News

Javascript looks a lot like "the new C": new languages compile to it while adding features to it and
it can run on almost any platform. But Javascript cannot be "The End of History".

Something will come someday that will supersede it. The only question is: What can/will it be like?




最近、クリップもいろんなのを試していたりする。 YAMASAKI DESIGN WORKS トライアングルクリップ
YAMASAKI DESIGN WORKS トライアングルクリップ トーキン 5枚クリップ超薄とじ 20個入 5C-20S
トーキン 5枚クリップ超薄とじ 20個入 5C-20S オート 紙スーパークリップ
オート 紙スーパークリップ

平積みされてるのを見かけたが今日は買わなかった 皇帝フリードリッヒ二世の生涯 上 皇帝フリードリッヒ二世の生涯 下

本屋で偶然見かけて以来、ちょっと気になっている本 台南空戦闘日誌―最強零戦隊330日の全戦歴

■_ Oral History of John Backus

▶ Oral History of John Backus - YouTube たぶん、←を文字に起こしたのがこれ → http://archive.computerhistory.org/resources/text/Oral_History/Backus_John/Backus_John_1.oral_history.2006.102657970.pdf 結構面白い。と思う。

■_ めも

EDSAC 関連で幾つか http://cd.textfiles.com/230/EMULATOR/DIVERSE/EDSAC/EDSACDOC.PDF http://ledr.luon.net/documents/2R930/edsac/the-edsac.ps 99 Bottles of Beer | Language Assembler (EDSAC) EBSCOhost | 56517217 | EDSAC: A Programmer Remembers.

■_ らしい

PHP functions originally bucketed by strlen, were renamed to balance length : programming から php.internals: Re: Flexible function naming

php.internals: Re: Flexible function naming

On 12/16/2013 07:30 PM, Rowan Collins wrote:

> The core functions which follow neither rule include C-style
> abbreviations like "strptime" which couldn't be automatically swapped to
> either format, and complete anomalies like "nl2br". If you named those
> functions as part of a consistent style, you would probably also follow
> stronger naming conventions than Rasmus did when he named
> "htmlspecialchars".

Well, there were other factors in play there. htmlspecialchars was a
very early function. Back when PHP had less than 100 functions and the
function hashing mechanism was strlen(). In order to get a nice hash
distribution of function names across the various function name lengths
names were picked specifically to make them fit into a specific length
bucket. This was circa late 1994 when PHP was a tool just for my own
personal use and I wasn't too worried about not being able to remember
the few function names.





ようやく新潮社からお知らせが。 もっと早く知らせてくれー

           新刊お知らせメール 新潮社




を描き尽くした桁違いの傑作評伝が完成! 神聖ローマ帝国とシチリア王国に君

書籍 ISBN:978-4-10-309637-5 C-CODE:0322


を描き尽くした桁違いの傑作評伝が完成! 神聖ローマ帝国とシチリア王国に君

書籍 ISBN:978-4-10-309638-2 C-CODE:0322


ソースコード読み。 来年はなにかじっくり読もうかねえと思いつつ候補を考えると PHPとか OS (xv6 MINIX3 FreeBSD OpenBSD あたり?) あたりかなあと思いつつ、 HaikuOS なんかはどうだろうかという段階。 GNU APL のコード読みも絶賛停滞中だしなあ。

■_ gawk


If this variable exists, @command{gawk} switches to reading source
files one line at a time, instead of reading in blocks. This exists
for debugging problems on filesystems on non-POSIX operating systems
where I/O is performed in records, not in blocks.


/* get_src_buf --- read the next buffer of source program */

static char *
	int n;
	char *scan;
	bool newfile;
	int savelen;
	struct stat sbuf;

	 * No argument prototype on readfunc on purpose,
	 * avoids problems with some ancient systems where
	 * the types of arguments to read() aren't up to date.
	static ssize_t (*readfunc)() = 0;

	if (readfunc == NULL) {
		char *cp = getenv("AWKREADFUNC");

		/* If necessary, one day, test value for different functions.  */
		if (cp == NULL)
			 * cast is to remove warnings on systems with
			 * different return types for read.
			readfunc = ( ssize_t(*)() ) read;
			readfunc = read_one_line;


	n = (*readfunc)(sourcefile->fd, lexptr, sourcefile->bufsize - savelen);
	if (n == -1) {
		error(_("can't read sourcefile `%s' (%s)"),
				source, strerror(errno));
		lexeof = true;
	} else {
		lexend = lexptr + n;
		if (n == 0) {
			static bool warned = false;
			if (do_lint && newfile && ! warned){
				warned = true;
				sourceline = 0;
				lintwarn(_("source file `%s' is empty"), source);
			lexeof = true;
	return sourcefile->buf;

もう一箇所 getenv("AWKREADFUNC") やっているところがあるんだけどそっちはおいといて

 * This provides a private version of functions that act like VMS's
 * variable-length record filesystem, where there was a bug on
 * certain source files.

static FILE *fp = NULL;

/* read_one_line --- return one input line at a time. mainly for debugging. */

static ssize_t
read_one_line(int fd, void *buffer, size_t count)
	char buf[BUFSIZ];

	/* Minor potential memory leak here. Too bad. */
	if (fp == NULL) {
		fp = fdopen(fd, "r");
		if (fp == NULL) {
			fprintf(stderr, "ugh. fdopen: %s\n", strerror(errno));

	if (fgets(buf, sizeof buf, fp) == NULL)
		return 0;

	memcpy(buffer, buf, strlen(buf));
	return strlen(buf);

やっぱり良く目的がわからんw This provides a private version of functions that act like VMS's variable-length record filesystem



ちんぶろぐ: 大浴場とスマホ 当たり前だが、ここに限らず公衆浴場で「浴場内で携帯電話を使用しないでください」などと書いているところはまずあるまい。 そうかなあ。 何軒か行くけどどこも脱衣場含めて使うなって張り紙あるけどなあ。 ご利用案内|庚申湯|東京都西東京市の銭湯です 浴場内での携帯電話の使用はお控えください。

ぐぐってて、脱衣場でWi-Fi使えますとか 番台で携帯電話の充電できますとかいうところもあった。 その銭湯の脱衣場やらで使って良いのかはわかんないけど。




なんだろうこの本 The Star Factor - O'Reilly Media

情報技術者の社会的責任 第12話 92枚目が


HN、reddit両方で盛り上がってたのでなんJAROと。 Are Your Programmers Working Hard, Or Are They Lazy? : programming Are Your Programmers Working Hard, Or Are They Lazy? | Hacker News

Code rant: Are Your Programmers Working Hard, Or Are They Lazy?

Are Your Programmers Working Hard, Or Are They Lazy?

When people are doing a physical task, it’s easy to assess how hard they are working. You can see the physical
movement, the sweat. You also see the result of their work: the brick wall rising, the hole in the ground
getting bigger. Recognising and rewarding hard work is a pretty fundamental human instinct, it is one of the
reasons we find endurance sports so fascinating. This instinctive appreciation of physical hard work is a
problem when it comes to managing creative-technical employees. Effective knowledge workers often don’t look
like they are working very hard.


To managers I would say, judge people by results, by working software, not by how hard they appear to be
working. Counter intuitively, it may be better not to sit with your developers, you may get a better idea of
their output unaffected by conventional/intuitive indicators. Remote working is especially beneficial; you will 
have to measure your employees by their output, rather than the lazier option of watching them sitting at their
desks 8 hours a day thumping away at an IDE, or ‘helpfully’ crowding around each other’s desks offering
‘useful’ suggestions.


■_ 知らなかった

アレクサンドル・スヴォーロフ - Wikipedia ナポレオンと(ほぼ)同時代の人。 ナポレオン 獅子の時代 コミック 1-15巻セット (ヤングキングコミックス) ナポレオン~覇道進撃~ 5 (ヤングキングコミックス) にも登場してる。んで、

アレクサンドル・スヴォーロフ - Wikipedia


    スヴォーロフ (小惑星)
    クニャージ・スヴォーロフ - ボロジノ級戦艦4番艦。日本海海戦当時のバルチック艦隊旗艦で、同海戦において撃沈。


坂の上の雲 全8巻セット (新装版) (文春文庫)
坂の上の雲 全8巻セット (新装版) (文春文庫) 確かこれ、残業が毎月ン十時間だった頃に終電間際の電車で読んでたのよねえ…

■_ 変数名とか

twitter でみかけた嘆き。

■_ Future plans


Future Plans for C# Another proposal is to allow local variables to be declared using the out keyword. For example, int.TryParse("123", out int x); おお、なんだこのけったいな out は。

Future Plans for VB A more interesting feature is String Interpolation. By using the $" prefix you eliminate the need for explicitly calling String.Format. This in turn eliminates errors caused by miscounting the number or position of the substitution variables. If ( Dim x = GetValue()) > 15 Then Console .WriteLine(x) 意図は分かるが何とも収まりが悪いというか。 慣れ?

メモ。 Agile Walls

■_ Dr. Dobb's

結構良い記事書かれていると思うんだけど InfoQあたりと違って翻訳してるところがないせいか以下略 How Can One Test a Program's Average Performance? | Dr Dobb's これもそうなんだけど、 「Performance Bugs: Not Just Hard To Detect, But Hard To Define」 「Performance Bugs Can Be Hard to Detect」 「Abstraction and Performance Bugs」 辺りも併せて。パフォーマンスバグって結構厄介だと思うんだけどなあ。







COMIC ZIN -コミック・書籍インフォメーション- ニンジャスレイヤー、コミック版でてたのか。ウキヨエカードちょっと欲しかったw

なんじゃろげ Invalid Page | Indiegogo The page you are looking for is currently in "DRAFT" mode and hidden from the public. Please contact the campaign owner if you feel this is in error!

なんじゃろげその2 GitHub · Build software better, together. This repository has been disabled. Access to this repository has been disabled by GitHub staff. Contact support to restore access to this repository.

[ruby-core:59052] Ruby vs glibc-2.18.90 on ARM


Improve Your Testing Capabilities with Bug Hunting Search for the Holy Grail (and test it once found) The Habit of Improving



バーチャファイター20周年記念特設サイト -株式会社セガ- 一番好きなのは 2かなあ。








会社帰りにふらっと入った書店にこれの宣伝ポスターがあった。 著者名がなかった(見えなかった)んだけど、宣伝文句とか絵(写真)の印象から ひょっとしてと思って調べたらやっぱり塩野のおばちゃまだった。 塩野七生『皇帝フリードリッヒ二世の生涯(上)』|新潮社 塩野七生『皇帝フリードリッヒ二世の生涯(下)』|新潮社 上下同時発売なのね。ふむ。

明日録画予約しておこう ドキュメント72時間「巨大書店・活字の森の歩き方」 - NHK


最近こういうのをいろいろ試している。 思ったよりバリエーションがあって楽しい。 Amazon.co.jp: セリオ クリップインファイル A4 SSS-105 20冊セット ライトグリーン: 文房具・オフィス用品 Amazon.co.jp: セキセイ クリップファイル<ダブル> A4 FB-2036-60 ブラック: 文房具・オフィス用品 Amazon.co.jp: LIHITLAB スライドバーファイル10冊パック<厚とじ> A4 G1730-0 白: 文房具・オフィス用品 Amazon.co.jp: セキセイ ファイル クリップインファイル A4-E ブルー SSS-115E-10: 文房具・オフィス用品




sugarsync。 どしよ。

【書評】『シグナル&ノイズ 天才データアナリストの「予測学」』:シロクマ日報:ITmedia オルタナティブ・ブログ この本も出たらすぐ買おうと思ってたんだけど、 予想以上に厚い本だったのでちょっと様子見してる。

■_ ニキシー管時計

Nixie Clock

Nixie Clock

This project is a PIC based Nixie Tube clock. I built this project to give me some more experience with hardware
design and debugging. I wanted to try implementing a switching power supply, so I used two in this build. One
for the high voltage (~170VDC) used to drive the neon filled Nixie Tubes, and another to supply 5V for the rest
of the components on the board. At a high level, I have a PIC18F2550 running the show. The main communication
bus on the board is I2C. I am using a battery backed DS1307 for the real time clock. I use 2x MCP23017 IO
Expanders to run the Nixie Drivers( Russian K155ID1, equivalent to a 74141). The PIC will also host a USB HID
device used to communicate with the computer and receive time / other settings (see bellow).



一つ前へ 2013年12月(上旬)
一つ後へ 2013年12月(下旬)



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