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

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

一つ前へ 2015年1月(上旬)
一つ後へ 2015年1月(下旬)

ホームへ

2015年01月20日

■_

これの読書会やるって言ったら人集まるかな From Mathematics to Generic Programming
From Mathematics to Generic Programming

■_

■_

ふむ? Decoding UTF-8 with Parser Combinators

Decoding UTF-8 with Parser Combinators

We all know the absolute minimum every software developer must know about Unicode. We aren’t bad citizens of the internet, spreading malice and encoding errors willy-nilly around the world. We’re good people, just trying to get by.

But knowing the minimum is starting to bother us. And the more we think about UTF-8 and text encoding, the more we realize that we don’t “get it” at a messy, squishy level. We’ve read about it, sure, but we’ve never actually wrapped our hands around it and felt the blood pump through its veins.

So that’s what we’re going to do in this post: grab UTF-8 by the bytes and squeeze some real understanding out of it.

© 2015 Ian Henry

■_

The Perl Jam: Exploiting a 20 Year-old Vulnerability [pdf] | Hacker News のリンク先にあるPDF見たけど結構笑った。

2015年01月19日

■_

ShigeyaさんはTwitterを使っています: "うーん。かなりショッキングな訃報が。LSI-C の開発で有名な森公一郎さんが亡くなったそうです。ご冥福をお祈りします" 遠藤諭さんはTwitterを使っています: "LSI-Cなどで著名な森公一郎さんが亡くなられそうです。何か時代が流れていっている感じです。ご冥福をお祈りもうしあげます。アーカイバのLHAが、LSI-Cとアセンブラ部分が私のAMSCLS.INCというマクロセットで書かれていて、いつもならんでクレジットが書かれていたり。" 近藤 嘉雪さんはTwitterを使っています: "@yoshiyuki_kondo 8ビット版のLSI-Cは、当初森さんと近藤(大学4年のバイト)の2人でコンビを組んで開発していました。森さんがバックエンド(コードジェネレータ)を書き、私がフロントエンドを担当しました。"

そういえばちょっと前に突然プライベートモードになったんだよねここ。 kmoriのネタままプログラミング日記

そしてこっちにはわたしの名前が。 そういやパッチ投げたことがあったなあ… kmoriのネタままプログラミング

謹んで哀悼の意を表します。

■_

■_

元記事はちょっと前のものだけどまずこっちが盛り上がって Why Perl Didn't Win | Hacker News Why Perl Didn't Win | Outspeaking

こういう反応が。 Perl Already Won | Hacker News

2015年01月18日

■_

4.5PさんはTwitterを使っています: "スゲーなぁ今年のセンター試験はw 一行目から 「ネットで教えを垂れる人たち」 っていうなかなかに刺激的な文面で大変に引き込まれる http://t.co/r8feVHnp9z" 自分は「教えてやる蔵」とヒソカに呼んでいた>「教えてあげる君」 (ちょっとニュアンス違うかな)

なんだろこの本 The New Kingmakers | The book about how developers took over the world

ヴァンゲリスの曲に「α」ってのがあるんですが、 この曲に乗せてLTやったら面白いかなーと思ったものの 5分よりちょっと長かったw

Albedo 0.39
Albedo 0.39

■_

■_

クソコードと呼ばない - pblog から RE: クソコードと呼ばない - id:bash0C7の進捗 とか 綺麗な言葉で話しかけても糞コードは糞コード - カレーなる辛口Javaな転職日記 とか

2015年01月17日

■_

センター試験と言えば思い出したくもないことがあああああ ちゃむさんはTwitterを使っています: "【悲報】御茶ノ水駅前でJKに御茶ノ水女子大の場所を聞かれる。 全然、御茶ノ水駅じゃねんだよなあ… 何とか間に合って試験頑張ってください…"

一日ネクタイ締めてて疲れた

■_

2015年01月16日

■_

玉でのガンダムも42話 「宇宙要塞ア・バオア・クー」まで来た。 例の台詞(「あんなの飾りです~」) がこの回なんだけど、 「めぐりあい宇宙」と声優さんの演技がかなり違うなあ(上手い下手ではなく)。

■_

■_

Locale::Maketext::TPJ13 - search.cpan.org これ。 あー、あるあるってな話なんだけど

