[go: up one dir, main page]

タグ

ブックマーク / www.tumblr.com (16)

  • Post by @ttrftech · 3 images

    LuaRadioというスクリプトベースのSDRツールキットがあることに気がつきました。GNURadioが超弩級のツールキットであることに対して、LuaRadioはとても軽量なのが特徴だそうです。少し試してみたところ、なかなか良さそうでしたので紹介します。 LuaRadioはその名のとおり、Luaというスクリプト言語をベースにしています。Luaは非常に軽量で、組み込み言語として使われていたり、小さなMCUでも動作したりしています。しかもJIT (Just In Time)コンパイラを利用可能で、実行効率はなかなかのもののようです。 LuaRadioは、Luaから使えるだけではなく、その中身もLuaで記述されているSDRツールキットです。コンポーネントをスクリプトで接続し、フローグラフを構築してアプリケーションを作成します。

    Post by @ttrftech · 3 images
  • Reblog by @this-is-not-tumblr

  • Reblog by @mizune-life · 1 image

    masterq
    masterq 2013/07/10
  • Post by @shyouhei

    送信側であれ受信側であれ、多岐に渡る異常系をどうエレガントに扱うかが、AMQPと関わりのあるアプリケーションを頑健にしていくうえでは不可避と言えましょう。プロトコルの誤り、ネットワークの不調、ブローカー1の異常などが思い浮かぶことでしょう。これらを正しく処理して上手に正常状態に回復することは、容易ではないでしょう。以下では、amqp gemを使うことでアプリケーションが ブローカーとの接続ができなかったときネットワークが切断されたときAMQPコネクションに例外2が発生したときAMQPチャンネル3に例外が発生したときブローカーの異常に遭遇したときTLS(SSL)関連の障害があったとき

    Post by @shyouhei
    masterq
    masterq 2012/04/06
    まだ全部読んでない。ネットワークのエラー処理について、他の言語でも参考になると感じた。
  • 卜部昌平のあまりreblogしないtumblr - 最速の memset64 を求めて 今回のお題は char 幅じゃなくて word 幅の...

    void* memset64(void* d, uint64_t i, int n) { asm("cld; rep stosq;" :: "D"(d), "a"(i), "c"(n) : "memory"); return d; } 最近の CPU はクソ賢い。そのため、下手に手で loop unrolling するよりも、逆に CPU に「ここはループなんだぞおおお~」というのを明示的に指示してあげたほうが CPU 側が勝手かつ不気味に最適な挙動を示しやがる。そういう意味では現代はある種の CISC ルネサンスとよべる時期ではあるのだろう( 10 年後はわからんが)。

    卜部昌平のあまりreblogしないtumblr - 最速の memset64 を求めて 今回のお題は char 幅じゃなくて word 幅の...
  • Post by @shyouhei

    いや、Rubyを取り巻く皆さんの生活まで終われとは言ってないですからね。終わってみるべきなのはRubyのコア部分の開発。 1) 百年の大計の欠如 https://twitter.com/yukihiro_matz/status/25168548474 によると、100年や200年続けるべきなんだそうだ。ふーん。100年って言ってみたいだけちゃうんか。200年後といえば人はおろかまつもとゆきひろと面識のある人間すら死に絶えている時期なんだけどな。そこまで続けたきゃどうするればいいか真面目に考えたことあんのかね。日国ですらこの120年で2回も憲法変わってんだぞ。惰性で200年もつわけがないだろ。 2) まつもとゆきひろがスケールしない 御存知の通りまつもとゆきひろのRuby開発に対するコミットペース(ここでいうコミットってのはソースコードをチェックインすることだけではなくて広く「関与」の意

    Post by @shyouhei
    masterq
    masterq 2010/10/15
    "続くってことは変わるってことですよ。"
  • Post by @shyouhei

    Rubyには公式のものだけでも30のブランチに29,385個のチェンジセットがある(執筆時点)。ブランチの1,000倍程度のチェンジセットがあるということは、実際にはブランチとチェンジセットの関係は偏りがあるから、ともかく長いブランチは超長いということがいえる。ちなみに一番長いのはもちろんtrunkで、この枝の長さは20,992リビジョンだ。次点がruby_1_8で、3,328リビジョンある(執筆時点)。 さてこのくらいの規模になってくると、もはや全容を把握するというのは困難である。特にどのブランチがどのチェンジセットから派生したかという情報は、もちろん個別には取り出すことは可能だが、俯瞰するのが困難になってくる。実際、今回ちょっとしたことでgit rebaseしようとしたらrebase先を間違えてしまい、ものすごく太古の昔からrebaseされてしまいげんなりするという体験をした(俺が

    Post by @shyouhei
  • Post by @shyouhei

    一般化すれば他者にも有益な話題と思われるがとりあえずめどい。 方針 * ありものをつかう * 回線に優しく * てっとりばやく * データロスしない ### setup OpenSSH multiple connection sharing 以下の方式ではsvnサーバにつなぎに行っては「あ、やっぱ手元にあったわ」でコネクション切るというのを繰り返す感じなる。git-svn(1)頭悪いな。で、普通にそのままやるとSSHのセッションハンドシェイクが全体の時間に対して支配的になる上に、どう考えても回線の無駄なので、一旦作ったコネクションを使いまわすことで対応する。これはOpenSSHには普通に備わっている機能だ。~/.ssh/configに以下のように書いておく。 Host ci.ruby-lang.org User svn Hostname ci.ruby-lang.org IdentityF

    Post by @shyouhei
  • Post by @shyouhei

    [前のアナウンス](http://shyouhei.tumblr.com/post/819094912/ruby-artoolkit) ではさすがにマッチョ過ぎてみんなついてこれないのではないかという虞というか、死屍累々の予感がしたのでもう少し詳しく解説しておくよ。対象は(一番めどいと思われる)Windowsな。 ### まず全体方針について確認 ### ビデオキャプチャの関係で、すべてのコンポーネントをコンパイル済みのものでなんとかするのは難しい。俺がコンパイルしたの配ってもいいんだけどさあ。ライセンスがさあ(下記)。 で、コンパイルするとなると - ARToolKitはバイナリ配布のものを使ってRubyは自力でコンパイル - ARToolKitは自力でコンパイルしてRubyはバイナリ配布のものを使う のどっちかです。基は。理論的には - 両方共自力で ってのもあるかもしらんが、多分コ

    Post by @shyouhei
  • Post by @shyouhei

    ![](http://media.tumblr.com/tumblr_l5mjv9pczJ1qzt7z1.png) (画像はハメコミ合成ではありません) 事情から説明すると以前から島根で [Ruby合宿](http://www.pref.shimane.lg.jp/sangyo/rubycamp.html) とかいうのがあって、今年は講師で呼ばれたわけだ。 んで「なにか発展的な内容を」と言われたので、それならデバイスアートで拡張現実でニコニコ技術部でしょとか思っちゃったのが運の尽きで。 いや [ARToolKit](http://www.hitl.washington.edu/artoolkit/) はそれはそれでいいとして、お題目がRuby合宿であるがゆえにARToolKitで完結してよかったねーでは当然ダメで、なんとかしてRubyが絡まにゃいかん。 というわけでとりあえず合宿当日までに

    Post by @shyouhei
  • Post by @shyouhei

    ご注意: 女性の場合、盗難のリスクがぜんぜん違うので、以下の議論はそのままはあてはまりません。ご了承ください。 今、冷静に考えて、なくても困らない耐久消費財トップスリーが自動車、洗濯機テレビである俺は、独身の人をみつけては「テレビって見ます?」とか独自に調査しているんだが、テレビ見ない人とか自動車持ってない人とかは結構いるのに洗濯機はみんな持ってる!おかしい!無駄! というわけで俺の考える洗濯機不要論を広く公開して議論を喚起したい。 1. その経済性 買った洗濯機を何回動かすんだろうか? 洗濯機は冷蔵庫なとと違い、デフォルトではそのへんに放置されてる存在である。常時通電されてる意味は正直ほとんどない。ちなみに家庭用洗濯機の法定耐用年数は6年である。月に何回洗濯するか考えて72倍してみよう。んでそれで洗濯機買った値段を割ると「洗濯一回あたりの償却費」が分かる。 ところでコインランドリーって

    Post by @shyouhei
    masterq
    masterq 2010/02/08
    鋭い洞察。
  • Post by @shyouhei · 1 image

    昔と違って今は{PostNotes}がテーマに入ってるから、wgetでページぶっこ抜いてきてawkかperlでちょろっと整形してgraphvizに突っ込むだけでこういう画像が簡単に。 zsh % export target="http://shyouhei.tumblr.com/post/339223403/tumblr-tumblr"; \ zsh -c 'wget -O - $target | tidy -i -w 0 -utf8 | ruby -n <(cat) | neato -Tpng -o tmp.png' <<'EOF' BEGIN { require 'open-uri' require 'thread' $h = Hash.new $q = Queue.new $th = Thread.start { loop { url = $q.deq $th.exit unless

    Post by @shyouhei · 1 image
    masterq
    masterq 2010/01/29
    graphvizの使い方。
  • Post by @shyouhei · 1 image

    さて、まあおまえらも GNU Screen くらいは使ってるとおもうわけだが。こいつがまたひどいバッドノウハウでさあ。ほとんどの人が他人の .screenrc をコピペしてきて済ませちゃうんだよね。俺くらいカスタマイズして使ってるやつとか見かけないわけよ。当に。CodeRepos 見ても俺に比肩する規模の .screenrc 書いてる奴はいないもん。で、たまーにプロジェクタに表示して見せたりすると「それどうなってるんですか」とか。まあ一般人のおまえらは info なんか読まないよね。そうだよね。

    Post by @shyouhei · 1 image
    masterq
    masterq 2010/01/04
    やりすぎです。でも本当に参考になります。
  • Post by @shyouhei

    とりあえずHashが何であるかとか、どういう作りになっているかとか、そういうことは既知とする。リストの配列ってことね。←これで何言ってるか分からないおまえらにはこの文章はちょっとはやい。先にデータ構造の教科書を読むことをおすすめ。以下ではHashに登録されるキーとデータのペアのことをentryと呼び、リストの配列と言ったときのリストのほうをbin、配列のほうをbucketと呼ぶ。つまり、

    Post by @shyouhei
  • Post by @bmw120i

    Pybigi PythonでLivedoor Readerから未読の記事を取得する 概要 大まかな流れ ①cookieを利用してログインする。 ②未読の記事がある配信元のsubscribe_idを取得する。 ③取得したsubscribe_idを元に未読の記事を取得する。 ④既読化する モジュールのインポート =============== import urllib import urllib2 import cookielib import simplejson =============== 最後のsimplejsonは標準のモジュールではないのでインストールする必要がある。またJSONを扱えるなら、他のものでも可。以下ではsimplejsonを利用する。 ログイン http://member.livedoor.com/login/indexにIDとPasswordを送る。またログイン

    Post by @bmw120i
    masterq
    masterq 2009/10/19
    PythonでLivedoor Readerから未読の記事を取得する 概要 大まかな流れ ①cookieを利用してログインする。 ②未読の記事がある配信元のsubscribe_idを取得する。 ③取得したsubscribe_idを元に未読の記事を取得する。 ④既読化する
  • Post by @shyouhei · 1 link

    まあ、おまえらもmatz基調講演を聞いて「意外にも思いつきではなくちゃんとパッチが管理されている」ことに衝撃を受けたことだろう(実は前から日記とかで言及されてはいたが)。あれを見てそろそろgit使い始めようかとか思いだしたかもしれない。しかし、じゃあといってRubyのレポジトリをgit svn cloneしようとすると果てしなく時間がかかる(ネットワーク状況などにもよるが30時間くらい?一日以上なのは確実)ので、多くの人はここでめげてしまう。 ところが案外知られていないけどgit-svn(1)は実はよくできていて、git svn cloneってのは毎回みんながやる必要はなくて、当はだれかがどこかで一回やればいいのである。他の人はそいつをgit cloneすればいいの。その誰かさんのgitレポジトリってのはみんなが見れるところにないといけないわけだが、そこはもちろんgithub使えよ。って

    Post by @shyouhei · 1 link
    masterq
    masterq 2009/07/31
    Rubyのソースコードをgitで管理しましょうという話。
  • 1