ときどきの雑記帖'

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

一つ前へ 2013年4月(中旬)
一つ後へ 2013年5月(上旬)

ホームへ

2013年04月30日

■_

就活「後ろ倒し」で何が変わるのか  | ドクターZは知っている | 現代ビジネス [講談社] 「後ろ倒し」って…「鰻下がり」みたいなもん? (意味が同じということでなく、従来からあった言葉をちょっといじってできたようなもの) 某社の社内サイトでもよく見かけるんだけど、 なーんか気になるんだよなあこれ。

うしろだおし【後ろ倒し】の意味 - 国語辞書 - goo辞書

《「前倒し」に対して作られた語。「あとだおし」とも》予定の時期を先に延ばすこと。先送り。「開始時期を―にする」

…辞書にありやがんの。 「後ろ倒し」という言葉は正しい日本語でしょうか? | 国語のQ&A【OKWave】 「後ろ倒し」、だって…? - Rowing to another dawn.

■_ 文字列の話

ふと、データ構造としての文字列を最初にサポートした プログラミング言語ってなんじゃらほい。と。 ACM SIGPLAN History of programming languages Conferences とりあえずマイナーなのはおいといて、 最初のHOPL の顔ぶれを見ると

History of Programming Languages - Wikipedia, the free encyclopedia

The papers and presentations went through extensive review by the program committee (and revisions by
the authors), far beyond the norm for conferences and commensurate with some of the best journals in
the field.[citation needed] The languages (and speakers) included in HOPL-I were:

    ALGOL 60 - Alan J. Perlis and Peter Naur
    APL - Adin D. Falkoff and Kenneth E. Iverson
    APT - Douglas T. Ross
    BASIC - Thomas E. Kurtz
    COBOL - Jean E. Sammet
    FORTRAN - John Backus
    GPSS - Geoffrey Gordon
    JOSS - Charles L. Baker
    JOVIAL - Jules I. Schwartz
    LISP - John McCarthy
    PL/I - George Radin
    SIMULA - Kristen Nygaard
    SNOBOL - Ralph E. Griswold

この中で間違いなく「文字列型」を持っていたのは BASIC と、SNOBOL。 ALGOL 60 や PL/I、COBOL のそれは「文字列」という型として良いものやら。 FORTRAN はこの時期は77だから一応あり? LISPは…どうなんだろ。

ああ、いや。「起源」というか「元祖」を知りたいのだから 後続なのが確定な言語は今回はどうでも良いのだった。 やっぱり COBOL の PIC がひっかかるんだよなあ。

ところでちょっとこれ読んでみたい The early history of COBOL 15ドルかー Purchase: The early history of COBOL

String (computer science) - Wikipedia, the free encyclopedia Data structure - Wikipedia, the free encyclopedia Data type - Wikipedia, the free encyclopedia

■_

2013年04月29日

■_

インターフェースといえば、以前は会社で買ってたりしてたんだよなあ。 新人の頃は大変ありがたかった(バックナンバーも結構残ってたので)。 とはいえ「経費節減」やらなんやらでだいぶ前に終わってしまったのですが

ああ、computer today やら bit のようなのが読みたい… (Super ASCIIでも可)

■_

なんとなく削除されるような気がするんだけどそれはおいといて

数値計算法 | その他([技術者向] コンピューター)のQ&A【OKWave】

数値計算法の問題です

次の関数を差分せよ

2*(3)^x + 4 * (5)^x

回答の過程を知りたいです
お願いします
数値計算法 | その他([技術者向] コンピューター)のQ&A【OKWave】

数値計算法の問題です
次の関数を差分せよ
(x)^2 * (a)^x

回答の過程を知りたいです
お願いします

数値計算法 | その他([技術者向] コンピューター)のQ&A【OKWave】

数値計算法の問題です

次の関数を差分せよ

(x)^(-1)

回答の過程を知りたいです
お願いします
数値計算法 | その他([技術者向] コンピューター)のQ&A【OKWave】

数値計算法の問題です
次の関数を差分せよ
cos(ax+b)

回答の過程を知りたいです
お願いします
数値計算法 | その他([技術者向] コンピューター)のQ&A【OKWave】

数値計算法
数値計算法の問題です

次の関数を差分せよ

(x+2)/(2(x)^2 + 1)

