nvim の J

IT

びっくりしたのでメモ。以下は Brainfuck のコードですね。 +>++> >[-] +++++++. これを nvim で J を押して一行に結合しようとしたところ >++>] なんと、2 行目を結合する際に > が消えてしまう現象が発生した。なんか引用符だと判断されてか、勝手に消えて…

Final Fantasy V Advance

ひょんなことから FF5 は GBA でリメイクされていることを知った。そして GBA 版は SFC 版から追加要素(クリア後ダンジョン、新ジョブ)があるということも知り、25 年ぶりにやりたくなった。SFC 版が 1992 年、GBA 版は 2006 年発売。1998 年に PS でも出…

Final Fantasy V Advance #2

3DS LL を分解掃除して、いざ FF5A をダウンロードしようとしたら、FF5A は Wii U のバーチャルコンソールにしかなく、3DS にはなかった・・・。Amazon で買ったカセットが無駄にならなくてよかったが、3DS でできると思い込んでいたワクワク感から突き落と…

Nintendo 3DS LL 分解掃除

久しぶりに 3DS LL を起動したら A ボタンの効きが悪かった。 具体的には下側を押すと反応するけど、真ん中より上を押す場合はかなり押し込まないと認識しない。任天堂のサイトを見ると、修理は 3000 円ぐらいで、10 日から 2 週間ほどかかるとのこと。 3000…

VMware Fusion に Windows を入れる

年末に時間があったので、手元の Mac Book Pro を初期化して環境を整えてみた際に、色々ハマったメモ。 VMware Fusion 7 は Sierra をサポートしておらず、Yosemite で VMware Fusion 7 をインストール、各種ゲスト OS をセットアップ後、Sierra までアップ…

年末年始の作業

2015年12月25日から2016年1月3日まで、さくらのレンタルサーバで15年ぐらいメンテナンスしている掲示板の刷新を行った。元の掲示板は Perl で実装してあって、古い掲示板にありがちなヒアドキュメントで HTML を出力する形式になっていて、メンテナンスが非…

Qt ライセンス

Qt

とあるプログラミングコンテストに参加しようと思って、Qt を調べてみた。主にライセンス。開発ターゲットは Android と iOS。 Qt は商用ライセンス、LGPL、GPL LGPL で Android、iOS の開発は可能 ただし iOS はスタティックリンクになるため、アプリが LGP…

Context メモ

Android にはいくつかの Context がある。Activity から参照可能なのは: this : Acrivity getBaseContext() : ContextImpl getApplicationContext() : Applicaiton となる。Activity を Context として持ちまわるのは、Activity のリークにつながるので、ge…

FrameLayout メモ

FrameLayout は z index を簡単に調整することができる便利なレイアウトなんだけど、View が Button だった場合、z index を無視して最上位に表示されるようだ。これが ImageButton なら期待した通りの z index になるようだ。

TableLayout メモ

TableLayout に ImageView を配置する場合、android:stretchColumns を設定していると、ImageView を android:scaleType="fitCenter" などと縦横比を維持するように設定していても、TableLayout のストレッチ設定の方が勝ってしまい、画像が横に伸びる。

GridView メモ

備忘録。GridView に表示する View に、Button が存在すると、そのボタンをタップしたかどうかにかかわらず、タッチイベントがボタンに取られてしまい、GridView の OnItemClickListener が通知されなくなる。

ViewPager メモ

備忘録。Android の ViewPager は、単純な使い方ならかなり簡単でかつ便利なんだけど、ちょっと複雑なことをしようとすると、とたんにトラップが牙を剥く。1.一度表示させた Fragment を取り替えることができない例えば、3 ページ持つ ViewPager があった…

Animation メモ

FrameLayout に addView(View) をするタイミングで TranslateAnimatoin でスライドインさせようとした場合に、以下のケースでチラツキが発生したので、その解決法のメモ。FrameLayout に元からある View を removeView(View) でアニメーションを伴わせ削除し…

プロキシサーバを作りたい

IT

Web 開発を行っていて、僕の環境だけ LiveReload が期待通りに機能せず、500 エラーが頻発するという現象に見舞われた。原因は LiveReload で、HTML から LiveReload 関連の script タグをいくつか取り除くだけでエラーが出なくなるので、ソースツリーには手…

最近の開発手法に GG

IT

今開発している Web アプリケーションは、Yesod という Haskell のフレームワークを使用している。これが非常に難しい。嫌な汗が出るぐらいヤバイ。でも、避けて通れない道なので頑張る。さて、それ以外の部分は: CoffeeScript で UI を書く → JavaScript …

Google スプレッドシートの小技

今日は Google スプレッドシートの技を習得したぞ!!importrange 関数は、他のスプレッドシートの範囲を取り込む関数。 filter 関数は、同一のスプレッドシートの特定範囲を条件で絞り込む関数。これを組み合わせれば、マスターデータから条件で絞り込んだ…

