ゆるふわキャンパー

ゆるふわキャンパー

このブログは読むと思わずキャンプに行ってみたくなってしまう楽しいキャンプノウハウをわかりやすく紹介するわけではなく、技術ネタ中心でたまに酒と釣りの話をします。

Synchronize Alfred settings in different mac
mac

Synchronize Alfred settings in different mac

Alfred最高うぅぅぅ!!!!!!!!!11111 全Macにインストール!!!!!!!!!! でもいちいちワークフローとかスニペット追加するたびに他のmacに設定するの面倒…。 そこで同期の出番です。そうPowerpackならね。 Alfredには設定ファイルを特定のパスに設定することができるので、設定先をDropboxにすれば設定がシンクされるのです。簡単。 以下のようにAlfredの設定から行える。神。神fred。
1 min read
Idempotence shell in Ansible
ansible

Idempotence shell in Ansible

nodejsをインストールするプレイブックを書いたんだけど、epelから入れると古いnodejsがインストールされてしまう問題があった。 そこで最新のnodejsをcentos7に入れるプレイブックに書きなおした。nodejs公式に案内されてるやり方で、まずcurl叩いてnodejs5系が入るリポジトリをインストールした。 こんな感じ。 - name: setup_5.x is downloaded get_url: url=https://rpm.nodesource.com/setup_5.x dest=/tmp/setup_5.x tags: nodejs - name: nodesource repo is installed become: yes shell: bash /tmp/setup_5.x tags: nodejs ところが、shellモジュールは冪等性が担保されていないモジュールなので、ansible-playbook -i
1 min read
Use swiftype in ghost
ghost

Use swiftype in ghost

サイト内検索をいい感じにしてくれるSwiftypeなるサービスを見つけた 個人利用で機能制限付きのアカウントなら無料で利用できるらしいので試してみた 登録後自動で30日のトライアルのプランになる。30日が終わるとfreeプランにダウングレードするか、有料版にアップグレードするか選ぶ感じらしい(最初からfreeプランにはできない) この辺mackerelもそういう感じだった気がする 登録してまずインデックスを作る サイトのurlを入力するとクロールされてインデックスがSwiftypeサーバー上に作られる サーチエンジン名は好きな名前にする このインデックスは複数のサイト分作成できて、それぞれサーチエンジン単位で管理ページに登録される(たぶんfreeプランだとこのサーチエンジンが上限1つ) サーチエンジンページ内では検索がどのように動くかのプレビューや、実際にページに設置するためのjavascriptのコードが取得できる 今回はjavascriptのコードを利用した トップページに検索窓を設置したかったのでghost/co
3 min read
Use gist permalink
gist

Use gist permalink

gistのraw urlはhttps://gist.githubusercontent.com/ユーザー名/gistのID/raw/コミットID/ファイル名となっている しかしこれはcurl -L https://gist.githubusercontent.com/ユーザー名/gistのID/raw/コミットID/ファイル名 | bashみたいなことをする場合、gistの内容を更新するたびにコミットIDを変えなくちゃいけなくてめんどくさい と思ってたらコミットIDを省略してhttps://gist.githubusercontent.com/ユーザー名/gistのID/raw/ファイル名のように書くと、最新のコミットを参照してくれるようになることを知った! ただ変更後の状態を参照できるようになるまでに数分ほどかかるのが難点…。
complete:13: command not found: compdef
mac

complete:13: command not found: compdef

いつのまにかシェルのセッション開くたびcomplete:13: command not found: compdefが出て死にそうだった 原因 Google Cloud SDKインストール時にzshの設定ファイルに追記されるsource '$HOME/google-cloud-sdk/completion.zsh.inc'が原因だった($HOMEのところはハードコードされてると思う) これはgcloudコマンドを補完するために必要っぽい よくわからないけど、これが原因でzsh-completionsがうまく動かなくなっていた というかcomplete:13: command not found: compdefって出てるけど、completeコマンド自体、bashのビルトインコマンドでzshには含まれてない にもかかわらず$HOME/google-cloud-sdk/completion.zsh.incを見るとbashcompinitをロードしてるしcompleteコマンドを使っている その辺が原因なのかな…。zsh用にcompletion.zsh.
1 min read
リバー・オブ・ザ・イヤー2015
river

リバー・オブ・ザ・イヤー2015