Locale::Maketext::TPJ13 - search.cpan.org

  printf( $file_count == 1 ?
    ( $directory_count == 1 ?
     "Your query matched %g file in %g directory." :
     "Your query matched %g file in %g directories." ) :
    ( $directory_count == 1 ?
     "Your query matched %g files in %g directory." :
     "Your query matched %g files in %g directories." ),
   $file_count, $directory_count,
  );

これについての HN でのスレッドの最初のコメントどこかで見たなと思ったら 江添さんのところでだった。 A Localization Horror Story: It Could Happen to You | Hacker News

2015年01月15日

■_

またですか アドビ、深刻な脆弱性を修正した「Flash Player」の最新版公開:セキュリティ通信:So-netブログ

うーむどれもこう今ひとつ… パナソニック、Broadwell搭載でバッテリ駆動時間を延長したLet'snote春モデル - PC Watch パナソニック、世界最軽量745gの10.1型2in1 PC「Let'snote RZ4」春モデル | マイナビニュース パナソニック、駆動時間が伸びた14型ノートPC「Let'snote LX4」春モデル | マイナビニュース パナソニック、第5世代Intel Core搭載の12.5型2in1 PC「Let'snote MX4」 | マイナビニュース パナソニック、Broadwellを搭載した12.1型ノートPC「Let'snote SX4」 | マイナビニュース

■_

■_

たいにゃんさんはTwitterを使っています: "Photoshopの回転がずれるというやつ、おそらく内部計算でPI=3.1415927(単精度浮動小数点)であつかわれいて、これを倍精度の回転行列にしたとき3.1415927/3.141592653589...=1.000000014となって" これは 3flab inc. | #Illustrator の左回転/左右反転すると形状が乱れるバグを回避する この話だろうか?

■_

java.text.DecimalFormatの四捨五入が失敗するバグ - Qiita 結局バグではないというのが分かったんですが

java.text.DecimalFormatの四捨五入が失敗するバグ - Qiita

現象
Java8DecimalFormat.java

import java.text.DecimalFormat;
import java.math.RoundingMode;

class Java8DecimalFormat {
    public static void main(String[] args) {
        final DecimalFormat df = new DecimalFormat("0.##");
        df.setRoundingMode(RoundingMode.HALF_UP);

        String hoge = df.format(10.145);
        System.out.println(hoge); // 10.14

        String fuga = df.format(13.555);
        System.out.println(fuga); // 13.55
    }
}
Copyright ©2015 Increments Inc.

>irb --noreadline
irb(main):023:0> sprintf("%20.18f", 10.145)
=> "10.144999999999999574"
irb(main):024:0> sprintf("%20.18f", 13.555)
=> "13.554999999999999716"
irb(main):015:0> [1.145].pack("d").unpack("B*")[0]
=> "0101001010111000000111101000010111101011010100011111001000111111"
irb(main):017:0> [1.145].pack("d").unpack("B*")[0][12,63]
=> "1000000111101000010111101011010100011111001000111111"
irb(main):020:0> [13.555].pack("d").unpack("B*")[0][12,63]
=> "1111110000101111010100101000000111000010101101000000"

バカ正直に変換する以外に何ビットあれば丸めなしに変換できるのか判定できるんですかね。 循環小数はなにか手段があったような気もするんだけど。

■_

これ。 C++11 is dead, long live C++14. (C++14 is now official ISO standard.) : programming

danogburnがC++11 is dead, long live C++14. (C++14 is now official ISO standard.)について記入したコメント

    C++11 is dead, long live C++14. (C++14 is now official ISO standard.)

and I'm just here stuck using c++03....

このコメントにちょっと笑った。

2015年01月14日

■_

風邪/インフルエンザが流行っていたり体調を崩して休む人がそこそこの数でいるので 各自健康管理/体調管理には注意。とはいうが、 あそことかあそことかあそこで年中げほげほやってる連中をどうにかしてくれないんですかいね。

■_

■_ Microsoft BASIC for 6502

6502 はあんまりよく知らないんだけども (6502ベースのマイクロコントローラは仕事で使った。 8bit×8bitの無符号(だったと思う)乗算ができるやつ)。 Microsoft BASIC for 6502 – Original Source Code (1978) | Hacker News 八進数表記の prefix が ^O なのね。なんぞこれ。

Microsoft BASIC for 6502 Original Source Code [1978] | pagetable.com

TITLE	BASIC M6502 8K VER 1.1 BY MICRO-SOFT
SEARCH	M6502
SALL
RADIX 10			;THROUGHOUT ALL BUT MATH-PAK.