VMware Fusion で共有フォルダがマウントできない

以下エントリで解決しました。VMWareFusionでフォルダ共有ができなくなった場合の対処 - Qiitaただし、いろいろといじったせいかもしれませんが、ホスト・ゲスト間のコピー・ペーストやファイルのドラッグアンドドロップなどが機能しなくなりました。

面談でググるな

2015 年 4 月 1 日から、新しい会社に所属します。週休 4 日という大変面白い会社です。実際には、その休みに副業を行うので、前の会社よりも忙しいです。忙しいですが、仕事を自分の裁量で選択できるというのはとても大きく、ストレスはないです。また、新…

Haskell と SDL #2

Haskell と SDL - satosystemsの日記 の続きです。マウスイベントをハンドリングして画像を描画するようにしてみました。今までは main 関数内に直接記述していた描画コードを、以下のように関数として切り出しました。 drawImage :: SDL.Window -> Ptr SDL.…

Unicode の正規化でハマった話

IT

まずは以下のコードを見てください。 import java.io.File import java.io.FileOutputStream val file1 = new File("\u30C9ラえもん.txt") val fos1 = new FileOutputStream(file1) fos1.write("ぼく、ドラえもん。".getBytes("UTF-8")) fos1.close() val fi…

Haskell と SDL

この記事は Haskell Advent Calendar 2014 の 8 日目の記事です。Haskell で SDL を利用してゲーム的な何かを作成するための入門記事です。 環境構築(Haskell Platform) Haskell の開発環境は Windows/Mac/Linux いずれでも構築可能です。僕は普段は Haske…

Mac Book Air のキーボード配列を設定したらめちゃくちゃはかどった

Mac Book Pro および Mac Book Air のキーボードは、数年使っているけどなかなか慣れないけど、何とかなった、という話。悩みだったのは以下。 Mac のノートは、右手側に option がないので、左手が死にそう control と caps の配置が Windows とは逆で、頭…

あるポーカーの手役で最善手を検証してみる

Haskell でポーカー役判定処理を作ったので、これを使って遊んでみる。以下の手札があったとする。よくある感じの手札だと思う。ここから、何をどう切ると、どれぐらいの期待値で勝利するのか、というのを検証してみたい。ルールは以下とする。 一回だけチェ…

Haskell でポーカーの役判定処理 #3

Haskell でポーカーの役判定処理 #2 - satosystemsの日記 の続き。だいぶ良くなったと思う。改善したのは以下の箇所。 Maybe をモナドとして使用するようにした リストに対してリスト操作関数を適切に使用するようにした ジョーカーを使うとフルハウスで勝敗…

Haskell でポーカーの役判定処理 #2

Haskell でポーカーの役判定処理 - satosystemsの日記 の続き。ポーカーの役判定処理をイチから書き直した。 改善されたのは以下。 エースが数値で最も強いルールに改善 絵柄による役の強さに改善 ジョーカーがあっても判定できるように改善 いくつかのバグ…

Haskell でポーカーの役判定処理

麻雀の役判定処理を Haskell で書いてみようかと思って、スモールスタートとしてポーカーの役判定処理を書いてみた。最初はすべてのカードをデータコンストラクタとして定義する方法を検討していたんだけど、データコンストラクタが多くなりすぎてパターンマ…

Haskell で作成した DLL を秀丸マクロから呼び出す

秀丸で Haskell 開発環境をパワーアップさせるために、マクロから呼び出す DLL を Haskell で書ければハッピーになれると思い、調べた結果をまとめておきます。 環境 OS: Windows 7 Haskell: Haskell Platform 2013 2.0 GHC: ghc 7.6.3 秀丸: 8.35 32bit は…

adb で簡単に YYYYMMDD-HHMMSS.png という日時ファイル名のスクリーンショットを取る方法

Windows の場合。以下の内容を cap.cmd という名前で保存。 setlocal set file=/sdcard/%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.png adb shell screencap -p %file% adb pull %file% . adb shell rm %file% endlocal実行はコ…

Ubuntu One サービス終了

IT

Ubuntu One がサービス終了となるようだ。 2014年4月4日号 Ubuntu Oneのサービス終了とサーバーサイドソース公開・ECS LIVA・MinnowBoard MAX・UWN#361:Ubuntu Weekly Topics|gihyo.jp … 技術評論社 6/1 でサービス終了、7/31 まではデータが保存されるそ…

xterm で cls

IT

コマンドプロンプトで cls を多用する。xterm にはメニューにバッファクリアはあるものの、マウスで選択したりするのは面倒で、なにか良い方法はないかと思っていたのだが、stackoverflow でズバリそのものの質疑応答を見つけた。unix - What commands can I…