この記事は川アドベントカレンダー25日目の記事です。 最後の日らしく、今年のベスト・オブ・リバーを発表します!!!!!!!!!!1 第一位・荒川 第一位は荒川です!!!!! 写真はめっちゃ氾濫している荒川の写真です。(高校生の時撮った) 第二位・荒川 第二位はなんと、荒川です!!!! 写真は荒川・入間川合流地点でカヤックを楽んでいる写真です。 第三位・荒川 来ました荒川!!三位にランクイン!二位とは僅差でした!!! 写真は治水橋上流を写したものです。美しいですね。 第四位・荒川 意外にも荒川は第四位でした!! 荒川大橋のライブ映像のリンクを貼っておきますね。 http://www.ktr.mlit.go.jp/arajo/arajo00093.html 第五位・荒川 なんとかランクイン!!荒川です!!!! 写真は荒川水系の一つである、びん沼川の支流の一つである新河岸川放水路の写真です!!! いかがでしたでしょうか。皆さんの好きな川はランクインされていましたでしょうか? 来年も
2 min read
荒川で蜂に襲われた話
river

荒川で蜂に襲われた話

この記事は川アドベントカレンダー15日目の記事です! 私は小学生くらいから荒川へ釣りに行くようになり、よく通っていました。 荒川は川幅日本一を誇る場所(鴻巣らへん)がありますが、川幅と行ってもほぼ河川敷で水は無く、なんとなくずるい感じです。 今回は荒川で蜂に襲われた思い出を話します。 中学生くらいのころ、1人で荒川に釣りに行った時のことでした。季節は夏でした。私のよく行く荒川の岸は写真のように消波ブロックと樹木に覆われた場所が多く、足場が悪いです。 その日もそんな場所で釣りをしていたのですが、運悪く、根掛かり(水中の障害物にルアーや仕掛けが引っかかってしまうこと)してしまいました。 お気に入りのルアーだったので何とか回収したい思いでした。そんなとき、アイツの音がすぐ近くから聞こえるではありませんか!そう、昆虫でも最強種に数えられるスズメバチです! 私は蜂が大変苦手なのですぐにでも逃げたかったのですが、足場が悪い上に根掛かりしていて逃げられません!スズメバチは明らかに私を認識しており、威嚇するように周りを飛んでいます。 私は半分パニックになり川
2 min read
柳瀬川で鯉を釣る方法
fishing

柳瀬川で鯉を釣る方法

この記事は川アドベントカレンダー12日目の記事です! 柳瀬川は埼玉県所沢市らへんが源流で、最終的に埼玉県志木市にて新河岸川に合流する一級河川です。 子供の頃から近所にあり、自転車で最上流見に行ったり釣りをしたり泳いだり焚き火したりしていました。 最上流はドブみたいな感じでした。 さて、柳瀬川には鯉が多数生息しており、子供の頃からよく釣って遊んでいました。今回は柳瀬川で鯉を釣る知見を共有したいと思います。 道具 竿とか 安物で十分です。リールがついていたほうがやりやすいので、上州屋で3000円くらいで竿・リール・糸がセットになっているものが売っているので買えばいいと思います。 しかけ しかけといっても、おもりも浮きもいりません!針だけで十分です。シンプル! ワーム(疑似餌)用の針が良いと思います。上州屋で買えます。 こんなの。 サイズは2/0ってやつでいいと思います。 餌 食パンを使います。フジパン本仕込み8枚切りがおすすめです。 フジパン本仕込みはもっちりしていて、他のパンに比べ水に濡れても針から取れにくいです。鯉の食
3 min read
github

You may be getting rate limited by Github

docker-machinアップグレードしようとしたらこんなエラーが $ docker-machine upgrade dev Detecting the provisioner... Downloading latest boot2docker iso... Error demarshaling the Github API response: json: cannot unmarshal object into Go value of type []struct { TagName string "json:\"tag_name\"" } You may be getting rate limited by Github. どうやら制限がかかったらしい GitHubのトークンを指定してあげればOK $ docker-machine --github-api-token=<トークン> upgrade dev Detecting the provisioner.
1 min read
coreosのisoイメージファイルからdockerベースイメージを作ってみた
docker

coreosのisoイメージファイルからdockerベースイメージを作ってみた

この記事はフィードフォースエンジニア Advent Calendar 2015、7日目の記事です。 6日目はtjinjin氏のオフィス移転に向けてインフラエンジニアが検討したことでした! 改めましてこんにちは。アウトドア派のLorentzcaです。 先日、会社の忘年会が中華レストランでありまして、私は体調がベストではなかったのですがそんなことは気にせず紹興酒をたくさん飲んだところ次の日体調も良くなり酒も残っていなかったので紹興酒は体にいいことがわかりました。これからも機会を逃さず紹興酒を口にしていこうと思います。 さて、今回の記事のネタとして、「coreosのisoイメージファイルからdockerベースイメージを作ってみた」を考えておりました。 既存のdockerのベースイメージから新しいイメージを作成する方法に関してはやり方を書いた記事もたくさんあり、わかりやすい公式のドキュメントもあるのですが、 大元となるdockerベースイメージそのものの作成方法に関してはあまり情報がなく(あるにはあるのですが特定のディストリビューションに限定されている)、面白そうだった
4 min read
Wrote a feedforce engineer's blog
mac