$Z::				;STARTING POINT FOR M6502 SIMULATOR
	ORG	0		;START OFF AT LOCATION ZERO.
SUBTTL	SWITCHES,MACROS.

REALIO=4			;5=STM
				;4=APPLE.
				;3=COMMODORE.
				;2=OSI
				;1=MOS TECH,KIM
				;0=PDP-10 SIMULATING 6502
INTPRC==1			;INTEGER ARRAYS.
ADDPRC==1			;FOR ADDITIONAL PRECISION.
LNGERR==0			;LONG ERROR MESSAGES.
TIME==	0			;CAPABILITY TO SET AND READ A CLK.
EXTIO== 0			;EXTERNAL I/O.
DISKO== 0			;SAVE AND LOAD COMMANDS
NULCMD==1			;FOR THE "NULL" COMMAND
GETCMD==1
RORSW==1
ROMSW==1			;TELLS IF THIS IS ON ROM.
CLMWID==14
LONGI==1			;LONG INITIALIZATION SWITCH.
STKEND=511
BUFPAG==0
LINLEN==72			;TERMINAL LINE LENGTH.
BUFLEN==72			;INPUT BUFFER SIZE.
ROMLOC= ^O20000			;ADDRESS OF START OF PURE SEGMENT.
KIMROM=1
IFE	ROMSW,<KIMROM==0>
IFN	REALIO-1,<KIMROM==0>
IFN	ROMSW,<
RAMLOC= ^O40000			;USED ONLY IF ROMSW=1
(略)
SUBTTL	INTRODUCTION AND COMPILATION PARAMETERS.
COMMENT *
--------- ---- -- ---------
COPYRIGHT 1976 BY MICROSOFT
--------- ---- -- ---------
7/27/78 FIXED BUG WHERE FOR VARIABLE AT BYTE FF MATCHED RETURN SEARCHING
	FOR GOSUB ENTRY ON STACK IN FNDFOR CALL BY CHANGING STA FORPNT
	TO STA FORPNT+1. THIS IS A SERIOUS BUG IN ALL VERSIONS.
7/27/78 FIXED BUG AT NEWSTT UNDER IFN BUFPAG WHEN CHECK OF CURLIN
	WAS DONE BEFORE CURLIN SET UP SO INPUT RETRIES OF FIRST STATEMENT
	WAS GIVING SYNTAX ERROR INSTEAD OF REDO FROM START (CODE WAS 12/1/77 FIX)
7/1/78	SAVED A FEW BYTES IN INIT FOR COMMODORE (14)
7/1/78 FIXED BUG WHERE REPLACING A LINE OVERFLOWING MEMORY LEFT LINKS
	IN A BAD STATE. (CODE AT NODEL AND FINI) BUG#4
7/1/78 FIXED BUG WHERE GARBAGE COLLECTION NEVER(!) COLLECTS TEMPS
	(STY GRBPNT  AT FNDVAR, LDA GRBPNT ORA GRBPNT+1 AT GRBPAS)
	THIS WAS COMMODORE BUG #2
7/1/78 FIXED BUG WHERE DELETE/INSERT OF LINE COULD CAUSE A GARBAGE COLLECTION WITH BAD VARTAB IF OUT OF MEMORY
	 (LDWD MEMSIZ STWD FRETOP=JSR RUNC CLC ALSO AT NODEL)
3/9/78 EDIT TO FIX COMMO TRMPOS AND CHANGE LEFT$ AND RIGHT$ TO ALLOW A SECOND ARGUMENT OF 0 AND RETURN A NULL STRING
2/25/78 FIXED BUG THAT INPFLG WAS SET WRONG WHEN BUFPAG.NE.0
	INCREASED NUMLEV FROM 19 TO 23
2/11/78 DISALLOWED SPACES IN RESERVED WORDS. PUT IN SPECIAL CHECK FOR "GO TO"
2/11/78 FIXED BUG WHERE ROUNDING OF THE FAC BEFORE PUSHING COULD CAUSE A STRING POINTER
	IN THE FAC TO BE INCREMENTED