回答の過程を知りたいです
お願いします

見事な丸投げなのはおいといて、 「差分せよ」というのが引っかかった。 「微分せよ」や「積分せよ」は覚えがあるけど差分もそういう使い方したっけか。 ま、わたしは大学でちょっとやっただけなんであれなんですが。

差分 とは - コトバンク

世界大百科事典内の差分の言及
【差分法】より
…定数h≠0に対して, ⊿f(t)=f(t+h)-f(t)をf(t)の1階差分(単に差分,定差,階差ともいう)といい,
差分を求めることを差分するという。この定義において,t,h,f(t)は複素数であってもよい。… 

へえ。

■_

おー、すばらし。 だいありー 3月後半から4月いっぱいかけて作ってきた Ruby 向け世代別 GC の話を公開しました https://bugs.ruby-lang.org/issues/8339

■_ Go

pragprog から

The Pragmatic Bookshelf | PragPub June 2012 | The Beauty of Concurrency in Go

It's good for you to learn a new programming language from time to time. This is true even if the
language doesn't take off or is ancient. Tackling old problems in a new language pushes you to rethink
your current views, approaches, and habits.

I love trying new stuff, especially programming languages. But after implementing "Hello, world!"
or the Fibonacci sequence in a new language, you usually feel almost nothing, get no taste whatsoever.
You could try implementing the Sieve of Eratosthenes to explore, a little, data structures and maybe
performance. But I wanted something real, something I could maybe even reuse afterwards. So some time
ago I invented for myself a problem that helps me to get the feel of a language in just a few hundred
lines of code.

以下略
The Pragmatic Bookshelf™ is an imprint of The Pragmatic Programmers, LLC.

Copyright © 1999–2013 The Pragmatic Programmers, LLC. All Rights Reserved.

内容はさておき、 This is true even if the language doesn't take off or is ancient. がちょっと気になった。

最後の or のあとの is ancient の主語って文頭の this ですよね… あ、ちがう。the language だ。 the language が take off してないほど新しいものであっても、 それとは逆に ancient なものであっても。ということかー。 やっと納得した。

おさがわせしましたー(で間違っていたら大笑い)

■_

■_

カレンダー通りの出勤なのでなので、火、水、木と出勤ですのじゃ

2013年04月28日

■_

Interface (インターフェース) 2013年 06月号 [雑誌] インターフェース。 あの黒っぽい表紙(判型も違うけど)を若い人は知らないよねえ。きっと。 それはさておき Interface 来月号の特集(残念ながらこのリンクからは分からないけど)が、 C コンパイラーの最適化を信用して、小手先の「最適化」テクニックを弄するのを 止めようとかなんとか言う奴のようで(書店でちょっと見ただけなので細かいところは覚えてない)。 んー、ン年遅れの話題じゃないのという気がしないでも… (取りあげること自体はまあ)

Interface (インターフェース) 増刊 FPGAマガジン 2013年 05月号 [雑誌] んで、こいつも見かけたのだけどまだ買ってない。 2000円オーバーとか。季刊ペースみたいだしこんなもんなのかなあ。 FPGAマガジン 創刊!|Interface編集部ブログ ※ダウンロード版(PDF)も好評発売中! お、こっちのほうがよいかも

FPGA云々だとこれも気になってる FPGAでゼロから作るPCI Express: PC拡張用の定番バスはこうやって動かす (Tech Iシリーズ)

アフタヌーン。 最近になってようやく「零崎双識の人間試験」を読むように。 設定やらなんやら全然わからんw いや、でも最初の一、二回は読んだような気もするなあ。 零崎双識の人間試験(1) (アフタヌーンKC) 零崎双識の人間試験(2) (アフタヌーンKC) 零崎双識の人間試験 3 (アフタヌーンKC) 零崎双識の人間試験(4) (アフタヌーンKC)

小銭入れを探している。 ファスナー使ってるやつじゃなくて、 四方にパッと開く奴でもなく、 できれば大きめの。 東急ハンズ: 革製小銭入れ んー、ないこたないけど結構するのねえ…

■_ 文字列

そいやむかーし、データ構造としての文字列の起源を調べたことがあったような 気がするんだけどどうだったんだっけかw

String (computer science) - Wikipedia, the free encyclopedia Algol 60

■_

新刊、近刊から気になったものを適当に。 買うとは限らない :)