Wrote a feedforce engineer's blog

すんごい久しぶりに会社の技術ブログを執筆しました! SELinuxでlogrotateが失敗した話 うんこみたいな個人ブログばっかし書いてるので、会社ブログはちゃんと書こうと思ってがんばったので参考書籍とか、どんなこと考えて書いたか、メモしておく! 参考書籍 結城 浩さんの数学文章作法 基礎編を手元に置きながら書きました。小さくて厚みも無い本だけど全部実践するのは不可能なので主に最初の方の章だけ実践しました。 本自体読みやすいし持ち運びしやすいし、これだけあればいいやってなる。多分今後も何か書くときはこの本見ながら書くと思います。 考えたこと 本に書いてあることを意識して考えながら書いた。 読者のことを考える 本文にある3つの項目を穴埋め。 * 読者の知識 : linuxは普通に触れるけどSELinuxについては全然知らん * 読者の意欲 : SELinuxについて書かれたエントリ読み漁っている * 読者の目的 : SELinuxについて理解したい!設定を行いたい! ここは自分に当てはめて考えました。読者=ちょっと前の自分 として
2 min read
Create a Vagrant Box from an existing Virtualbox image
vagrant

Create a Vagrant Box from an existing Virtualbox image

概要 packer を使って既存のVirtualboxのイメージからVagrantのboxを作ってみますよ ※ 最初からvagrant使っている場合はvagrant packageコマンドでbox作成出来るます まずboxの元になるvirtualboxイメージをova形式でエクスポートする packerでvirtualboxのイメージをビルド元のタイプに指定したい場合、イメージの拡張子はovfかovaである必要があるのでまずはこれを用意します * VIRTUALBOX BUILDER (FROM AN OVF/OVA) virtualboxのエクスポート機能を使います このときovfのバージョンは2.0を選ぶこと When exporting from VirtualBox make sure to choose OVF Version 2, since Version 1 is not compatible and will generate errors like this: ... 拡張子がova, ovfと選べます
3 min read
Famima new sweets
famima

Famima new sweets

スイーツバーガー * こういうパン生地が厚いものはパン生地が硬かったり、パン生地の厚みの割にクリームが少なかったりして悲しい気持ちになることが多々あるが、スイーツバーガーは生地がふわふわでクリームもしっかり入っている * まあまあボリュームがあるのでご飯多めに食べた後だと食べるのがめんどくさくなるかもしれない * 個人的にはもっとメープルシロップを入れて欲しかった * メープルシロップはもう少し樹液のフレーバーが強いのがよかった * メープルシロップ味のクリームにすればパンに染みこんでぐちゃぐちゃにならないし良いのではないだろうか * 2015年現在、世界で流通するメープルシロップの71%がケベック州産である * ★★★☆☆ 備考 * 切れてるパンケーキ * しいたけ。うまい。 * ★★★★☆ * なめらかクリームシュー * ごくふつうのクリームパフ。すべての基準。 * ★★★☆☆
1 min read
Trying out mkr
mackerel

Trying out mkr

mkrとは * mackerelのcli * ホストの情報を表示したり、ステータス(workingとかmaintenanceとか)を操作できる * ホストの追加やメトリックの投稿が出来る 使いどころ 他のツールと組み合わせて色々できそう * aws-sdkと組み合わせてTerminateされたホストを自動で退役 * chefと組み合わせてmackerel-agentインストール時にサービス、ロールの割り当てを自動でやる mkrコマンド例 jqコマンドと組み合わせて特定の条件のホストを一括操作できる 空のホスト作成 * mkr create --status 初期ステータス -R サービス名:ロール名 ホスト名 * 2t6iqB5b7e7はID * このIDをchef等で/var/lib/mackerel-agent/idに書き込めばそのサーバーの監視が始まる $ mkr create --status maintenance -R ponpokopon:mkrtest mkrtest created 2t6iqB5b7e7
1 min read
Use map of terraform
terraform

Use map of terraform

