@ka2n

Technology and beer

シェルスクリプトの変数が空だったら指定の値にする時のTips

シェルスクリプトで変数が空の場合にだけ代入することができる便利な機能がある。 ${variable:=value} $variableが空の場合のみvalueが値に入ります。 しかし、実際に入力してみるとcommand not foundになる。 bash-4.3$ ${variable:=value} bash: value: co…

tmuxで画面分割時に現在のディレクトリを開く

画面分割(と新規window)には初期ディレクトリを指定する-cオプションが用意されているので、各キーバインディングを-cオプション付きにbindし直してやると実現できる。 bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_…

Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN

iOSアプリをビルドするとき表題のエラーに遭遇したので対処方法をメモしておく. 2016-03-11 19:11:18.514 xcodebuild[60812:3928219] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-9544/DVTFoundatio…

MacのBluetoothから不要な機器を削除する方法

Optionを押しながらメニューバーのBluetoothアイコンを選択する。すると各機器のサブメニューから削除できるようになっている。 なるほどわかりにくい。

エディタをAtomにした

先輩に影響されて自分も使うようになって以来かれこれ6年ほどvimを使ってきたが、今週Atomに乗り換えた。 普段はRails, JS, iOSアプリ(Objective-C)を書いていて、趣味でES2015, Elixir, iOS(Swift)を触っています。 iOSアプリはXcodeをメインに、たまにAppC…

2015/10/26

ATOKを買った。MacをEl Capitanにして日本語入力を使ってみたら自分のMacには重くて「今日はててててててて」のようになってしまうので上手く使えず、ATOKを使ってみようと思い立った。 体験版はだいぶ昔に使ったことがあったので体験版としては使用できなか…

2015/10/24

溜まっていた本を読んだ。 シャオミ(Xiaomi) 世界最速1兆円IT企業の戦略作者: 陳潤出版社/メーカー: ディスカヴァー・トゥエンティワン発売日: 2015/07/16メディア: Kindle版この商品を含むブログを見る 太字だけ読んだ。スピードとタイミング大事。 日本…

日記

初回のリクエストはサーバサイドでHTMLまで組み立てて、2度目からAjaxやWebSocketでページを更新する。これをサーバーとクライアントでDRYにしつつ行いたい。ReactJSのサーバーサイドレンダリングって、サーバーのViewファイルをすべてReactJSのView定義に置…

マインクラフトをはじめた

なんで流行っているのか分からなくて気になっていたのと、最近ようやくゲームする時間が作れるようになったので入れっぱなしにしていたマインクラフトをやりはじめた。iPad miniに入れているのでPocket Editionというやつ。PC版じゃないと!と思ったりもした…

werckerのstore stepを早く終わらせる

werckerでCIしている時、最後にstoreというstepが勝手に挿入される。 これはビルドしたコンテナをそのままデプロイするため、一旦イメージファイルにして保存している(のだろうと思う)。なにもしないと5分くらいかかっていた。 ビルド結果をそのまま使ってデ…

土用の丑

ハワードに誘われて台北で一番有名な鰻屋に行へ。肝の吸い物期待してたけど存在しなかった。どうもこっちの人はうな重だけでなく天ぷらなど、あれやこれやを頼むスタイルのようだ。昼はうどんだった。日本にいるみたいだ。

neovimの:terminal, :teがよい

:terminalまたは:teで中で仮想端末を開けるオプションがneovimに組み込まれた。 nvimでも終了させないエディタとして活躍の可能性がでてきた。 TERMINALモードからは<C-\><C-n>で戻れる。 tmuxで分割した中で(n)vimを開いていて「あれっ移動できない」っていう問題が解</c-n></c-\>…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記 去年

Syntastic + Rubocop + Ruby2.1.2で上手く動かないので対処した

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 Ruby2.1.2で開発しているプロジェクトでSyntastic + Rubocopが上手く動かなかったので対処した。 Syntasticが構文解析に使っているgemのgithub.com/whitequark/pa…

1, 2, 3, 11, 12 みたいな数字をソートする