■_

二次対戦のミッドウエイ攻略。: ある、古参のエロゲプログラマー(エログラマー)の戯れ言 いくら何でも間違いがひどすぎな気が。 二次対戦→二次大戦はさておいても、 B24→B25 や 栗田→栗林 の間違いはちと看過しがたいものが。

栗林忠道 - Wikipedia 栗田健男 - Wikipedia ドーリットル空襲 - Wikipedia B-25 (航空機) - Wikipedia B-24 (航空機) - Wikipedia

■_

同じ開発チームの「批評家」とどう接すべきか悩んでいる

この手の話題は Driving Technical Change: Why People on Your Team Don't Act on Good Ideas, and How to Convince Them They Should にもあったような。 翻訳されないかねえ。これ。

■_

2013年04月27日

■_

路線バスでほとんど乗ったことのない路線に乗ったんですが、いやーiPhone便利w とは言っても iPhone でなくてもできる(できた)ことなんでしょうけど。 以下詳細。

30分に1本しか来ない路線だったんですけど、 バス停に着いたのがある発車予定時刻の3分過ぎ。 しかし道は結構混んでいるし遅れることは良くある。 次の予定時刻まで待つのはちょっと厳しいので すでに行ってしまっていたのなら待たずに別ルートで移動したい。

で、バス会社のサイトで運行情報が調べられるようになってたので 確かめたら三つほど前のバス停あたりにいるというのがすぐ分かり、 そのバス停で待ってました。と。 アドエスだと使えないこと多かったからなあ (PC用サイトでも携帯電話用サイトでもダメという…)

■_

そーだったのかー(棒読み) >佐渡先生の愛猫

【先行上映組】宇宙戦艦ヤマト2199 第133話

85 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 21:51:10.19 ID:FrRDAAEs0 Be:
    2話の芹沢「(ヤマトは)融けて蒸発してしまったのでは?」ってセリフ、松本コミック版からのだな。
    実際至近距離で巨大なミサイルが爆発したんだから、その可能性に触れる意味でも正しい引用。 

90 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:05:36.49 ID:PfA1xUuu0 Be:
    >>85
    >松本コミック版からのだな。
    つか
    秋田書店のコミックスで1コマだけ出て来る巡洋艦ムラサメなんて、
    オリジナルアニメにすら出てこないぞw
    2199で初めて出てるからww
    デストロイヤー艦が弾く、沖田艦の主砲の表現なんてもんも、まんま御大のコミックスからw
    松本のkミックスだけは、もう原作扱いでいいよw 

91 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:07:16.45 ID:srakaxmD0 Be:
    >>90
    古代守のハーロック化だけは阻止していただければ・・・。 

92 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:08:51.53 ID:dLOc9BuFP Be:
    >>90
    2199のキービジュアルのコスモガン構えた古代のポーズもコミックス版だしなー 

94 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:13:45.61 ID:Bz0FCx4sO Be:
    >>92
    それを言うなら5章BDのパッケージ絵の、肩にトリを乗せたドメルと嫁とドメラーズなんざ、ハーロックとミーメとアルカディア号そのまんま。 

95 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:18:41.91 ID:FrRDAAEs0 Be:
    >>90
    ムラサメもそうだったか、コミック見返してみる
    >>91
    古代守の扱いについては
    ・旧アニメ版そのまま
    ・収容所惑星で再会
    ・ハーロックに準ずる立場でヤマトを援護する
    ・洗脳されガミラス将校として立ちはだかる
    てな予想があるけど、どれかな。俺は3番目と思ってたら生前の西崎がダメ出ししてたとか?

    >>93
    そうなのか……取り巻きと信者相手にいまだそういうこと言ってるてのは正直残念だな。
    俺が心の師と仰いだ松本零士はもう居ないのか…… 

96 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:21:51.63 ID:SHz/L3Gh0 Be:
    >>95
    ハーロック名乗ってヤマト助ける余裕があるなら
    リバースシステム持って急いで地球に帰ってこい、になるな 

101 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:29:05.02 ID:kWZpf3xi0 Be:
    今作のドメルが自宅で飼ってるらしき鳥さんも、松本世界特有の首長鳥だったしな 

