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

I'd just be the catcher in the rye and all. I know it's crazy, but that's the only thing I'd really like to be. I know it's crazy.

The catcher in the rye
J. D. Salinger

著作権保護期間の70年延長に反対

検索エンジン経由でこられた方へ

このページの内容は日々更新されます。 そのため、検索エンジンに引っかかったものがここに残っているとは限りません。

最新エントリ (何日分あるかは不定)

2016年02月12日

■_

ドン・エストリッジきたーっw >「スティーブズ」(雑誌連載の方ね。単行本じゃなく)

Philip Don Estridge - Wikipedia, the free encyclopedia Philip "Don" Estridge

■_

■_ なぞのすくりぷと

bi = []
bi[0] = 0
bi[1] = 0
bi[2] = 0
bi[3] = 0
bi[4] = bi[0] ^ 1
(5..18).each do |n|
  bi[n] = bi[n-4] ^ bi[n-1]
end

puts bi.each_cons(4).collect{|e| e.join }.sort

結果。

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

2016年02月11日

■_

Hacker Newsのコメント欄で紹介される数の多い30冊 - YAMDAS現更新履歴 のを見ると、じゃあ翻訳本が出てないのってどんな本なんだろうとか 気になりませんか? わたしはとても気になります :) というわけで抜き出してみるとこんなかんじでしょうか。

二つ三つ読んでみたいのが。

■_

■_

s/20/40/ - odz buffer ちょっと苦しいけど「元データ」が「20」バイト つーことで :)

■_

Rust は様子見してるだけなんですが Rust vs. C++: Fine-grained Performance

Rust vs. C++: Fine-grained Performance

C++:

int main(int argc, char** argv) {
    std::string name = (argc > 1) ? argv[1] : "/usr/share/dict/words";
    std::ifstream fs;
    std::istream& file = (name == "-") ? std::cin : (fs.open(name), fs);
    if (!file)
        return std::cerr << "file open failed: \"" << name << "\"\n", 1;

And Rust:

fn main() {
    let fname = &*env::args().nth(1).unwrap_or("/usr/share/dict/words".into());
    let stdin = io::stdin();
    let file: Box<Read> = match fname {
        "-" => Box::new(stdin.lock()),
        _ => Box::new(fs::File::open(fname).unwrap_or_else(|err| {
                 writeln!(io::stderr(), "{}: \"{}\"", err, fname).unwrap();
                 process::exit(1);
             }))
    };

Rust のプログラムに対する引数の処理の書き方が面白いな。と。

2016年02月10日

■_

疾風の勇人 / 大和田秀樹 - モーニング公式サイト - モアイ 作者がとあるpodcast(的番組)で言っていたのだけど、 この時期の政治家(を含めた人物)たちの顔ぶれは 幕末のそれに劣らないくらい個性的な連中揃いだと。 ただ、あまりにも近い時代なのでこれまで書きづらさはあったのだけど 現時点ではほぼ鬼籍に入ったのでその気になったとかなんとか (メモったりしてないので不正確だけど概ねこんな感じの発言だったと思う)。

D の $

「等身大」を「実物大」の意味で使われると こう、むずがゆさがですね……

■_

■_

true(1) について。



#! /bin/sh # $OpenBSD: true.sh,v 1.2 1996/06/26 05:41:53 deraadt Exp $ exit 0

OpenBSD は↑なんだけど、GNU coreutils に入ってるのはってーと… coreutils.git - GNU coreutils 全体は各自で見てもらうとして、

coreutils.git - GNU coreutils

/* Act like "true" by default; false.c overrides this.  */
#ifndef EXIT_STATUS
# define EXIT_STATUS EXIT_SUCCESS
#endif

#if EXIT_STATUS == EXIT_SUCCESS
# define PROGRAM_NAME "true"
#else
# define PROGRAM_NAME "false"
#endif

↑こんな部分があったので false.c を見ると coreutils.git - GNU coreutils

coreutils.git - GNU coreutils

#define EXIT_STATUS EXIT_FAILURE
#include "true.c"

わはは。

■_

【セキュリティ ニュース】「Adobe Flash Player」に22件の脆弱性 - 更新は72時間以内に(1ページ目 / 全1ページ):Security NEXT さらに解放済みメモリへアクセスするいわゆる「use-after-free」の脆弱性6件のほか、ヒープバッファフローや型の取り違えといった脆弱性に対応。 use-after-free とかまだ残ってたんかーっ

2016年02月09日

■_

今年の大河ドラマ(意地でもタイトル出してあげない)を見ててやっぱそうだよな と感じたのが、「地図」の重要性ね。 地名だけぱっと出されてもそれがどういった位置にあって どういった場所なのか分かる人はたぶん少数派だと思うし、 それがわかれば勢力争いなんかも 飲み込みやすくなるんじゃないかなあ。などと。

で、三国志だけどこういう本が最近出てたのを見つけた。 図解 三国志 群雄勢力マップ 詳細版 ([テキスト]) にたような本が以前にも出てたみたいだけど 「詳細でない」版? 図解 三国志 群雄勢力マップ (LOCUS MOOK)

戦国の陣形 (講談社現代新書)
戦国の陣形 (講談社現代新書) 戦国の陣形 (講談社現代新書)
戦国の陣形 (講談社現代新書)

■_

■_

今日の新言語 Introduction to the Zig Programming Language - Andrew Kelley

Introduction to the Zig Programming Language - Andrew Kelley

The past few months I took a break from working on Genesis Digital Audio Workstation to work, instead, on creating a new programming language.

I am nothing if not ambitious, and my goal is to create a new programming language that is more pragmatic than C. This is like to trying to be more evil than the devil himself.

■_

Gitのコミットハッシュ値は何を元にどうやって生成されているのか - Mercari Engineering Blog で、sha1_to_hex関数のビット演算のところが若干読みづらいかもしれません。 という記述があるんだけど

Gitのコミットハッシュ値は何を元にどうやって生成されているのか - Mercari Engineering Blog

char * sha1_to_hex(unsigned char *sha1)
{
    static char buffer[50];
    static const char hex[] = "0123456789abcdef";
    char *buf = buffer;
    int i;

    for (i = 0; i < 20; i++) {
        unsigned int val = *sha1++;
        *buf++ = hex[val >> 4];
        *buf++ = hex[val & 0xf];
    }
    return buffer;
}

ふむ? そういうもんなんかなあ>「読みづらい」

それはそれとして、buffer の大きさが50なのはどういう理由からなんだろう? 20バイト(for の繰り返し回数から)を納めるにはちょっと過剰だし、 といってなにか適当なアラインメントにあわせたようでもない。


過去の雑記帖

  1. 2016年2月(中旬)
  2. 2016年2月(上旬)
  3. 2016年1月(下旬)
  4. 2016年1月(中旬)
  5. 2016年1月(上旬)
  1. 2015年12月(下旬)
  2. 2015年12月(中旬)
  3. 2015年12月(上旬)
  4. 2015年11月(下旬)
  5. 2015年11月(中旬)
  6. 2015年11月(上旬)
  7. 2015年10月(下旬)
  8. 2015年10月(中旬)
  9. 2015年10月(上旬)
  10. 2015年9月(下旬)
  11. 2015年9月(中旬)
  12. 2015年9月(上旬)
  13. 2015年8月(下旬)
  14. 2015年8月(中旬)
  15. 2015年8月(上旬)
  16. 2015年7月(下旬)
  17. 2015年7月(中旬)
  18. 2015年7月(上旬)
  1. 2015年
  2. 2014年
  3. 2013年
  4. 2012年
  5. 2011年
  6. 2010年
  7. 2009年
  8. 2008年
  9. 2007年
  10. さらに前
リンクはご自由にどうぞ。

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