terraformで変数を条件によって使い分けたい場合、マップという仕組みを使うとうまく出来ることを知った。 例えば、awsでサブネットのCIDRを切りたい場合。 ap-northeast-1aの場合は10.0.0.0/24を、 ap-northeast-1cの場合は10.0.1.0/24としたい場合、以下のように変数をマップする。(って言い方で合ってるのかな?) variables.tf variable "subnets_cidr_block" { description = "subnets cidr block" default = { ap-northeast-1a = "10.0.0.0/24" ap-northeast-1c = "10.0.1.0/24" } } main.tfでは以下のように呼び出す。 main.tf resource "aws_subnet" "1a" { vpc_id = "${aws_
1 min read
Mackerel Meetup #4 Tokyo #mackerelio
mackerel

Mackerel Meetup #4 Tokyo #mackerelio

Mackerel Meetupに行ってきました ٩( 'ω' )و 内容とメモと感想 ほぼ生メモなので後で改修するかも 発表資料 公開されていたので追記! ▽進化するMackerel:最新機能アップデートとロードマップの紹介  https://speakerdeck.com/stanaka/mackerel-meetup-number-4 ▽ ビズリーチの新サービスとMackerel  http://www.slideshare.net/ki38sato/mackerel-meetup 19:30-20:00 進化するMackerel:最新機能アップデートとロードマップの紹介@stanaka * mackerelの紹介から入った サービスkpiグラフ化事例 収益のグラフ サーバーのリソースだけではなくサービスとしての価値を含めて使える(自前で用意すればなんでも可視化できる感) mackerelじゃなくてもそういうことはできるけどやっぱり比較的簡単にできる(様に見える)のが魅力 * 1月からのアップデート紹介 毎週何かし
3 min read
ruboty-bomb
ruby

ruboty-bomb

rubotyのプラグイン手作り体験( ・ㅂ・)و ̑̑ 理解のためrubotyプラグインジェネレータ使わないで手作業 gemのひな形作成 $ bundle gem ruboty-bomb ハンドラとかアクション追加 $ cd ruboty-bomb $ cat lib/ruboty/handlers/bomb.rb require "ruboty/bomb/actions/bomb" module Ruboty module Handlers class Bomb < Base on /bomb/, name: 'bomb', description: 'output booooom!!!' def bomb(message) Ruboty::Bomb::Actions::Bomb.new(message).call end end end
1 min read
Provider 'digitalocean' not found
digitalocean

Provider 'digitalocean' not found

terraformアップデートしたら $ go get -u github.com/hashicorp/terraform 使えなくなった(´;ω;`) $ terraform plan -var do_token=$DIGITALOCEAN_TOKEN There are warnings and/or errors related to your configuration. Please fix these before continuing. Errors: * 1 error(s) occurred: * Provider 'digitalocean' not found 本来なら、terraform-provider-digitaloceanとかterraform-provider-awsみたいなバイナリもないとだめなのだが、コンパイルされて~/.go/bin以下に置かれたのがterraformバイナリのみだったのが問題っぽい なぜそうなるのかは謎 再インストールしてもダメだったので諦めた 何の根拠もなくbrewで入れなおした
1 min read
Trying out Kitematic
mac

Trying out Kitematic

DockerからKitematicというプロダクトがリリースされたよ〜とメーリングリストで来たのでインストールしてみた インストールする前は The easiest way to use Docker on your Mac. という文面しか見ていなかったので、boot2docker使っていたんですが、乗り換えられるかなというイメージを持っていた 実際はDockerコンテナを非専門家でも使えるようにした学生プロジェクトKitematicをDockerが買収 の記事にあるように、非専門家向け インストール 公式サイトからzip落としてきて展開するだけ(Kitematic(Beta).appが出てくる) もしくはbrew cask使って入れられるっぽい(試してない) $ brew search kitematic Caskroom/cask/kitematic 起動 起動すると既にイメージが幾つか入っている boot2dockerと同じく、vmが立ち上がってその中でdockerを動かす感じ Kitematicはホスト
2 min read
Create docker cluster by fig
docker

Create docker cluster by fig

figでdockerのクラスタを作成するチュートリアルをやった! Macでやった webとdbで別々のコンテナを使って、railsを動かす boot2dockerインストール・起動 インストール $ brew install boot2docker boot2docker立ち上げ $ boot2docker init $ boot2docker start $ $(boot2docker shellinit) figインストール $ brew install fig Dockerfile作成 * rubyのイメージを使う * 必要なパッケージ入れる * myappディレクトリ作成 * ワーキングdirectoryを設定 * ローカルのGemfileをコンテナに配置 * bundle installする * myappディレクトリをコンテナに配置 FROM ruby RUN apt-get update -qq && apt-get install -y build-essential libpq-dev RUN
2 min read
Building rocket
vagrant

Building rocket

rocketをbuildするよ buildする環境を構築するVagrantfile作った。 vagrant up後、ログインして以下を実行する $ git clone https://github.com/coreos/rocket.git $ cd rocket; ./build するとbinディレクトリが作成される binディレクトリの中にバイナリファイルrktがビルドされる あとは普通に使える $ bin/rkt NAME: rkt - rocket, the application container runner USAGE: rkt [global options] [command options] [arguments...] VERSION: 0.3.2+git COMMANDS: enter Enter the namespaces of an app within
1 min read