103 名無しさん@お腹いっぱい。 [sage] 2013/04/26(金) 22:33:30.46 ID:UCEErP+V0 Be:
    >>101
    あれは、ヤマト用にデザインされなおした鳥さんだから使用可能なんだそうだ。
    逆にミーくんは流用だから駄目だったそうで… 

■_

なんつーか、Javaに対する風当たり強いっすよね。 弁護も反論もするつもりはないのだけど JavaEE.Next(): Java EE 7, 8, and Beyond Reza Rahman shows code samples for some of the APIs coming in Java EE 7, such as JMS 2, WebSocket, JSON, JAX-RS 2, JPA 2.1, JTA 1.2, etc. and takes a peek at Java EE 8 features to be expected.

■_

んー、一つの言語に絞ってあの本のような内容ってどうも良く想像できないんだけど どうなんだろか。

脚注というか欄外に色々書かれている本にはこういうものがあったなあと 攻殻機動隊 (1)    KCデラックス 攻殻機動隊 (2)    KCデラックス 攻殻機動隊1.5 HUMAN ERROR PROCESSER (KCデラックス (2453))

長めに色々書こうと思ったけど止めとこう。

■_

■_

うー、積ん読山の「厚い本」、「大きい本」に手を出す元気がなっしんぐ

2013年04月26日

■_

色々ピンチ

■_ 脆弱性

どういう風に exploitされたのか知りたくはある Java Still Vulnerable, Despite Latest Patches

Java Still Vulnerable, Despite Latest Patches

Just days after the latest fix, security researcher Adam Gowdiak has found another Java vulnerability.
In the accompanying disclosure post Gowdiak notes that the Reflection API flaw affects all versions of
Java SE 7 and, "can be used to achieve a complete Java security sandbox bypass on a target system".
The vulnerability exists in both the plug-in/JDK software, and also in the Server JRE. Exploitation via
the web browser does require a user "to accept the risk of executing a potentially malicious Java
application when a security warning window is displayed," Gowdiak wrote.

■_ Using checklists for code review

Using checklists for code review コードレビュー用のチェックリストを使おう。とか。 security の項目を見るとこんな感じ

■_

■_ What Makes Code Hard to Understand?

コードの理解を難しくするもの。 What Makes Code Hard to Understand? : programming 結構伸びているのでどんなもんだろうとリンク先を見ましたら

[1304.5257] What Makes Code Hard to Understand?

What Makes Code Hard to Understand?
Michael Hansen, Robert L. Goldstone, Andrew Lumsdaine
(Submitted on 18 Apr 2013)

What factors impact the comprehensibility of code? Previous research suggests that expectation-congruent
programs should take less time to understand and be less prone to errors. We present an experiment in
which participants with programming experience predict the exact output of ten small Python programs. We
use subtle differences between program versions to demonstrate that seemingly insignificant notational
changes can have profound effects on correctness and response times. Our results show that experience
increases performance in most cases, but may hurt performance significantly when underlying assumptions
about related code statements are violated. 

論文ぽいですわね…

2013年04月25日

■_

日経ソフトウエアのYさんの新連載をみてナゼか涙が

■_ マクロつき

lihaoyi/macropy · GitHub

lihaoyi/macropy · GitHub

MacroPy

MacroPy is an implementation of Macros in the Python Programming Language. MacroPy provides a mechanism
for user-defined functions (macros) to perform transformations on the abstract syntax tree(AST) of
Python code at module import time. This is an easy way to modify the semantics of a python program, and
has been used to implement features such as:

    Quasiquotes, a quick way to manipulate fragments of a program
    String Interpolation, a common feature in many languages
    Tracing and Smart Asserts
    Pattern Matching from the Functional Programming world
    LINQ to SQL from C#
    Quick Lambdas from Scala and Groovy,

All of these are advanced language features that each would have been a massive effort to implement in
the CPython interpreter. Using macros, the implementation of each feature fits in a single file, often
taking less than 40 lines of code.

MacroPy is very much a work in progress, for the MIT class 6.945: Adventures in Advanced Symbolic
Programming. Although it is constantly in flux, all of the examples with source code represent
already-working functionality. The rest will be filled in over the coming weeks.

以下略

準クォートもあるのね

■_

■_

カーニハン大先生の講義らしく COS 333, Spring 2012: Home Page

COS 333, Spring 2012: Home Page

Syllabus:

This syllabus is always subject to change. Each topic will take roughly one week; there's no guarantee
that we will cover all of them, nor in any particular order.

    regular expressions, grep, shell
    scripting languages: shells, Awk, Python, others
    web systems: HTTP, CGI, HTML, CSS
    Javascript, DOM, Ajax
    frameworks, development environments
    databases; network plumbing
    graphical user interfaces
    object-oriented programming, C++, STL
    component-based software: .NET
    web services: XML, JSON, REST, ...
    APIs, design patterns
    etc. (maybe) 

HNにはビデオで公開したりはないのかという意見も。 そりゃ同意する。

2013年04月24日

■_

えー、怪しげな呑み会に参加したため、まとめたり書いたりする余裕がありません。

■_

■_

そういや、エディターの色分け表示の元祖も気になる。

■_

例によってあそこ。

C#の非同期の落とし穴

時々 1 つの言語の落とし穴を理解する最良の方法は、別の言語がそれらをどのように防いでいるかを参考に
することである。Real-World Functional Programmingの著者であるTomas Petricek氏は、非同期なC# コード
に見られる6つの一般的な誤りについて説明し、どのように F# がそれらの発生する可能性を少なくしている
かを示している。
Asynchronous Gotchas in C#

Sometimes the best way to understand pitfalls in one language is to see how another language prevents
them. Tomas Petricek, author of Real-World Functional Programming, discusses six common mistakes found
in asynchronous C# code and demonstrates how F# makes them less likely to occur.

確かに 「sometimes」 だけきりだせば「時々」となるんでしょうけども、 いくら何でもこの訳はないんじゃないかなあ。

2013年04月23日

■_

しばちゅーさんも「泣いて馬謖を斬る」のエピソードまできた。

史上最初の、デバッガーとかデバイスドライバーとかいつ頃できたんだろかいね。

■_

これ。言及記事は9年前に書かれたあれなんですが、今同じことを言うとしたら 9年前のPythonのところにはどんなプログラミング言語がくるだろうか。という。 Paul Graham's "The Python Paradox", from almost 9 years ago. What language is playing this role today? : programming

お手軽に、 ページをコピーして、 全部小文字にして、 余計な行を取り除き、 記号類をできるだけ消して、 一行一単語にして、 sort して uniq して(sortでまとめてやってもいいですが)、 出現回数の降順でsortして、 プログラミング言語の名前っぽいものを探すと

    633 the
    533 to
    501 a
    412 i
    405 and
    348 of
    314 that
    292 is
    277 in
    240 you
    240 it
    190 for
    146 but
    135 on
    134 with
    132 not
    128 its
    126 be
    122 are
    117 have
    109 they
     95 code
     93 just
     92 my
     89 if
     88 was
     88 as
     85 language
     81 this
     81 like
     81 at
     77 so
     72 or
     68 because
     66 can
     64 more
     60 than
     59 what
     59 get
     58 an
     58 about
     57 would
     56 when
     55 who
     55 people
     55 dont
     54 use
     53 think
     52 very
     51 your
     51 one
     51 from
     50 im
     49 then
     49 all
     48 do
     47 python

最初に出てきたのはPythonですがこれはまあどういう形で文中に出たかわからんのでアレですね

     25 java

だいぶ下ってつぎはJava。

ここからいくつか連続して抜き出すと

     24 javascript
     21 c#
     16 clojure
     16 c++
     12 haskell
     12 c
     11 php
     11 js
     11 go.
     10 lambda
      8 c++11
      7 scala
      7 java,
      7 haskell,
      7 cplusplus11
      7 c++,
      6 vb.
      6 ruby
      6 rails
      6 python.
      6 lisp
      6 java.
      6 c++11
      5 vb
      5 scala.
      5 go,
      5 dart
      5 clean
      5 c,
      5 basic
      4 scala,

一回だけ名前が出たものに面白いものが

      1 apl.
      1 agda,

ちゃんと文章も追いかけないとだめかなあ

■_

まだちょっとしか見てない(未完成だし)んで何とも言えないところがあるんだけど、 この本翻訳されないかなあ。とはいえ「Hard way」だしなあw
Learn C the Hard Way: A Clear & Direct Introduction To Modern C Programming
Learn C the Hard Way: A Clear & Direct Introduction To Modern C Programming

■_

2013年04月22日

■_