$ ls 123_1.txt 123_11.txt 123_12.txt 123_13.txt 123_2.txt 123_3.txt $ ls | sort -t '_' -k 2n 123_1.txt 123_2.txt 123_3.txt 123_11.txt 123_12.txt 123_13.txt

RubyでUTF8, UTF16のファイルをどちらか気にせず読む

対象のファイルがUTF8だったりUTF16だったりする時に何も考えずeach_lineで読み込む方法がわからないのでわかったらここに書く バイトオーダーマーク - Wikipedia UTF-16はBOM必須なので判別して File.open(<path>, 'rb:UTF-16')として読む</path>

Firefoxがアップデートして はてなブックマーク Firefox 拡張が動かなかったのでGithubから入れた

Vimperatorプラグインの let 再宣言エラーの修正 by teramako · Pull Request #12 · hatena/hatena-bookmark-xul · GitHub 取り込まれるまではこれを使わせてもらうことにした。 ghq get teramako/hatena-bookmark-xul cd ~/src/github.com/teramako/hatena-…

あけましておめでとうございます

2015/1/1 Taipei 101

移住にあたってやったこと一覧

メモです 関係各所への報告 手続き 銀行、クレジットカード、証券口座の住所を一旦実家に変更 幸いすべてオンライン(+場合によっては本人確認書類の返送)で届け出はできるので楽 役所に転出届けして健康保険の精算 実家へ郵便物の転送してもらうように手続き…

MailChimpのパスワード設定欄が非常に分かりやすい

Nexus5をLolipopにアップデートした

正式版がリリースされたAndroid 5.0(Lolipop)だけど、プレビュー版を入れていたNexus5にはOTAがこないようなので手動で正式版にアップデートした。 Factory Images for Nexus Devices - Android — Google Developers からHammerhead用のイメージをダウンロー…

OSXのGUIアプリで/etc/hostsを編集したい(途中)

チーム開発での諸問題を解決するため/etc/hostsにエントリを追加/削除するソフトを作ろうと思った。上のバーに常駐するタイプのアプリは作ることができたんだけど、ファイル編集でroot権限が必要なのでそこが今までと違うタイプのスキルが求められてるっぽい…

移住

来月から海外へ住む事が決まった。あまりある事ではないので、しばらくブログに書き留めていこうと思う。

夜は自己嫌悪で忙しいんだ

2012 4/27 東京ボーイ ~夜な夜な夜な少女IN~ - YouTube

Xcode6からsymbolicatecrashの場所が変わった

Xcode6以前 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash Xcode6以降 /Applications/Xcode.app/Contents/SharedFramewo…

Genymotion

最近Androidを使うようになり、そろそろ開発を始めようと手をつけ始めました。 http://www.genymotion.com VirtualBoxにAndroid入れて動かせば早いよね!という製品。 商用で展開していたんですね。上位プランはより実機に近いパラメータのエミュレートやセ…

Martiniのrender+ sessionauthでテンプレートからログイン中のユーザーを取得する

martini-contrib/render と martini-contrib/sessionauth を組み合わせて使っている時に毎回各ハンドラでユーザーをrenderに渡していた。 関係ないところは省いてあるけどこんな感じ func main() { m := martini.Classic() m.Use(sessionauth.SessionUser(Ge…

なごや乗換ブラウザについて

2010年頃にTitaniumMobileを使って乗換案内アプリを作って公開してました。 名古屋市の地下鉄・バスの乗換案内を検索して表示するやつです、嬉し恥ずかし初めてのiPhoneアプリ。 書籍にちらっと載せてもらったためか、アクセスログを見てみたら検索してる人…

3分くらい後にYo仕返してくれるサービス作りました

ラーメンタイマーに使えると思ったけど、2分30秒くらいで食べ始めちゃうのであまり意味なかった。 けど、なんとなくYoして忘れた頃にYoが返ってきてると意外と嬉しいので寂しがりやの人にも良いかもしれない。 RAMEN3 で動いております。 https://github.com…

.ssh/configのホスト名をpercolで絞り込んでssh接続する

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 ライフチェンジング :smile: $ ssh `grep '^Host\s' ~/.ssh/config| awk '{for(i=2;i<=NF;i++) print $i;}' | percol`