タグ

ブックマーク / shokai.org (24)

  • 橋本商会 » coffeeからES6(babel)に少しずつ書き換える

    coffee-scriptで書いていたwebアプリをES6(babel)に書きなおした。 全部を一気に書き直してハイ動いたーとやるのは無理なので、coffeeとES6のファイルが混在しても動かせるようにして、少しずつ書き直した。 書き直したのはこれ React+Fluxxor+socket.ioでfluxなチャットを作った https://github.com/shokai/node-flux-boilerplate インストール % npm install babel babelify browserify watchify -save-dev とやっていたのだが、数日前にbabelが5から6にアップデートされて、babel-coreやbabel-preset-*など色々分割されて、大分色々変わってしまった。周辺ツールも対応の過渡期だったのでbabel5系を使うようにバージョンを指定した

    ymrl
    ymrl 2015/11/04
  • 橋本商会 » 895円の超小型Ardunoクローン DigiSparkを買った

    とにかく小さくて安いのに、ほぼArduinoとして使える。 そしてズボンのコインポケットに入れて持ち歩けるので電車内hackに便利。 Digispark購入ページ DigiSpark wiki ソースコードはここに置いておいた。 デジタル出力・アナログ出力・アナログ入力・Mac上のRubyとのUSB通信を試した。 https://github.com/shokai/digispark-study 「webサービスと連動したちょっとしたハードウェア」にはArduinoはオーバースペックだと思うので、DigiSparkちょうどいいと思う。 普通のArduinoとの違い 詳しくは digispark:tutorials:basics [Digistump Wiki] 多少制限はある。 IOピン数が6PCとUSB通信する場合は4しか無い プログラムを書き込めるメモリ領域が6Kbyteしかない

    橋本商会 » 895円の超小型Ardunoクローン DigiSparkを買った
    ymrl
    ymrl 2014/03/12
  • 橋本商会 » node-webkitでNHK Newsを連続自動再生するアプリ作った

    あまりにも世情にうといので作った。 NHKRSSを定期的にチェックして、新着ニュースの動画を連続自動再生する。 とてもテレビっぽい。おかげで4日後にオリンピックが開催されるという事を知れた。 ソースコード https://github.com/shokai/nhk-news-app zipでダウンロード https://github.com/shokai/nhk-news-app/releases node-webkitはネイティブアプリ作成のためにwebkitが改造されたwebブラウザで、HTML/JavaScript/CSSが実行できるだけでなくnode.jsのAPIもそのまま呼び出せる。 つまりjQueryでDOM操作すると同時にnodeのライブラリを使うような処理が、同じプログラムファイルにまとめて書ける。変にブリッジを書く事なくいつものnodeのように require(‘モジュ

    橋本商会 » node-webkitでNHK Newsを連続自動再生するアプリ作った
    ymrl
    ymrl 2014/02/04
  • 橋本商会 » Ruby内に人間への命令を書けるBabaScriptが完成に近づいている

    ちゃんと馬場くんからのreturn valueが取れるようになった。 BabaScriptはコンピュータが得意な事はコンピュータが実行し、人間が得意な処理は馬場くんが実行するプログラム言語です。 メタプログラミングでRubyを拡張して人間への命令を送るための構文を追加し、人間を関数と同等に扱えるようにするスマホアプリと連動させます。 → 世界一柔軟で好意的に解釈してくれるプログラム言語BabaScriptを作りました % gem install babascript % baba --help こういうのが実行できるようになった。 sample.bb res = かず助に行きたい人の出欠取ってください puts res # => "6人です" loop do num = res.to_i if num > 0 puts では予約してください("#{num}人") exit else res

    橋本商会 » Ruby内に人間への命令を書けるBabaScriptが完成に近づいている
    ymrl
    ymrl 2013/07/10
  • 橋本商会 » 世界一柔軟で好意的に解釈してくれるプログラム言語BabaScriptを作りました

    rubygemsでインストールできます % gem install babascript ソースコードはこちら https://github.com/masuilab/babascript BabaScriptとは コンピュータが得意なことはコンピュータに、人間が得意なことは@takumibabaが処理するプログラム言語です 使用方法 ワンライナー % baba -e "アイス買ってきて" 馬場スクリプトはRuby風に書ける言語で、日語で書いた部分は馬場くんが実行してくれます test1.bb #!/usr/bin/env baba if 0 < Time.now.hour and Time.now.hour < 5 もう寝ろ!! else 意識を高めてコードを書こう! end 実行 % baba test1.bb 0時から5時の間は寝ろ、という指令が送れます。 Rubyの中に馬場スクリ

    橋本商会 » 世界一柔軟で好意的に解釈してくれるプログラム言語BabaScriptを作りました
    ymrl
    ymrl 2013/06/20
  • 橋本商会 » Ruby上に並列言語拡張Lindaを実装してWebSocket/Cometで使えるようにした

    Lindaは1990年ごろに出来た言語。 タプルスペースという共有メモリ空間でタプル(オブジェクト)を共有して、in/out/rd/inp/rdpという命令で操作する事で大抵の並列処理が記述できるという物。 仕様は単純なんだけどセマフォなどのロック機構やジョブキューも超簡単に記述できる。いわば分散並列処理のための最小セット。 既にCやJavaの実装があり、Rubyでも咳さんのRindaがある。 で、今回作ったLinda gemではタプルのマッチング判定とオンメモリのタプルスペースの読み書き機能と、それぞれのテストコードしか実装されていない。 複数のプロセスからタプルスペースに接続して読み書きする機能は実装されていない。 マッチングは配列タプルは要素の前方一致、Hashタプルは自身のKeyとValueが相手に全部含まれていればtrueとしている。 Linda RocketIO Linda g

    ymrl
    ymrl 2013/05/27
  • 橋本商会 » バージョン管理システムの歴史

    最初のバージョンがリリースされた年 SCCS 1972年 RCS 1980年 CVS 1990年 SVN 2000年 Mercurial 2005年 Git 2005年 昔は10年周期、最近は5年周期ですかね? 俺MercurialとGitしか使ったこと無いけど、この調子だと2020年までにはGitオワコンとか言われてそう。 とくにcheckoutコマンドに色々機能載せすぎ感あるので、内部のアルゴリズム等はそのままでコマンドを綺麗にしたgit2のような物がでてくるのではないかと思う

    ymrl
    ymrl 2013/05/17
  • 橋本商会 » Twのレシピ

    tw (http://shokai.github.com/tw)の活用方法を紹介します。 うまく使うとプログラムを書かなくてもtwitter botを作ったりできる。 前:ターミナルで使うtwitterクライアント作った 基的なレシピから順に解説していきます。 最新版にアップデート ここに書いてあるレシピは、今日リリースした最新版(v0.3.1)でしか動かない物が含まれるので 最新版をインストールしなおしておいてください。 gem install tw リクエストを並列化して速くなったりもしたし。 zshのコマンド補完を使う @glidenoteさんがすごい勢いで作ってくれました。 ターミナルで使うtwitterクライアントtwが便利なのでzsh補完関数を作った – Glide Note – グライドノート UNIX pipeをつかう コマンドを実行して、アカウントを@shokai_lo

    ymrl
    ymrl 2012/10/11
  • 橋本商会 » ターミナルで使うtwitterクライアント作った

    1年以上前に作ってずっと使ってた奴を、少し直してrubygemにした。 くわしい使い方はhttp://shokai.github.com/twに書いた。 何か要望あればtwittergithubのissueかblogのコメントでください。 ※活用方法をTwのレシピに書きました インストール 特別なライブラリは使っていないのでMacならすぐインストールできるはず gem install tw tw --help 機能 すぐ使えるように名前が短い、インストール・セットアップが楽 表示がカラフル 複数のユーザやリストをマージして表示できる DM読み書き public timelineの検索 user stream、filter stream読める。なんかよく切断されるので自動再接続するようにしといた 複数アカウント使える UNIX pipeからもtweetできる 作った経緯 フルスクリーンのタ

    橋本商会 » ターミナルで使うtwitterクライアント作った
    ymrl
    ymrl 2012/10/05
  • 橋本商会 » みなとみらいのバイクシェアリングBayBikeの出来が良い

    6月ごろからたまに使ってる。 良いサービスなのに、ネット上に感想が無さすぎてもったいないので感想を書いておく。 baybikeは横浜市とdocomoが行なっている社会実験で、みなとみらいに20箇所以上設置された無人自転車スタンドから自転車を借りられる。 借りた自転車はどの自転車スタンドに返しても良く、主要な駅や施設の周りに十分な数があるので、電車と併用して使いやすい。 申し込んでから4日ぐらいでカードキーが届いた。おサイフケータイなら申し込んで即使えると思う。 AndroidアプリとGoogleMap自転車の空き状況がチェックできるので、行ってみたら乗れないという事もない。 良いところ 安い。 最初の1時間が105円で、それから30分超過毎に105円かかる。 自転車を取り出すのにはおサイフケータイか会員登録したカードキーが必要。俺はカードキーを使ってる。 自転車スタンドのカードリーダーに

    橋本商会 » みなとみらいのバイクシェアリングBayBikeの出来が良い
    ymrl
    ymrl 2012/09/08
  • 橋本商会 » 料理をはじめて1年経った

    ちょうど料理し始めて1年経過したので、今までに考えた事・良かったことを書きなぐっておく。 基的に研究したり新しいプログラム言語を勉強したりするのと同じ方法でやってた。 (画像はイメージです) 最初に作りたいものを書き出す 自分がべたいものを書き出す。 最初に作りたい料理を30個ぐらい、現時点で作れそうにない物も書きだした。 レシピを並べてみたら共通の部分があったので、なるべく簡単かつ発展性がありそうな所から攻める事にした。 俺の場合、主にこの2つから行く事になった。 1. ペペロンチーノがおいしく作れれば、そこからトマトパスタとか色々派生できる。具は少し手を加えればパスタ以外にも使える。 2. 肉じゃが・カレー・ポトフ・シチューあたりは途中までの工程が似てる。 このへんから攻めた。まず最初はべたいものを書きだして効率良さそうな所を見つけると良いと思う。 あとは和の醤油味の煮物系で、

    橋本商会 » 料理をはじめて1年経った
    ymrl
    ymrl 2012/09/01
  • 橋本商会 » Node.jsに入門して画像チャットを作ってHerokuで動かした

    増井研の合宿があった。 スケジュールに飲み会の時間が書いてなかったので、もしやと思ったら最初からずっと飲んでた。 夕方にgeta6がNode.jsを1時間ぐらいでみんなに教えてくれた。Express+Socket.IOを使って簡単なチャット一歩手前ぐらいのもの。 そこから改造してちくわぶチャットができた。 Tiqav Chat TiqavのJSONP API使った。 コードはgithubにある デプロイ先のHerokuだけど、よく有料サービスと勘違いされてるけどDBとかを多めに使わない限り無料で使えます。 とくにSinatraやNode.jsに少量のMemcached/MongoDB/PostgreSQLなら無料で使える。俺もまだ金払ったこと無い。 Herokuはレンタルサーバーみたいにパソコンをまるごと借りるんじゃなくて、ソースコードをgitでアップロードすると実行してくれるサービスだよ

    橋本商会 » Node.jsに入門して画像チャットを作ってHerokuで動かした
    ymrl
    ymrl 2012/06/25
  • 橋本商会 » プログラムの写経

    プログラミング初心者が写経する時に気をつけると良い事を4つ説明します。 画像はイメージです プログラムを勉強する時に、写経しろ(すでに完成しているプログラムをから書き写せ)とか言われるが、ちょっと意識するとだいぶ違うと思う 1. 外から書け 例えば、1からnまでの数字を全部表示するプログラムがあるとする。 def run(max) 1.upto(max).each do |i| puts i end end run(10) これを写経する時、上から下に1行目から順に書くのではなくて、まず def run(max) end いちばん外側を書いて def run(max) 1.upto(max).each do |i| end end 中を書いて def run(max) 1.upto(max).each do |i| puts i end end こうなる。 上から書かないのが重要。プログ

    橋本商会 » プログラムの写経
    ymrl
    ymrl 2012/06/16
  • 橋本商会 » モノ作る時に気をつけている事とか

    10月半ばごろに、適当に飲みながら?話した事を郡山さんがテープ起こししてくれたので コピペしてみる。 ただし、ほんのちょっとだけ(暴言とか)編集した。 あと、俺は普段語尾は「である」調ではないんだけど、郡山さんが文字起こしするとそうなる。 —————- 情報世界と物理世界を同じもののように、タコの足のようにくっつけて、ひとつのものとして作る必要がある。そのための考え方であり技術の選び方を考えなければならない。「ウェブのサービス」などのように分けて考えるものではなくて、全てが一つのものである。「ウェブサービスを作りたい」と言うのではなくて、何か作りたいものの中の部品としてウェブサービスがある。 プログラムを書いている時に試行錯誤している。プログラミングは実装ではなくて、プログラムを書くことが設計である。書いてすぐ試して、というスケッチしているような中でデザインをしていく。 Pileusをつく

    ymrl
    ymrl 2012/06/10
  • 橋本商会 » emobileに電話してから20日経ってもインターネットが半分使えないまま放置されたので解約した

    emobileが月1100円安くなってPocketWifiがもらえるプランに契約するとインターネットが半分使えなくなるの続き。 6/6(月)、サポートから電話がかかってきた。 契約内容の説明が不十分だったので、契約は全てリセットする Pocket WiFiの返送用の箱を送るので送り返してほしい との事。 「ssh等が使えないデータプランBから元に戻すのは2,3日中にできるか?」と聞いたところ、「今月中には・・」と言葉を濁された。 プランを戻すけど、戻したタイミングで電話連絡等はしないので、たまにemb1のアクセスポイントに戻して確認してみてほしいと言われた。 まさか、まだ月頭なのに丸一ヶ月元に戻らないとか無いよな〜とか思いつつ、ありがとうございますと言って電話を切る。 その後、3日に1度ぐらいの頻度で、emb2からemb1のアクセスポイントに設定を切り替えてデータプランBから元に戻っている

    橋本商会 » emobileに電話してから20日経ってもインターネットが半分使えないまま放置されたので解約した
    ymrl
    ymrl 2011/07/04
    魔法少女まどかマギカを観てるとき、shokaiさんがQBのセリフに合わせて「イーモバイル……」って言ってたのが面白かった
  • 橋本商会 » emobileが月1100円安くなってPocketWifiがもらえるプランに契約するとインターネットが半分使えなくなる

    (この記事の続きはここに書きました) sshが使えなくなって困っています。WWW以外をたくさん使う人は契約しない方が良い。 5月半ば、イーモバイルから電話がかかってきた。 橋さんは月4980円のプランで契約しているけど、通信料が多くないので3880円のプランに変更しませんか おまけにPocketWifiを1円であげる という内容。 何かデメリットは無いのか聞いたところ、 あと残り3ヶ月だった2年縛りは、2011年6月から24ヶ月にリセットされる イーモバイル解約時の違約金は、残りの月数×900円 とのこと。 まあ損は無さそうなので契約した。 5月末にPocketWifiが届き、6月から3880円のプランになった。するとgithubにpush/pullできなくなっている。 3880円のプランはデータプランBという物で、試してみたらたくさん制限があった。 pingが通らない ほとんどのpor

    ymrl
    ymrl 2011/06/05
  • 橋本商会 » 湘南台の男のらーめん500円の営業状態を調べるrubygems作った

    昨日、男の店主がメルマガで、「急に三田二郎をべたくなったから昼の営業は休みます」「今神保町で二郎べたけど、これから用心棒もべるから夜は19時からになります」と言っていて面白かったから作った。 ■インストール gem install otokonoramen500yen ■使う gem installすると、otokonoramen500yenというコマンドが使えるようになる。 otokonoramen500yen 実行すると、最新のメルマガの日時と文が表示される。 これでterminalで作業している時に、ブラウザを開かなくても今日営業しているかパッと調べられるので便利です。 ■開発者向け情報 一応gemなので、文と発行日時を取得できるようにしておいた。 例えば、センサーで取得した自身の健康状態と、男のらーめんの営業状態とを連動させた健康促進システムの開発などへの応用が期待できる

  • 橋本商会 » chrome extensionの作り方+クロスドメインXMLHTTPリクエストのやり方

    こないだ箱根合宿で学んだ。 単にchrome拡張を作ってみたかったというのと、chromeではgreasemonkeyが実行できるけど、Firefoxと違ってGM_xmlhttpRequestが無いのでクロスドメイン通信ができないのでなんとなくやってみたかった。 自分の見ているページの履歴を全部自分のサーバーに送って保存したい。 まずos0xさんのChrome拡張入門のスライドが勉強になる。 とくに 拡張コンテキスト、コンテントコンテキスト、ページコンテキストの3つのコンテキストが存在し、それぞれは完全に分かれているので、お互いが干渉してしまうことはない。さらに、拡張同士も独立したコンテキストで実行される。 拡張コンテキストはタブ操作やクロスドメイン通信などの特権を実行でき、コンテントコンテキストと通信したり、スクリプトを実行したりといったことができます。 コンテントコンテキスト(Cont

    橋本商会 » chrome extensionの作り方+クロスドメインXMLHTTPリクエストのやり方
    ymrl
    ymrl 2010/11/14
  • 橋本商会 » scansnapと裁断機を買って本を電子化しまくる

    を解体する為にこの裁断機を買った。14000円ぐらい。 大型ペーパーカッター 裁断機 まだ必要ないので買ってないけど、替え刃も発見した。 コピー用紙500枚らくらくカット/人気 商品大型ペーパーカッター用『替え刃』 ジャンプぐらいの厚い雑誌でも切れる。このサイズの裁断機では妙に安い(他の半額程度)だが、そのかわり届いた時点で油でぬるぬるしている。 軍手とぞうきんを用意しておいて、よく拭いた。 刃の部分には茶色い油?が付着しているので、試しにいらないを裁断してみて油の拭き残しが無いか確かめる必要がある。 油がついた。(古ぐらしは新しいのを持っているので、2003年版を試し切りに使った) ■裁断する まずスキャンできるようにをバラバラにする。 表紙を外す しっかり押さえる 切る 切る。裁断機の刃が超鋭いので、あんまり力はいらない。 バラバラにしたをscansnapに入れる iPhon

    橋本商会 » scansnapと裁断機を買って本を電子化しまくる
    ymrl
    ymrl 2010/01/07
  • 橋本商会 » LaTeXで修論を書く

    (橋商会 LaTeXで修論を書く会(mac版)の資料でした) 修論を開発するのに使った環境についてまとめておく。 TeXをはじめて使って、最初は文章を書いてるんだかマークアップエンジニアになったんだかわけがわからなかったが、Amazonで検索してJabRefに書誌情報を放り込んでbibtex形式で管理してTeXに読み込んだりとか、慣れるといろいろと便利だったので。 TeXの解説というと、タグをひとつずつ説明してばっかりでいつになったら文章を書き始められるのかわからないページが多いけど、とりあえずこんな順番でやってみると全体がどういう構造になってるのかがわかって、SFCの修士の人は幸せになれるんじゃないかな 最初のmacportsが難関すぎる気もするが。 macportsをインストールする macportsでplatex-utf8、bibtex、dvipdfmxをインストールする とりあえ

    ymrl
    ymrl 2009/12/14