BLOGTIMES
«Prev || ... 1000 · 1001 · 1002 · 1003 · 1004 · 1005 · 1006 · 1007 · 1008 ·... | | Next»
2010/10/22

ぼすや

ラーメン  saitama 
味玉ラーメン - ぼすや

以前はらーめん尾道学校だった場所に、新たにラーメン屋さんができたのでランチをすることにしました。この界隈もこの5年くらいで店もずいぶん入れ替わって、以前はラーメンというとラーメンショップまで歩いていましたが、そこまで行かなくても済むほどになりましたね。

ちょうどお昼時でタイミングが悪かったのか店外で結構待つ羽目になりました。食券を買って並ぶシステムになっています。背脂をウリにしているだけのことはあって、床が脂でベタベタで滑りやすいです。つけ麺もいいかなと思ったのですが、ちょっと寒かったので味玉ラーメンにしました。脂の量は選べるようにいるので、後先考えずガッツリと言ってしまった結果が写真のような感じ。チャーシューもやわらかいし、スープは脂の甘みで勝負という感じでソコまで味は濃くなくて、もやしのゆで加減がかなり硬めなところを差し引いても個人的には結構好みです・・・・が、次回からは脂少な目にしようと思います

こんなに脂が多いラーメンを食べたのは、千石自慢ラーメン以来だと思いますが、午後が辛かったのは言うまでもありません。