1/24/78 fixed problem where user defined function undefined check fix was smashing error number in [x]
12/1/77 FIXED PROBLEM WHERE PEEK WAS SMASHING (POKER) CAUSING POKE OF PEEK TO FAIL
12/1/77 FIXED PROBLEM WHERE PROBLEM WITH VARTXT=LINNUM=BUF-2 CAUSING BUF-1 COMMA TO DISAPPEAR
12/1/77 FIXED BUFPAG.NE.0 PROBLEM AT NEWSTT AND STOP : CODE WAS STILL
	ASSUMING TXTPTR+1.EQ.0 IFF STATEMENT WAS DIRECT
*

コードは→ M6502.MAC (1978-07-27, 6955 lines, 161,685 bytes)

んで、色々面白いことが記事には書いてある。 こんなのとか。

Microsoft BASIC for 6502 Original Source Code [1978] | pagetable.com

Paul Allen vs. Bill Gates

The source of the 8080 version states:

PAUL ALLEN WROTE THE NON-RUNTIME STUFF.
BILL GATES WROTE THE RUNTIME STUFF.
MONTE DAVIDOFF WROTE THE MATH PACKAGE.

People have since wondered what runtime vs. non-runtime meant, especially since Paul Allen’s recent debate on whether the company’s ownership was faily split.

The BASIC for 6502 source sheds some light on this:

NON-RUNTIME STUFF
        THE CODE TO INPUT A LINE, CRUNCH IT, GIVE ERRORS,
        FIND A SPECIFIC LINE IN THE PROGRAM,
        PERFORM A "NEW", "CLEAR", AND "LIST" ARE
        ALL IN THIS AREA. [...]

So by “runtime” they just literally mean “at run time”: all code that is active when the program runs, as opposed to non-runtime, which is all code that assists editing the program.

By this understanding, we can assume this:
  • Paul Allen wrote the macro package for the MACRO-10 assembler, the 6502 simulator, the tokenizer, the detokenizer, as well as finding, inserting and deleting BASIC lines.
  • Bill Gates implemented all BASIC statements, functions, operators, expression evaluation, stack management for FOR and GOSUB, the memory manager, as well as the array and string library.
  • Monte Davidoff wrote the floating point math package.
Interesting Finds

This code is comparing a keyboard input character to the BEL code. Bob Albrecht is a computer educator that “was instrumental in helping bring about a public-domain version of Basic (called Tiny Basic) for early microcomputers.”.

    CMPI    7               ;IS IT BOB ALBRECHT RINGING THE BELL
                            ;FOR SCHOOL KIDS?

This entry was posted in 6502, archeology on January 13, 2015 by Michael Steil.

2015年01月13日

■_

はてなブックマーク - このコンピュータ書がすごい!2015のランキングと参加レポート(長文)(動画追記あり) のコメントで、 リンク貼っておいて欲しい自著以外にAmazonのリンク貼らない気遣い。 というのが並んでいてちょっと笑った

また別の翻訳サイト? Yakst Yakstは、海外の役立つブログ記事などを人力で翻訳して公開するプロジェクトです。 で、「翻訳待ち」に Why is Golang popular in China? が。

■_

■_ >/dev/null

2015年01月12日

■_

なんじゃろか。 Why is Golang popular in China?

今週は月曜が休みの代わりに土曜日が出勤日になると言ういやーんなパターン。

■_

■_

今月来月の予定を見ていて気になった本とか(例によって買うとは限らない)

■_

これ A Great Python Book Explains Hash Tables | Hacker News Judging by the reviews on Amazon, this book is really an introductory computer science text (which happens to use Python), not a "Python book". というのが気になったので言及先を見ると A Great Python Book explains Hash Tables One example of what's good about this book is the explanation of hashing. とあった。 そういやハッシュテーブルの解説もあったかなああの本。

2015年01月11日

■_

一人二人異論を差し挟みたい方が……w Top Ten Greatest Programmers in the World of all Time

Nexus 7、なんとか再度 Factory Resetかけた。 5.0.2 へのシステムアップデートも来てたので一緒に。 これでまた様子見。

ゲームボーイミクロ

昨日は田園都市線で一日二回の人身事故があったと思ったら 今日は中央線で二回とか。

■_

■_

mrub master changes 2b75316 - mruby master changes で、strlen()代わりにsizeof()を使用するようにしてます。 とあったのが気になったのでコードを確認すると len += strlen(dir) + strlen("/"); これを len += strlen(dir) + sizeof("/") - 1; こうしたということなのね。ふむ。


一つ前へ 2015年1月(上旬)
一つ後へ 2015年1月(下旬)

ホームへ


リンクはご自由にどうぞ

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