タグ

ブックマーク / mametter.hatenablog.com (7)

  • TypeScriptは型安全じゃないからすばらしい - まめめも

    TypeScriptではじめる型システム」という記事をn月刊ラムダノートに寄稿しました。 新刊を発売しました "『n月刊ラムダノート』Vol.4 No.3(2024)発行のお知らせ https://t.co/PGppk1aRRA— lambdanote (@lambdanote) 2024年10月4日 どんな内容? TypeScriptの極小サブセットに対する型検査器を書き、それを通して型システムを体感してみよう、という内容です。 詳しく言うと、boolean型とnumber型と関数型しかないTypeScriptサブセット言語がターゲットです。 型検査器の実装言語にもTypeScript(処理系はDeno)を使います。 TypeScriptづくしの一品です。 わかる人向けに言うと、「型システム入門」という(通称TAPL)の単純型付きラムダ計算に相当する内容をTypeScriptで説明し

    TypeScriptは型安全じゃないからすばらしい - まめめも
    t_ashula
    t_ashula 2024/10/07
  • アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも

    『Sonny Boy』というアニメが放送されています。学校が異次元に漂流してしまい、超能力に目覚めた生徒たちがサバイバルしながら、さまざまな奇妙な現象の裏にあるルールを解き明かし、元の世界に変える方法を探す、というストーリーです。ルールが分かったあとで何度も見直したくなります。 anime.shochiku.co.jp さて今回、『Sonny Boy』に、プログラムを寄稿しました。プログラムでおもしろいCGを作ったとかではなく、プログラムの実行の様子そのものが『Sonny Boy』の5話の中で放送されました。 こういうプログラムです。 nankai.rb このプログラムがどういうものだったかを解説します。 どんなプログラム? 実行すると、「難解」という文字がほどけてなくなるアニメーションをします。 起動したらまず、プログラム自身が画面に表示されます。 しばらくしたら「難解」が左から右へほど

    アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも
    t_ashula
    t_ashula 2021/09/03
  • Optcarrot: Ruby で書かれたファミコンエミュレータ - まめめも

    ウソみたいな当の話。Ruby でファミコンエミュレータを書いてみました。 気になる速度ですが、自分の環境では 20 fps ちょっと出ます。ファミコンは 60 fps なので、実速の 1/3 です。Ruby3x3 (Ruby 3 は Ruby 2 の 3 倍速い)という matz の宣言が実現すれば、実速が達成されることになりますね! 試してみたい人はこんなふうに実行してください。 $ gem install ffi $ git clone http://github.com/mame/optcarrot.git $ cd optcarrot $ bin/optcarrot examples/Lan_Master.nesSDL2 か SFML が適切にインストールされている必要があります。Debian/Ubuntu なら apt-get install libsdl2-dev で。 Ru

    Optcarrot: Ruby で書かれたファミコンエミュレータ - まめめも
    t_ashula
    t_ashula 2016/04/05
  • Merry Quine-mas - まめめも

    open("/dev/dsp","wb"){|h|s=%q{d=["-KQW[UZbgu*HNT+]TNOOOTZ+cZTUUUUUZbagmssUZbagm ss+wmpgja+KQW[dfnu","-KEKOINV[W*HBH+QHBCCCHN+WNHIIIIINVU[aUUINVU[aUU+YOR[^I+KEK OXZbW","-W[acg vsc*TZ`+eaaaaa--vucavuca+eadsvs+W[dgvrtc","-K991LIL77777dIIIII-- LKKILKKI+Mad[ ^U+K991LHJK"].map{|l|l.unpack("C*").map{|c|[(c/6-4)*12/7-8,"012 35b"[c%6,1]. hex]}*4};y=32.chr;l="@"+[(m="Jnx4sn3sgd1")+"vnqkc!6sgd2Lnqc4gz r4bnld

    Merry Quine-mas - まめめも
    t_ashula
    t_ashula 2009/12/25
  • flagir: 国旗手書き検索 - まめめも

    2016/08/11 追記 Java アプレットと自宅サーバが滅びたので、Android アプリとして作り直しました。 https://play.google.com/store/apps/details?id=io.github.mame.flagir 国旗を描いて検索するアプレットです。国際競技の観戦などのお供にどうぞ。 ref: http://dame.dyndns.org/misc/flagir/ スクリーンショット。 フランス イタリア スイス カナダ ネパール 思った国旗がうまく出ないときは色が微妙に間違ってる可能性があります。明るい青とか暗い青とか変えて試行錯誤してみてください。細かい形は見ていないので、その辺にこだわってもたぶんダメです。 アルゴリズム 飛廉さんに聞いただけのにわか知識。 画像を 3x3 分割 *1 して、それぞれの位置を RGB ごとにヒストグラム *2

  • fisheye view の計算式とプログラム - まめめも

    fisheye view とは、なんかインターフェイスの世界では常識っぽい、フォーカスとなる点を中心に座標をぐにょーんと引き延ばす方法です。日語が不自由ですみません。要するにこういう変換です。 皇居あたりを中心に線路地図をぐにょーんと引き延ばしています。これを実装しようと思って計算式やサンプルプログラムを探したのですが、意外に情報が少なくて手間取りました。なので記録を残しておきます。 種類 参考文献 *1 を眺めたところ、cartesian fisheye と polar fisheye の二種類があるようです。左が cartesian で右が polar です。でもこの例だとほとんど区別が付かないですね。よく見ると端っこの方のつぶれ方が違います。 cartesian fisheye view フォーカスの座標を 、引き延ばしたい点の座標を 、壁の位置を とするとき ( になる) 、引き

    t_ashula
    t_ashula 2007/11/03
  • コードでプレゼン - まめめも

    昨晩は眠かったので、Java への不満を自然言語で語るという男らしくないことをしてしまいました。男は黙ってコードで語れ。ということで「コードでプレゼン」です。 s="1o,%+0s[|JcqM_OF-qdVn'gsbj&lw0)I+[h1rGsG)dMOt{?RzsV'Gj26<m/3[J}3c,*)<)R'?]L@ EEJYUadI8;v2fE=pY$29GE0peF:aF(o~ef8_meJyJeA:4Za|C1kzog}Li5bgMw_`Y]wM5BWuHT8:)yM (oK/XSNCO~_5(T;68|iKpX_{9rCw*{i2o,y_VtFR|1H1NdD^J9T+%&[c2E6]Sub'Va5Q^`OKxjL.vln +yybck|3'oxEFU>ZgXG]~)h(5p.M9%Kv(EvavBc8ktK__sbV;)>3u,Y_xi(7{F[,1/?5XcqipHAB9BV

    コードでプレゼン - まめめも
  • 1