[ぼすや の続きを読む]

    at 13:08 |
    2010/10/21

    Excelでセル内の改行を置換する

    excel 

    Excelのセル内にある改行を取り除く必要があったので、以前ある人に教えてもらった方法を試してみました。

    Excel 検索と置換画面 - Excelでセル内の改行を置換する

    やり方は上記の画面の入力欄で"Ctrl+J"を押すだけ。
    改行文字は不可視文字なので入力欄には変化がありませんが、ちゃんと改行文字が入力されています。
    後は検索なり置換なりをするだけです。


      at 23:44 |
      2010/10/21

      ロマサガ2がiアプリで遊べる

      SaGa 

      ロマサガ2がiアプリでリリースされるようです。

      『ロマンシング・サガ 2』スーファミ版+αのiアプリ配信決定 - ファミ通.com

      スクウェア・エニックスはiアプリ『ロマンシング・サガ 2』を2010年11月1日から配信することを発表。同年10月21日からティザーサイト(PC、iモード)がオープンした。

       『ロマンシング・サガ 2』は1993年にスーパーファミコンで発売されたRPG。バレンヌ帝国の歴代皇帝となり、さまざまな地域へおもむき、世界全土統一を目指すという内容に。i アプリ版はスーパーファミコン版を完全再現しているうえ、グラフィックやサウンドを向上させている。また、これまでに語られることがなかった“七英雄”の謎に迫る“オリジナルダンジョン”や新たなクラス、プレイしていたデータで最初から遊べる“つよくてニューゲーム”など、オリジナル要素もふんだんに盛り込まれている。

      発売日に部活をサボって買いに行き、かなりやりこんだゲームのうちのひとつなので、これはちょっと期待しちゃうかも。当時は関東暮らしではなかったので、7英雄が山手線といわれてもピンと来なかったのもいい思い出です。あと、ロマサガ2はエンカウントでどんどん敵が強くなるというちょっと特殊なシステムなので、知らずに退却していると敵が強くなりすぎてハマるということが周囲で多発していた印象があるのですが、そのあたりは変わっていないんでしょうかね。


        at 23:34 |
        2010/10/20

        クーポンビジネスの影

        marketing  coupon 

        WIRED VISIONに最近話題になっているクーポンビジネスに関する調査結果が載っていたのでメモ。

        『GROUPON』利用企業、再実施には消極的:米調査 | WIRED VISION

        GROUPONプロモーションをまた実施するかという質問には、半数近く(42%)が「行なわない」と答えた。この中には、GROUPONプロモーションが利益になった企業5社も含まれている。報告書には、「多くの事業主の間に、ソーシャル・プロモーションの利用者は、期待していたような顧客でも、事業の長期的な成功に不可欠な顧客でもないという認識が広がっている」と書かれている。「調査回答者の多くにおいて、顧客の、非常に価格に敏感な性格や、取り引きだけに関心を持つ傾向に幻滅する状況が生まれている」

        「お買い得」というところばかりを全面に押し出していくと、最終的に寄ってくる人はバーゲンハンターばかりになってしまって、苦労が多い割りに利益が出ない、リピーターが獲得できないというサイクルに陥ってしまうのは、冷静に考えてみれば一時期の通販参入ブームの時と同じ状況ですね。この波に飲み込まれてしまって大手ショッピングモールから撤退を余儀なくされたところも多いと思います。でも、こういうプロモーションで獲得できるお客さんは、実際に購買してくれる人であっても、限りなく見込み顧客に近い人たちだと思うので、上記の調査結果をみると性急に結果を求めすぎかなとも思います。ここからロイヤリティをどうか高めていけるのかがトータルなマーケティングとしては勝負どころだと思います。

        今は実際にクーポンを出す店舗側も実験段階だと捉えていると思いますが、これからこういう失敗談がたくさん出てくると、現在のショッピングモールと同じような状況になってしまうかもしれません。通販はほとんどの場合無店舗、クーポンは実店舗があるという違いがありますが、ビジネスモデル的に考えると通販と一緒で楽天が強くなってくるとうこともあるかもしれません。困っているところを支援してお金を取るのが上手いですからね。


          at 20:12 |
          2010/10/20

          MinGWでSJISのファイルをコンパイルする

          c  charset 

          MinGWを使ってSJISのソースコードをコンパイルしようとすると0x5C問題によって、unknown escape sequence: '\216'と言われてしまうことがあります。

          test.c

          #include <stdio.h> int main(){ printf("表示"); return 0; }

          例えば上記のようなコードをコンパイルしようとすると、下記のようになります。

          $ gcc test.c -o test test.c: In function 'main': test.c:4:9: warning: unknown escape sequence: '\216'

          これがWindowsでGCCを使う際にとても困るのでなんとかする方法がないか調べてみました。

          [MinGWでSJISのファイルをコンパイルする の続きを読む]

            at 19:22 |
            2010/10/19

            「安全でないライブラリのロード」とは具体的にどういうことなのか

            PoC  archiver 

            先日からLhaplusなどのアーカイバのセキュリティFixが続々と出ている問題については、8月の下旬くらいから「マイクロソフト セキュリティ アドバイザリ (2269637): 安全でないライブラリのロードにより、リモートでコードが実行される」や「JVNVU#707943: Windows プログラムの DLL 読み込みに脆弱性」などのアドバイザリが発表されていて、当初からこれらにはいちおう目を通してはいました。しかしながら、具体的にどのような脆弱性があって、どの程度危険なのかいまひとつ理解できていなくて、それがずっと引っかかっていたのですが、下記の解説を読んでやっと具体的にどのような脆弱性なのかということを理解することができました

            複数のアーカイブソフトにおけるバイナリ・プランティング問題

            今回発覚した一連のアーカイブソフトの脆弱性は、カレントディレクトリに存在する「explorer.exe」を実行してしまうというものです。バイナリ・プランティングというとDLLファイルが対象となる場合が多いのですが、EXEファイルについても同様の問題が発生するので注意が必要とされます。例えばLhaplusやLhasaは、圧縮ファイルを特定のディレクトリに展開すると同時にエクスプローラでその内容を表示しますが、その際に、

            WinExec("explorer フォルダ名", ..)

            という関数呼び出しを行います。WinExecはコマンドラインに指定されたプログラム「explorer」を探すときに、仕様にしたがって、

            1. アプリケーションがロードされたディレクトリ
            2. カレントディレクトリ
            3. Windowsのシステムディレクトリ
            4. Windowsディレクトリ
            5. 環境変数PATHに記述されている各ディレクトリ

            の順に探します[5]。つまり本来explorer.exeが存在するWindowsディレクトリよりも先にカレントディレクトリを探してしまうわけですね。ですので、カレントディレクトリに攻撃者が用意した不正なexplorer.exeがあった場合、それが代わりに起動してしまいます。

            確かに上記のような問題があれば、任意のプログラムを実行させることが出来ますね。なんとなくUnix系でいうところのLD_LIBRARY_PATHとかLD_PRELOADに細工するような問題なのかなくらいの認識だったのですが、それ以外にExecで呼び出すプログラムの指定方法が関係してくるとは思いませんでした。


              at 23:00 |
              2010/10/18

              RubyのWin32OLEは現状でマルチスレッド対応ではないらしい

              ruby 

              先日書いたエントリのサンプルには問題があって、スレッドは切り替わるもののWin32OLEの呼び出し部分でブロックしてしまうので、Ruby 1.9にしても本質的にはうまく実行できません。前回は待ち時間が短かかったのと、タイムスタンプを出力していなかったのでスケジューリングがめちゃくちゃなことに気づいていませんでした。

              また、Ruby 1.9.2のWIN32OLEの欄にも以下の注意書きがあったのですが見落としていました。

              class WIN32OLE

              マルチスレッドでの利用制限
              注)以下の記述はWIN32OLEの将来のバージョンの仕様を規定するものではありません。
              WIN32OLEはシングルスレッドモードでCOMとインターフェイスします。このため、ruby 1.9以降のRubyのThreadとネイティブスレッドが1対1で対応する実行環境ではスレッドをまたがる呼び出しはエラーとなります。

              ということで、現在のところWin32OLE内でブロックするプログラムをマルチスレッドでうまく動かす方法はないようです。Win32OLEマルチスレッド対応という話もあるようなので、もしかしたらもう少しで解決されるのかも知れないので、期待して待ちたいと思います。

              [RubyのWin32OLEは現状でマルチスレッド対応ではないらしい の続きを読む]

                at 22:42 |

                Rubyのスレッドをたたき起こす

                ruby 

                Rubyでsleepを呼んで眠っているスレッドむりやり実行状態に戻す方法(JavaだとThread.interrupt()にあたるもの)がないかと思って調べていたら、灯台下暗しでリファレンスマニュアルにThread#runで実行を再開できるとちゃんと書いてありました。sleepは組み込み関数ですが、runはThreadクラスにあるのでちょっと分かりづらいですね。

                組み込み関数 - Rubyリファレンスマニュアル

                sleep([sec])
                sec 秒だけプログラムの実行を停止します。sec には浮動小数点数も指定できます。sec が省略された場合、他スレッドからの Thread#run などで明示的に起こさない限り永久にスリープします。戻り値は実際に停止していた秒数(整数)です。

                確かに下記のようなコードを書いてみたらsleepがキャンセルされてスレッドが再開されることが確認できました。
                これでsleepで眠っているThreadをjoinしようとしてプログラムが固まってしまうという状況を回避できそうです。

                [Rubyのスレッドをたたき起こす の続きを読む]

                  at 14:21 |
                  2010/10/17

                  FCB 10th Anniversary LIVE 「のさんすうあそび」に行ってきました

                  fcb 
                  FCB 10th チケット - FCB 10th Anniversary LIVE 「のさんすうあそび」に行ってきました会場 - FCB 10th Anniversary LIVE 「のさんすうあそび」に行ってきました

                  今日はFCBことファミコンバンドの第10回演奏会に行ってきました。5thから毎回参加しているので、今回で6回目の参加になります。今回も遅れないよう13時過ぎには会場入りしたのですが、今回は前回以上に長蛇の列になっていました。場所はいつもどおり最前列に陣取りました。マスゲームと同じで、ネタをゲーム画面を見るように楽しむならば2階席の前列に陣取るほうがより楽しめるのですが、僕は知人が一生懸命にキャラを演じる姿を見たいので、いつも前列に陣取っています。

                  入場するときにもらえる冊子をもらって驚いたのは、そこに挟まっているチラシの量。全部、ゲーム関係の演奏会のお知らせです。FCBの演奏会に通い始めた頃は、そういうイベントもかなり珍しい感じでしたが、最近はそういう団体もだいぶ増えているようです。あと、地味な変更点だと思いますが、いつの間にか冊子がフルカラーになっていました。以前の冊子は別冊攻略本として配布されているようなモノクロ印刷だったのに・・・・メンバーに本職の方がいらっしゃるのでこのあたりは流石ですね。

                  演奏については、そこだけ見ればもっと上手いところはたくさんあると思うのですが、FCBの魅力は正直そこだけで評価されるべきではありません。ネタが分からない人をまったく寄せ付けない割り切った構成の寸劇の出来は相変わらず素晴らしいです。今回は演奏もこの数回のライブの中では一番だったのではないかと思います。

                  ハイパーオリンピックはフライングだけでなく、定規を使ったときの走りの再現もして欲しかったなぁ。あと、ボーカルが参加不能になったということで、やらないのかなと思っていたルート16ターヴォは健在でした。以前のマイクを破壊して弁償する羽目になったときのような迫力はありませんでしたが、ボス戦のゾーマの演出は、光のたまのエフェクトのためだけにストロボライトを使ったりと気合入っていましたね。

                  アンコール曲は今回からはスペランカーだけではなく、即死メドレーになってましたね。指揮者の赤いヘルメットもないし、最後のシメもヴィブラスラップからドラに変更*1されていたのが往年のファンにとってはちょっとさびしかった・・・というか、本当に終わりなのかどうかという判断がつかなかったです。ありがとうFCB。次回の演奏会も期待しています。

                  ちなみにクイズは毎度ながら難しすぎます。。。。

                  • *1: これは以前にスカって、そこだけやり直しになったからというのもあるのかも。

                  at 19:24 |
                  2010/10/16

                  Ruby/MySQL で Mysql::ProtocolError が出たときに確認すべきこと

                  ruby 

                  Ruby/MySQL を使って書かれたコードを Ruby 1.9 で動かそうとしたら、これまで見たことがないMysql::ProtocolErrorというエラーが出るようになってしまって参りました。

                  結論から述べると Ruby 1.9 では -K オプションをつけるのはやめましょうねという話。

                  試しに全く同じコードを Ruby 1.8 の環境に持って行ったところ、ちゃんと動作するので、じゃあ再現コードがどれだけシンプルにできるかと思ってどんどんコードを削っていったら、下記のようなごく簡単なコードでも再現することが分かりました。

                  test.rb

                  require 'rubygems' require 'mysql' conn = Mysql::connect('localhost','testuser','testpass','testdb') res = conn.query("select now()") res.each do |row| p row end

                  一瞬、Ruby/MySQL が Ruby 1.9 に対応していないのかと思いましたが、ウェブには 1.9 対応と書かれているし、同じようなエラーで悩んでいる人も見あたらないので、何か手がかりはないかとひたすら試行錯誤していたら、偶然コマンドラインオプションをつけ忘れたときにうまく動くことを発見。そういえば、Ruby 1.9 は -Kx オプションは非推奨になってたことを思い出しました。

                  C:\tmp>ruby test.rb ["2010-10-16 23:10:09"] C:\tmp>ruby -Ku test.rb C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.3/lib/mysql/protocol.rb:629:in `read_eof_packet': packet is not EOF (Mysql::ProtocolError) from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.3/lib/mysql/protocol.rb:317:in `retr_fields' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.3/lib/mysql.rb:321:in `query' from test.rb:5:in `<main>' C:\tmp>ruby -Ks test.rb C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.3/lib/mysql/protocol.rb:629:in `read_eof_packet': packet is not EOF (Mysql::ProtocolError) from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.3/lib/mysql/protocol.rb:317:in `retr_fields' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.3/lib/mysql.rb:321:in `query' from test.rb:5:in `<main>'

                  こんな感じで、 -K オプションを使わなければうまく動くようです。ちょっと詳しい理由は分からないのですが、 -K オプションはストリームの入出力にも影響を及ぼしてしまうということなのでしょうか。Ruby 1.9 でストリーム関係のエラーが出た場合には -K オプションを使っていないかどうかという事を確認するようにした方が良さそうです。

                  [Ruby/MySQL で Mysql::ProtocolError が出たときに確認すべきこと の続きを読む]

                    at 23:28 |
                    «Prev || ... 1000 · 1001 · 1002 · 1003 · 1004 · 1005 · 1006 · 1007 · 1008 ·... | | Next»