東スポの連載コラムでタイガースに在籍していたランディ・バースを取りあげているのがあるんですが、 あの時代の外国人選手(日本人選手もだろうけど)って、江川をかなり持ち上げているんですよね。 なんのかんのいっても「怪物」だったんだなあ>江川 江川卓 (野球) - Wikipedia とはいえ、同時期に活躍していた投手の名前を挙げろと云われれば自分はやはりこのお方に 遠藤一彦 - Wikipedia

■_

sponge(1) - jarp, moreutilsパッケージにspongeという名前のコマンドがある。 気になったのでちょっと見てみた >moreutils

moreutils

chronic: runs a command quietly unless it fails
combine: combine the lines in two files using boolean operations
ifdata: get network interface info without parsing ifconfig output
ifne: run a program if the standard input is not empty
isutf8: check if a file or standard input is utf-8
lckdo: execute a program with a lock held
mispipe: pipe two commands, returning the exit status of the first
parallel: run multiple jobs at once
pee: tee standard input to pipes
sponge: soak up standard input and write to a file
ts: timestamp standard input
vidir: edit a directory in your text editor
vipe: insert a text editor into a pipe
zrun: automatically uncompress arguments to command

zrun ってのは実行ファイルが圧縮されてんじゃなくて(実行時に伸長。lzexeとかdietとかそんなん)、 引数が圧縮されてるのを伸長してコマンドに渡すと。

■_ Most difficult bug

The Most Difficult Bug : programming 経由で。 なんかこの記事しかないっぽいんですがこのブログ。 Brain Dump (english): The Most Difficult Bug

Brain Dump (english): The Most Difficult Bug

The Most Difficult Bug

It's a classic interview question: what was the most difficult bug you ever fixed? In my case, the bug gave me a lot of trouble, and for a curious reason: the bug was not in the code, instead it was between the chair and the keyboard!
Brain Dump (english): The Most Difficult Bug

The Story

This story takes place in 1998. At the time, I was writing BrMSX, the first Brazilian MSX emulator
(if you're not familiar with MSX, it was an 8-bit computer popular in East Asia, Europe and South
America). I was taking extra care in the implementation: the emulator should be fast enough to run at
full speed in the machines available at the time, and had to be precise enough to be indistinguishable
from a real MSX.

The first objective was reached by writing the emulator in Assembly, the second by using a solid
testing methodology. I didn't know about unit testing yet, but for each new feature, I always wrote a
test program, and compared the program output in the emulator and in a real machine.

Early versions of my emulator were mute, I was only emulating the CPU and the video chip. When those
two were stable, I started writing emulation of the audio chip: the AY-3-8912 from General Instrument,
also known as PSG. This chip has three sound channels and one noise channel, the noise was used to make
sound effects (such as gunshots and explosions), and also to make percussion sounds (such as drums).

To check if my noise implementation was correct, I made the following MSX BASIC code:

  10 SOUND 7,183
  20 SOUND 8,15
  30 FOR I=8 TO 1 STEP -1
  40 SOUND 6,I
  50 PRINT I
  60 FOR J=0 TO 300: NEXT J,I
  70 BEEP

The magic numbers in code are scary, but their meanings are simple: register 7 is the mixer, a value
of 183 turn on the noise generator in channel A, and turn off all the rest. Register 8 is the volume of
channel A, setting it to 15 is the maximum volume. Finally, there's a loop changing the value of
register 6, which is the noise frequency.

We expect this program to play some noise with a constant volume, at first with a low pitch, and then
gradually becoming a higher pitch. That's in theory. On practice, however, something else happened!

The Bug
以下略

バグの原因が果たしてどう言ったものだったのかは元記事を読んでのお楽しみ :)

エミュレーターを書くのになかなか楽しいこと(x86で、割り込み禁止にしてSPレジスターを 汎用レジスターのように使っちゃうとか)やってたらしい。

■_

■_

自分もこんな感じ。 あらかた訳しといて闇に葬ったのがいくつか…w まああまり「大物」には手を出していないのだけど

■_

なんかここ数日、誰それの新刊の献本を受けたというのをやたらと見かけてて (数えてはないけど、二桁には行ってると思う) ちとぐぬぬとなっているのですが(謎)、 それはさておき
あ、「献本」の使い方がどうこうというのではありません。念のため。

