■_
これの読書会やるって言ったら人集まるかな
From Mathematics to Generic Programming
一つ前へ
2015年1月(上旬)
一つ後へ
2015年1月(下旬)
これの読書会やるって言ったら人集まるかな
From Mathematics to Generic Programming
ふむ? Decoding UTF-8 with Parser Combinators
Decoding UTF-8 with Parser CombinatorsWe 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見たけど結構笑った。
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
4.5PさんはTwitterを使っています: "スゲーなぁ今年のセンター試験はw 一行目から 「ネットで教えを垂れる人たち」 っていうなかなかに刺激的な文面で大変に引き込まれる http://t.co/r8feVHnp9z" 自分は「教えてやる蔵」とヒソカに呼んでいた>「教えてあげる君」 (ちょっとニュアンス違うかな)
なんだろこの本 The New Kingmakers | The book about how developers took over the world
ヴァンゲリスの曲に「α」ってのがあるんですが、 この曲に乗せてLTやったら面白いかなーと思ったものの 5分よりちょっと長かったw
Javaにガーベージコレクションってあるじゃん。重要そうなのですが、私の理解はイマイチです。ガーベージコレクションって何ですか?
センター試験と言えば思い出したくもないことがあああああ ちゃむさんはTwitterを使っています: "【悲報】御茶ノ水駅前でJKに御茶ノ水女子大の場所を聞かれる。 全然、御茶ノ水駅じゃねんだよなあ… 何とか間に合って試験頑張ってください…"
一日ネクタイ締めてて疲れた
Writing code is a terrible way for humans to instruct computers. Lucky for us, new technology is about to render programming languages about as useful as Latin.
玉でのガンダムも42話 「宇宙要塞ア・バオア・クー」まで来た。 例の台詞(「あんなの飾りです~」) がこの回なんだけど、 「めぐりあい宇宙」と声優さんの演技がかなり違うなあ(上手い下手ではなく)。
Frink is a practical calculating tool and programming language designed to make physical calculations simple, to help ensure that answers come out right, and to make a tool that’s really useful in the real world. It tracks units of measure (feet, meters, kilograms, watts, etc.) through all calculations, allowing you to mix units of measure transparently, and helps you easily verify that your answers make sense. It also contains a large data file of physical quantities, freeing you from having to look them up, and freeing you to make effortless calculations without getting bogged down in the mechanics.
The BNF Converter is a compiler construction tool generating a compiler front-end from a Labelled BNF grammar. It is currently able to generate C, C++, C#, Haskell, Java, and OCaml, as well as XML representations.
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
またですか アドビ、深刻な脆弱性を修正した「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....
このコメントにちょっと笑った。
風邪/インフルエンザが流行っていたり体調を崩して休む人がそこそこの数でいるので 各自健康管理/体調管理には注意。とはいうが、 あそことかあそことかあそこで年中げほげほやってる連中をどうにかしてくれないんですかいね。
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 FindsThis 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のランキングと参加レポート(長文)(動画追記あり)
のコメントで、
リンク貼っておいて欲しい
と 自著以外にAmazonのリンク貼らない気遣い。
というのが並んでいてちょっと笑った
また別の翻訳サイト?
Yakst
Yakstは、海外の役立つブログ記事などを人力で翻訳して公開するプロジェクトです。
で、「翻訳待ち」に
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.
とあった。
そういやハッシュテーブルの解説もあったかなああの本。
一人二人異論を差し挟みたい方が……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月(下旬)
リンクはご自由にどうぞ
メールの宛先はこちら