2014-01-01から1年間の記事一覧

Arduino leonardoはUSB機器としてちょっと特殊だ、という話

ひとつの機器に複数の機能が付いてるようなUSB機器には、実は異なる構成があり、一例としてArduino leonardoはちょっと特殊だ、という話です。 USB compound device まず、論理的にはハブにぶら下がってるようなのがcompound deviceですが、これはOS側から問…

チャート式(参考書)とかアルフォート(チョコレート菓子)とかの帆船

チャートとアルフォート完全に一致wwwwwwwwww URL2014-05-04 20:02:55 via Twitter for Android(画像 https://twitter.com/Taisay_Nothing/status/462910236186013697/photo/1 ) 元ネタなんかあるかな? > チャート式とアルフォートの船の絵2014-05-04 22:46:39 via …

マクロ、拙作のテキストマクロ言語m55について主に

テキストマクロプロセッサとは何か Lispのマクロはテキスト変換ではなく、リスト(ないし多分木)からリストに変換するものですから、まず除外されます。とは言えたいていのプログラマがマクロと言ってまず思い浮かべるのはCプリプロセッサでしょうから、こ…

m4のifelseをプリミティブでなく定義する

ifelseマクロ マクロプロセッサm4にはifelseというプリミティブがあり、次のようにして条件分岐(条件式)をマクロとして書くことができます。 $ cat sample.txt define(`foo',``hoge'')dnl define(`bar',``hoge'')dnl ifelse(foo,bar,`true',`false') defin…

プリティプリントという語の幅について ――主としてジャーゴンファイルを参考に

ジャーゴンファイルの「prettyprint」には、語義1としてこうある。 To generate ‘pretty’ human-readable output from a hairy internal representation; esp. used for the process of grinding (sense 1) program code, and most esp. for LISP code. http…

strftimeの %G とは何か?

手元のFreeBSDでman strftimeとしてマニュアルを読むと、 %G is replaced by a year as a decimal number with century. This year is the one that contains the greater part of the week (Monday as the first day of the week).とあります。これだけでは…

RISCじゃないものはCISC?

坂村先生がなにかで引用してたのだが、パタヘネのパターソンさんが、バークレーRISCの論文の再録にあたっての著者による解説の中で、原論文では8086は「複雑vs単純」の単純のほうとして例示している(比較対象はiAPX432)のに8086をCISCとか誰がwwww みたい…

ce3tosvg について

GitHubに置きましたが( http://github.com/metanest/ce3tosvg )、水魚堂さんの「水魚堂の回路図エディタ」BSch3V( http://www.suigyodo.com/online/schsoft.htm )の保存形式である .ce3 ファイルから、直接SVGファイルを生成するスクリプトです。(私が…

先日見たリマスタ版の初ゴジのメモ

運良く連絡もつき、特撮ファンの元同級生と見ることができました。以下メモ 博士のカメラはキヤノンか? 芹沢博士宅の居間のラジオ...「オンキヨー」? 居間ではなく地下の秘密研究室にテレビがある 本部でちらっとテレビが映るが、地下室のセットを模様替え…

NSLで一斉射撃問題

一斉射撃問題の一次元セルラーオートマトンをNSLで作ってみました。 一斉射撃問題自体についてはWikipedia(wikipedia:en:Firing_squad_synchronization_problem)を見てください。 {m55_changebracket|`${'|`}$'}${m55_dnl}$ ${m55_changepre|@}$${m55_dnl}…

「NASAがワープ宇宙船」の件

報じているのが cnn.co.jp なのでわりと広まってる感じがするのですが、ざっと検索したりしてわかった範囲のことをまとめてみます。 これがワープ実現の宇宙船――NASAが画像公開 写真特集:これがワープ実現の宇宙船 これはそんなにガチで検討されたイラスト…

XSLとSVGで「プログラムでシダを描画する」

XSLとSVGで(JavaScript無しで)「プログラムでシダを描画する」をやってみました。再現度は低いですが、これ以上描き込むと処理が重くなり過ぎるのでこの程度で止めています。リンク先を見てください(注意: ものすごく処理が重いです。手元の環境で、15秒…

XSLとSVGで描く高木曲線

jsdoに投稿しましたが( http://jsdo.it/metanest/mDKW )jsdoではXSLとSVGを見るのが面倒なので、ここでフォローしておきます。高木曲線自体についてはウィキペディアを( wikipedia:高木曲線 )参照してください。 まぁ見たままですので、解説は特に必要な…

一人GitHub会議・お気に入りのX言語のシンタックスハイライトがおかしかったらどうすればいいのか?

6/1開催のGitHub会議( http://githubkaigi.org/ )合わせのネタです。 お気に入りのX言語のシンタックスハイライトがおかしかったらどうすればいいのか? たとえばAwkスクリプト(例: https://gist.github.com/metanest/8747791 )のシンタックスハイライト…

マージソート解説

最初にソースコードを示します。 まずimportで、ちょっと変なことをしていますが、これはstream-fusionパッケージのリストインタフェースを使うためのおまじないです。Preludeから隠す名前を明示するのでも良いのですが、ここでは使う名前のみをインポートす…

foldrでタプルを渡す場合の注意

foldrはその定義から、無限リストに対しても使うことができますが、時には注意が必要です。たとえば、タプルを受け渡すような場合には注意しないと、無限リストに対して止まらなくなります。Stackoverflowで見掛けたリストを2本に分けるコード http://stacko…

Windowsの(NTFS)起動パーティションの移動とHidden Sectors

作業した時にはさんざん困ったのに、メモを残していなかったので、有用であれ、という意図のもとに公開メモとします。以下Unixのddユーティリティを普通に使える程度のスキルを想定した説明です。NTFSパーティションは、ddでまるごとコピーしても一応問題な…

JavaScript でコマンドラインアプリを書く時もイベントループを無視したらダメ(なことがある)という話

先日書いた電卓に関して、そのための十進演算ライブラリのテストを書いていてはまった、という話。一般に JavaScript によるブラウザアプリはイベントドリブン型で書かないといけないわけだが、総当たりチェックのコマンドラインアプリを作り Node.js で実行…

電卓考(draft)

世界で最もポピュラーなディジタルガジェットと思われる電卓であるが、いろいろと考えてみるに、歴史的な理由による制限や互換性を保つために不自然な設計になっている部分があるように思う。特にコンピュータ上のGUIアプリでは、たとえばコストを気にせず表…

chainl の正体

山本さんの「chainl と左再帰」( d:id:kazu-yamamoto:20110127:1296098875 )を読んでいて(ほんの)少々混乱したのと、Parsec の chainl は、結局どうやって使ったらいいのよ、というのを簡単にまとめておく。背景説明はどうでもいい人は最後のサンプルま…

『教養としてのプログラミング講座』と『入門 コンピュータ科学』と『はじめてUNIXで仕事をする人が読む本』

なんとなく相補的な関係にありそうな本がまとまって出た気がするのでちょっと書いてみる。 「ケンカ剣法」なる剣法がある。ちばてつやさんの漫画『おれは鉄兵』の主人公、上杉鉄兵の剣法で、正統じゃないんだけれども滅法強い、という。正統派というのは極め…

数値計算や事務処理以外にも、黎明期(1960年代)からコンピュータの応用はあった、という話

コンピュータ史ってどうしても情報屋さんか計算屋さんからの視点になりやすいけど、生産プロセス管理とかフライトシミュレータとかの応用も黎明期からある2014-04-10 14:58:19 via mikutterこんなツイートをしたわけですが、実例とかを挙げてもうちょっと書…

LSI C-86 の最適化

ちょっと前にうろおぼえでこんなツイートをしていたのですが、 末尾再帰の最適化は、トイ問題な例だけど、階乗の関数をLSI C-86試食版コンパイラにループにさせるのが面白かったな。引数の順序とかをいじると、かなり人間が書くようなコードに近づく。2014-0…

M4の定義混在モデルにより可能なこと

M4入門( http://metanest.jp/m4intro/ )のサプリメンタリーのような内容です。 M4は基本設計がシンプルイズベスト、という感じのところがあり(ストレイチーさんによるGPMはたった250語で実装されていたそうです)、いろいろと「現代風に作り直したら?」…

いくつか思っていること

(メーヴェを実物化したOpenSkyプロジェクトの機体を設計した)オリンポス飛行機のレポート『ソーラープレーン』( http://www.ac-olympos.com/report/report05.html )を見て、日頃思っていることといくつか一致したのでメモ。 『鳥人間コンテスト』の人気…

サンストリート浜北への交通機関

自家用車等 よーするに完全なロードサイドの(超)大型ショッピングモールですので。 遠鉄浜北駅まで輪行、駅から自転車 歩けない距離でもなくもなくもない、ぐらい。自転車(たぶん A-bike でも)ならたいした距離ではない。 集団で行って浜北駅からタクシー …

unexpand.awk の解説

Gist https://gist.github.com/metanest/8747791 なんでこんなものを作ったのか きちんとインデント付けされたソースコードであれば、少々の微妙な点もありますが、expand(1) と unexpand(1) を適切に組み合わせて、任意のインデントスタイルに変更できます…

'80s Raleighレストア日記(ものすごく不定期)BBが届いた

JavaScript と Scheme について

清水さんの「これがプログラミングの神髄だ! ファイナルファンタジーのプログラマーが明かす秘密とLispトークバトル!」( http://d.hatena.ne.jp/shi3z/20140123/1390429115 )にある、 もともとJavaScriptはLispの方言であるschemeをベースとして開発された…

'80s Raleighレストア日記(ものすごく不定期)ペダルが今も生産されていた、の巻

OEMによる生産元が判明したわけですが、もうちょっと追っかけてみたところ、驚きの事実が発見されました。 こちらのペダルがクランクから外した30年もののペダル。 そして、こちらが現行で生産されているペダル。 ほ ぼ 一 致 !! (アスペクト比が少し違う、…