書評『コーディングを支える技術』(西尾泰和・著) - delirious thoughts

西尾泰和さん (@nishio)の新刊『コーディングを支える技術』をご恵贈いただきました。ありがとうございます。

恵贈 とは - コトバンク けいぞう【恵贈】の意味 - 国語辞書 - goo辞書 尊敬語文例「与える・やる」ご恵贈 ご恵投 ご恵与:敬語の使い方マニュアル 寄贈と恵贈 - Yahoo!知恵袋 へえ。

■_

■_

時間切れー Damn Excel – How the 'most important application' is ruining the world | Hacker News How Excel is ruining the world - The Term Sheet: Fortune's deals blogTerm Sheet Ruby is too slow for programming competitions - Clif Reeder Ruby is too slow for programming competitions : ruby Ruby is too slow for programming competitions | Hacker News Remembering a Revolution That Never Happened Remembering a Revolution That Never Happened : programming

2013年04月21日

■_

日本のオライリーさんもちょくちょくやってくれないものかしら。 値引きセール。 Save 50% on Oldies and Goodies Ebooks - Deals - O'Reilly Media

20日発売号を見ても次号予告になかったと思うんだけど 次号にMASTERキートン掲載っぽい。 小学館コミック -ビッグスリーネット-[ビッグコミックオリジナル:次号予告]

■_ static vs. dynamic

有料かあ

Dynamic variables

Most programming languages use static scope rules for associating uses of identifiers with their
declarations. Static scope helps catch errors at compile time, and it can be implemented efficiently.
Some popular languages—Perl, Tel, TeX, and Postscript—offer dynamic scope, because dynamic scope works
well for variables that “customize” the execution environment, for example. Programmers must simulate
dynamic scope to implement this kind of usage in statically scoped languages. This paper describes the
design and implementation of imperative language constructs for introducing and referencing dynamically
scoped variables—dynamic variables for short. The design is a minimalist one, because dynamic variables
are best used sparingly, much like exceptions. The facility does, however, cater to the typical uses
for dynamic scope, and it provides a cleaner mechanism for so-called thread-local variables. A
particularly simple implementation suffices for languages without exception handling. For languages with
exception handling, a more efficient implementation builds on existing compiler infrastructure. Exception
handling can be viewed as a control construct with dynamic scope. Likewise, dynamic variables are a data
construct with dynamic scope.

■_ Ada

Ada で書き直し。なんだろか? AdaDoom3/AdaDoom3 · GitHub

AdaDoom3/AdaDoom3 · GitHub

The aim of Ada Doom3 is to re-engineer the id-tech 4 engine with a clear dependency hierarchy, and
robust tasking systems along with many other improvements.

Planned features

    Load and play doom 3 bfg levels.
    Native ports for Windows, Linux X Windows, Mac OS, and SDL.
    Input support for generic and all major game-pads.
    Multi-monitor windowing.
    Threaded rendering with support for using multiple graphics cards.
    SIMD math library.
    Responsive multi-player.
    Steam support for user accounts and achievements.

Dependencies

This code uses Ada 2012 features, your compiler will have to at least support the aspect with clause.

んで、reddit での反応にこういうのが Ada-port of Doom 3 engine (id Tech 4) commencing : programming

Ada-port of Doom 3 engine (id Tech 4) commencing : programming

Ada is one of the more interesting of the "boring" languages.

I guess it would only need a "We implemented some core technology in Ada." from one of the cool
companies (Google, etc.) and it would be pushed to the more popular spectrum of programming languages.

Ada is one of those mythical languages that not many CS majors ever use. I do wonder if it's good

I had to do a concurrent systems assignment in it. A simple concurrent maze solver, which basically
turned into a parallel flood fill. I found it a little awkward to write because the compiler kept
correcting me, but it was quite easy to read (which I suppose is more important, especially for
safety-critical stuff) and the compiler kept catching genuine errors.

It had some of the nicest syntax for concurrency that I've seen, but I haven't played much with Erlang
so I can't comment on it there.

It was also the first time I saw a compiler spellcheck identifiers, which BLEW ME AWAY.

■_

■_

また「RSS配信しろ」というお叱りをうけるなど。


一つ前へ 2013年4月(中旬)
一つ後へ 2013年5月(上旬)

ホームへ


リンクはご自由にどうぞ

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