tasutenのブックマーク (76)

  • abnf - converter from ABNF to Regexp

    About This is a library to convert ABNF (Augmented Backus-Naur Form) to Regexp (Regular Expression) written in Ruby. It parses a description according to ABNF defined by RFC2234 and some variants. Then the parsed grammar is transformed to recursion free. Although the transformation is impossible in general, the library transform left- and right-recursion. The recursion free grammar can be printed

    tasuten
    tasuten 2014/03/22
    拡張バッカス・ナウア記法(ABNF)を正規表現に変換するRubyライブラリ。gem install abnfでインストール可能
  • 1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256...

    1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256... \(\frac{1}{9998}\)は、4桁で2^13まで2の累乗のパターンが出現する。 \[\frac{1}{9998} = 0.0001\;0002\;0004\;0008\;0016\;0032\;0064\;0128\;0256\;0512\;1024\;2048\;4096\;8193\;6387\;\cdots\] Hacker Newsによれば、これは以下のような理由による。 The pattern will break down once you get past 8192, which is 2^13. That means th\cdots | Hacker News このパターンは8192を超えると破れる。つまり、このパターンはすごいことに52桁も継続

    tasuten
    tasuten 2014/03/14
    チャンパーノウン数とかコープランド-エルデシュ数を彷彿とさせる
  • うっかりチューリング完全になっちゃったもの

    Accidentally Turing-Complete ― Andreas Zwinkau 来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ

  • Is there a regular expression to detect a valid regular expression?

    Is it possible to detect a valid regular expression with another regular expression? If so please give example code below.

    Is there a regular expression to detect a valid regular expression?
    tasuten
    tasuten 2014/03/14
    正規表現パターンとして妥当な文字列にマッチする正規表現パターン(ただしPCREの機能を使用)だそうな
  • JJYシミュレータ

    フリーソフト 電波時計用JJYシミュレータ のページです 更新履歴 2014年3月 PC不要のハードウエア版JJYシミュレータ 販売開始しました。 2011年7月24日 v1.05 送信時刻を現在の西暦とは違う年に設定すると、送信データの日付が正しく計算されず電波時計の校正に失敗する問題を修正しました。 電波時計用JJYシミュレータ とは? 電波時計用JJYシミュレータは、日国内用の電波時計の時刻を任意の日時に調整するためのソフトです。 どんなときに役に立つの? 標準電波が届かない場所、たとえば奥まった部屋の中でも電波時計の時刻調整ができるようになります。 また、電波時計を調整する時刻を任意の時刻に設定できるので、海外に日国内用の電波時計を持っていっても、このソフトを使えば現地の時刻に調整することができます。 ※物のJJYの電波送信所から近い場所(福島県、佐賀県および近隣の県)など強

    tasuten
    tasuten 2014/02/21
    すごい。ざっくり言うとイヤホンケーブルから漏れ出る電波を大鷹鳥谷山の40kHz電波に見立てて(ただし普通のイヤホンは40kHzは出せないのでちょっとしたHackをして)、それで電波時計を合わせるという
  • いかにしてベンチャーの社内ネットワークを構築するか - UNIX的なアレ

    情シス担当者なんていない 現在、nanapiは社員数30名弱くらいの会社規模です。アルバイトさんを含めると70名くらいになりますが、そのうちエンジニアは私を含めて8名。このくらいの会社の規模だと、まだ情シス的な仕事を専門的にやるような人はいません。 当然、ネットワークの専門家もまだ弊社にはいないので必然的にエンジニアの誰かがこのあたりを担当することになります。ベンチャーにおいてだいたいの場合、こういった技術的な行き場の分からない仕事ってのはCTOがやるもんです。 しかし、情シス的な仕事って当に難儀な仕事。動いてて当たり前、高速で当たり前、ちょっとでもネットワークが遅くなるものならその時点ですでに障害です。 外注するという選択肢もありますが、何かしら社内でネットワークのトラブルがあれば少なくともその瞬間はたぶん僕が対応するなり調査するなりすることになります。どうせそうなるのであれば、自分で

    いかにしてベンチャーの社内ネットワークを構築するか - UNIX的なアレ
    tasuten
    tasuten 2013/12/31
  • Regex Golf

    tasuten
    tasuten 2013/12/30
  • [リレーコラム] OSC100回目に向けて(日本UNIXユーザ会(jus) 法林)

    OSPN Press Open Source People Network (オープンソースカンファレンス事務局)から最新の開催情報などを発信! RSS [リレーコラム] OSC100回目に向けて(日UNIXユーザ会(jus) 法林) 11/26 OSPN Press編集部OSC News, コラム No Comments Tweet 日UNIXユーザ会(jus)の法林です。 OSCに関わってきた人々が各々の思い出を綴るリレーコラムですが、私はOSCに おける定番プログラムのひとつであるライトニングトーク(LT)について書きたい と思います。 OSCに参加されている方であればLTについてはご存じかと思いますが、一応、 様式を説明しておくと、持ち時間5分のショートプレゼンテーションです。 5分経過すると強制的に打ち切りになるのが特徴です。 日初のLTは、jusPerlRubyのコミ

    tasuten
    tasuten 2013/11/27
    "日本初のLTは、jusがPerlやRubyのコミュニティと共同開催したYARPC 19101 (http://www.jus.or.jp/events/yarpc19101/)で行われたとされています。"
  • 猫でもわかるPostScriptとPDFの昔話 - ちくちく日記

    はじめに この話はTwitterで大暴れの最強初心者、○嬢の発した ▲一応鍵アカなんでモザイクかけとく と、なんていうかどこから突っ込んでいいやら分からないほど混乱した質問への答えとして書いた連続ツイートを元に多少解説などを加えたものです。 彼女の一連の疑問ツイートなどはご人がTogetterでまとめてますのでそちらをご覧ください(「PDFとPSの関係がわからなくなってきた時のこと」) ここではPostScriptとPDFをDTPの視点から解説しています。簡単に説明するためあえて細かい説明などは省いた部分もあります。 同じように「なんかこの辺よくわかんない…」って思ってるDTP従事者の理解の一助になれば幸いです。 昔話 昔Adobeという神様が、テキストで図形を表現するためにPostScriptという言葉を作りました。この言葉は▲や■などの図形を言葉で表現できました。神様はこの言葉で書

    猫でもわかるPostScriptとPDFの昔話 - ちくちく日記
  • What's "LANG=C" ?

    はてなブログ」に移行しました。 1日1更新……を目指せなくなってきてるブログ。自分の勉強のために作りました。継続は力なり。 今は主にUbuntuとAndroidネタが中心です。 コマンドを、日語環境でなく英語環境で実行したいとき、LANG=Cと付けて実行してやったりする。 $ dateと$ LANG=C dateのそれぞれの実行結果を見比べると一目瞭然。 しかし、このCってのがよくわからん。英語環境を表すのにはenというのも用意されていて、実際に$ LANG=en dateとやると、やはり英語で表示してくれる。 じゃあ、Cって何なのよ。と思い調べてみた。 それで見つけたのが、次のページのこの記述 http://mailman.linuxchix.org/pipermail/techtalk/2002-November/013691.html 'LANG=C' sets the loca

    tasuten
    tasuten 2013/03/18
  • Why does this code using random strings print "hello world"?

    The following print statement would print "hello world". Could anyone explain this? System.out.println(randomString(-229985452) + " " + randomString(-147909649)); And randomString() looks like this: public static String randomString(int i) { Random ran = new Random(i); StringBuilder sb = new StringBuilder(); while (true) { int k = ran.nextInt(27); if (k == 0) break; sb.append((char)('`' + k)); } r

    Why does this code using random strings print "hello world"?
    tasuten
    tasuten 2013/03/08
    擬似乱数でhello world
  • ゲームボーイの CPU : 魔法使いの森--日記2012年01月23日

    前: 最近のうちの子次: インフルエンザ ゲームボーイの CPU  2012-01-23 17:22:01  コンピュータ うかつな事に、1年近く前に「ゲームボーイシリーズが CPU に 8080 を採用」と書いてしまった。 その後、WEB 上の各種ソースをあたるも、みな「Z80」と書いてある。 おかしいなぁ、自分の記憶では、大学時代にバイトしていた会社で閲覧した任天堂公式資料に「8080カスタム」とあった気がするのだが。 (もっとも、社外秘の資料なので当然現在持っていないし、古い記憶なので思い違いかもしれない) しかし、探せばあるもので、ゲームボーイ(以下 GB と書く)の CPU を詳しく解説した資料があった。 家には Z80 の資料はある。これで比較できる… と思ったけど、それじゃ片手落ち。8080 も調べなくては。 で、調べたら、8080 と Z80 の機械語コードを、対比させて網

  • Two decades of productivity: Vim’s 20th anniversary

    Two decades of productivity: Vim’s 20th anniversary The Vim text editor was first released to the public on November 2, 1991, … The Vim text editor was first released to the public on November 2, 1991—exactly 20 years ago today. Although it was originally designed as a vi clone for the Amiga, it was soon ported to other platforms and eventually grew to become the most popular vi-compatible text ed

    Two decades of productivity: Vim’s 20th anniversary
    tasuten
    tasuten 2013/01/16
    Vimの誕生とか歴史について
  • UNIXを学びながら笑ったものいろいろ - 狐の王国

    だいぶ風邪もよくなってきたので起き出して来て、ぼーっとネットを見てる。その隣でid:elm200さんが仕事をしてたりしてるのだが、わりとelm200さんとはUNIXネタで盛りあがる事が多い。 というわけで治りかけの風邪でぼけーっとしてるついでに、俺がUNIXを勉強してたときに見付けた笑える話とかを思い出してみるのもいいかなと。 タイピング矯正ソフトウェア「SL(1)」 UNIXでファイルのリストを取りたいときは「ls」というコマンドを打つのだが、タイピングを誤って「sl」と書いてしまうことがある。SL……蒸気機関車かよ!! などということは誰もが一度は思ったのであろうが、それをホントに実装しちゃったイカれた^H^Hした先達がいらっしゃったのである。 豊田正史とslコマンド (Masashi Toyoda and SL command) これを実行するとターミナルにホントにSL──蒸気機関車

    UNIXを学びながら笑ったものいろいろ - 狐の王国
    tasuten
    tasuten 2012/12/14
  • naoya_t:ポール・グレアムのエッセイと和訳一覧

    ポール・グレアムのエッセイと和訳一覧 (originally maintained by naoya_t) Paul Grahamのエッセイ(原文)と、公開されている日語訳のリストです。 見つけたら or 訳したら、自由に追加して下さい。複数の訳が存在する場合は全て追加してください。 How to Get New Ideas 新しいアイデアを得る方法 (lionfan) The Need to Read 読む必要性 (Shiro) Is There Such a Thing as Good Taste? 良いセンスはあるか? (lionfan) Beyond Smart 知能を超えて (lionfan) Weird Language ヘンな言語 (Shiro) How to Work Hard 全力で働く方法 (lionfan) A Project of One's Own 自分の仕事

    naoya_t:ポール・グレアムのエッセイと和訳一覧
    tasuten
    tasuten 2012/11/24
  • Fine Software Writings

    最近のもの 目標でなく恐怖を明確にすべき理由 (Tim Ferriss) 我々が築き、掘っている未来 (Elon Musk) 表計算ソフト誕生の話 (Dan Bricklin) Linuxの背後にある精神 (Linus Torvalds) 先延ばし魔の頭の中はどうなっているか (Tim Urban) 好きになる仕事はどうしたら見つかるのか (Scott Dinsmore) 人間に新たな感覚を作り出すことは可能か? (David Eagleman) 人工知能が人間より高い知性を持つようになったとき何が起きるか? (Nick Bostrom) 厄介な問題を解決したい? ではトーストの作り方を説明してください (Tom Wujec) 子供の夢を奪う学校というシステム (Seth Godin) 彼らがいなくなってしまう前に (Jimmy Nelson) 頭良さそうにTED風プレゼンをする方法 (W

    tasuten
    tasuten 2012/11/24
  • 二地点の緯度・経度からその距離を計算する(日本は山だらけ〜)

    更新:コードのライセンスを MIT ライセンスに変更しました。(平成二十四年五月十日) 概要 各山のページに、 その山の近くにある別の山のリストを載せようと思い、 二地点の緯度と経度から距離を求める方法について調査しました。 ヒュベニ (Hubeny) の公式を用いると簡単な計算で精度よく距離が求まることがわかりました。 ヒュベニの公式ではいくつか定数が出てきますが、旧日測地系、世界測地系、 GPS で利用されている測地系の 3 種類についての定数を調べ、算出しました。 Java および R のプログラムと合わせて研究成果を報告します。 緯度経度からの距離計算 国土地理院・測地部のウェブサイト [1] に測量に関する様々な情報が載っています。 特に [2] には様々な計算式が載っており、 緯度・経度から距離を計算する式 [3] もあります。 しかしここにあるのは緯度・経度を平面直角座標と

    二地点の緯度・経度からその距離を計算する(日本は山だらけ〜)
  • How many ways can you slice a URL and name the pieces? - Tantek

    How many ways can you slice a URL and name the pieces?07:54 on 2011-08-26 (ttk.me b/4DY1) using BBEdit While researching a way to describe different parts of a URL for a runtime interface, I was shocked to discover that over the years, different specifications, implementations, and communities had developed an incredible variety of ways to slice and name the pieces of a URL. I remember seeing XKCD

    tasuten
    tasuten 2012/11/17
    URLの各部位の呼び方の微妙な違いについて
  • R5RS (Revised^5 Report on Algorithmic Language Scheme) 日本語訳

    back これは Suzuki Hisao さん (suzuki@otsl.oki.co.jp) による、 Scheme の仕様書 R5RS (Revised^5 Report on Algorithmic Language Scheme) の日語訳です。新山が訳したわけではありません。 1999年 3月に fj.comp.lang.lisp に投稿されたものを、新山が コンパイル、変換しました。 R5RS の日語訳としては、犬飼 大さんによる日語訳が多く出回っていますが、 新山は Suzuki さんによる版のほうが読みやすいと思います。 [Gzipped tar, 97k] r5rs-ja.tar.gz Suzuki さんによって最初に fj に投稿された TeX ソースのアーカイブ。 以下のファイルはすべてここから生成しました。 [PDF, 430k] r5rs-ja.pdf P

    tasuten
    tasuten 2012/11/17
  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
    tasuten
    tasuten 2012/11/17