読者です 読者をやめる 読者になる 読者になる

ぶていのログでぶログ

思い出したが吉日

デュアルキーボードを始めた

周りでセパレート型のキーボードがこっそり流行り始めたので、波にのるべくデュアルキーボードで擬似セパレートキーボードを始めた。 とりあえずわかったことは、ブラインドタッチが下手だということ。 擬似セパレートにしたことで、ホームポジションから正…

iTerm2+tmuxでエスケープシーケンスを使ったクリップボードコピーがいい感じになっていた

tmuxで set-option -g set-clipboard on を設定して、iTerm2の設定からApplications in terminal may access clipboardを有効にするとエスケープシーケンス(OSC52)を使ってクリップボードにコピーされる。 …が、700byteくらいでコピーした内容が途切れてしま…

よく使うpuppetモジュールの紹介

これは pepabo Advent Calendar 2016 - Qiita の12日目の記事です。 昨日は id:kumak1 さんの 好きなキーボードを使い続けるためにキーボード作り始めたでした! こんにちはこんにちは。 ペパボではサーバの構成管理にpuppetを使用しています。 日々の業務で…

📝 docker版re:dashでDBマイグレーションする

re:dashを0.11.0+b2016から何を思ったか1.0.0+b2521まで上げたのでその時に実行したDBマイグレーションのメモ。 以下のサイトを参考にした。 laughingman7743.hatenablog.com # dockerホストで実行 $ docker-compose exec redash /bin/bash # env | grep RED…

mackerelメタデータでパッケージ一覧を管理するCLIツールを作った

この記事はMackerel Advent Calendar 2016の5日目の記事です。 昨日はww24さんによるRaspberry Pi を Mackerel で監視するでした! 先日、Mackrelにメタデータ機能がリリースされましたね! 早速メタデータ機能を使ったMackerelの活用方法を考えてみました!…

Windows10 Anniversary Updateをインストールした

8/2にリリースされたWindows10の大規模アップデートを早速インストールしてみました。 本当はリリース当日にやりたかったのだけど、インストール途中に突然電源が落ちる謎の現象が発生…。 結局、MediaCreationToolを使ってインストーラを作ってクリーンイン…

Re:dashの日付フォーマットをYYYY/MM/DDにする

最近、社内ツールとしてRe:dashを導入しました。 DBやTreasureDataなどへアクセスするツールとしてとても便利なツールです。 また、Dockerに対応したおかげで docker-compose up するだけで環境構築できるのもお手軽でいいですね! で、実際に使ってみている…

Nginxの真偽値とmruby_setの戻り値について

ngx_mrubyを使ってNginxを制御するときに、 mruby_set と if を使うことが多いと思います。 例えばiPhoneからのアクセスの場合のみ特定の処理をしたいとします。 その場合以下の様なコード(nginx.conf)になると思います。 mruby_set_code $is_iphone ' hin =…

CiscoのCatalyst2960G-8TC-Lを手に入れた

Ciscoのファンレス、ギガ8ポートなスイッチがヤフオクで8000円で出ていたので2台ほどポチってしまった! Ciscoといえば、知る人ぞ知るネッワーク機器の巨人! ビジネスとか会社ではよく使うけど、コンシューマが使うにはハードルが高い。 しかし、自宅サーバ…

Mackerel UG Meeting Vol.1を開催しました。

Mackerel User Group Meeting Vol.1 - connpass Mackerel User Groupコアメンバーとして参加していて、今日はUG初のミーティングを行いました。 ご来場いただいた皆様ありがとうございました 発表していただいた内容がどれも個性的で、Mackerelの使い方は無…

貴様は今までにSlackで審議リアクションを付けられた数を覚えているのか?

貴様は今までにSlackで審議リアクションを付けられた数を覚えているのか?— ぶてい (@buty4649) 2016年5月25日 A. 85 Slack APIでリアクションが取れることを知ったので実際にカウントしてみた。 最初 reactions.list で取ろうと思ったけど、これはリアクシ…

AtCoder034のA,BとAtCoder038のA,B,Cを解いた

先週サボってしまったので社内で課題になっていたAtCoder034と、来週までの宿題のAtCoder038を解いた。 AtCoder034 A: Submission #748515 - AtCoder Beginner Contest 034 | AtCoder B: Submission #748523 - AtCoder Beginner Contest 034 | AtCoder 特筆…

AtCoder035を解いた(その3)

buty4649.hatenablog.com 前回解けなかったAtCoder035のCを解き直した。 マスクビット列の生成を文字列 -> to_iしていて(("1" * n).to_i(2)) 遅かったので、Integerで作るようにした。 n個の連続した 1を作るには 2^(n-1)-1 すればいい。 前回よりも解ける範…

AtCoder035を解いた(その2)

buty4649.hatenablog.com 前回解いたAtCoder035をもう一回解き直した。 まず最初に作ったのはテストを追加した。 例題の問題を突っ込んで、答えがあっているかを確認するだけ。 https://github.com/buty4649/atcoder/tree/master/035/spec 次に、Aを直した。…

CentOS7用のtmux-2.2をビルドするやつを作った

github.com 踏み台サーバ(社内ではbastionと呼ばれている)はCentOS7なのだけど、なぜかtmux-1.8しか入らなかった。。 tmuxはバージョンアップで色々と機能が増えていて最新のモノが使いたかったので、Dockerでビルドしてくれるくんを作った。 といいつつも1…

ブロック暗号について学び、そして、ksnctf 25と8と22を解いた

社内でセキュリティ勉強会をやっている。 去年は徳丸本を輪読して、今年は結城先生の暗号技術入門を @alotofwe がまとめてきてくれる資料を元にふむふむなるほどーっと言っている。 今日は、ブロック暗号のモードについてやった。 前回まででECBとCBCについ…

AtCoder035を解いた

最近社内でAtCoderを解いて、互いにレビューしよう!みたいなことをやっている。今週のお題は035。 abc035.contest.atcoder.jp 1時間1本勝負で解いてみた。 といっても、1時間で解けたのはAとBだけで、Cは途中まで手をつけて回答を送信したのが1時間20分くら…

100行あったmod_rewirteを ngx_mrubyで書き換えた話というタイトルで発表しました!

speakerdeck.com 第5回ペパボテックカンファレンス〜インフラエンジニア大特集〜 - connpassという会社のカンファレンスで発表しました! 発表後に id:matsumoto_r から補足いただきました! ありがとうございます m( )m luaを積極的に使う場合はブロックす…

iPhone5とSoundBlaster E5で192KHz/24bit な環境を作る 発動編

すごく前に書いた記事なのだけど、接触編を書き上げてその後発動編の途中まで書いて運用の手間により飽きてしまい、この記事は下書きのまま放置されていました。。 去年の5月にSoundblasterE5のアップデートが提供され、iPhone直結でもハイレゾ再生ができる…

SSD/Linux-0.4のDocker imageを作った

https://hub.docker.com/r/buty4649/ssdlinux-0.4/ SSD/LinuxとはSotokanda Software Distribution/Linuxの略で、ぷらっとフォーム社が販売しているOpenBlocks、OpenMicroServerシリーズにインストールされているOSです。 http://openblocks.plathome.co.jp/…

オブジェクトが多すぎて削除できないS3バケットを削除するツールを作った

github.com 不要なS3バケットを削除しようと思って、 s3cmd rb --recursive --force s3://foobar を叩いたけど全然削除されなかった。。。 WebUIから削除しても エラー としか表示されずなぜか削除できない。。 ネットで調べるとどうやらオブジェクトが多す…

メモ: CentOS5でNginxのSRPMからRPMをビルドするために必要なこと

最近CentOS5でNginxのRPMをビルドする必要に迫られたので、その時にハマったポイントをメモしておく。 ちなみに、CentOS6以上だったりUbuntu14.04以上だったら id:h-sbtさんのngx_muby-package-builder使うのが便利。 github.com 1. yum-builddepがコケる yu…

NAT環境下でLet's Encrypt!の証明書を発行する

Let's Encrypt! めっちゃ便利ですよね! 気軽にSSLが使えるようになったし、HTTP2も導入しやすくなったと思います。 今まで実はLet's Encrypt! 使ったことなかったのですが、最近使う機会があって使ってみました。 ですが、なんと NAT環境下(Vagrantとか)で…

mkrとjqでhostsを生成するワンライナー

jqをゴニョゴニョしたらいい感じにできたのでブログに書いておく。 以下、前提条件 WAN/LANそれぞれのIPを登録する WANは eth0 のIPで登録する LANは eth1 のIPで登録しホスト名のTLDを .jpから.lan にする $ mkr hosts | jq -r '.[]|[.ipAddresses.eth0,.na…

puppet-lintでペパボコーディング規約をチェックするプラグインを作った

この記事は Pepabo Advent Calendar 2015の14日目の記事と Puppet Advent Calendar 2015の24日目の記事です。 ペパボアドベントカレンダーのネタを考えていたのですが、全く思いつかなかったのでこの記事を兼用とさせていただきます。。 ペパボでは、サーバ…

mackerelでSNMPな機器をホストとして管理する

この記事は Mackerel Advent Calendar 2015の22日目の記事です。 昨日は id:papix さんのMackerelを使ったデプロイの仕組み 〜Reactio編〜でした。 先日、Mackerelでネットワーク機器のようにSNMPな機器を管理するにはどうしたらいいか?っと社内Slackで聞か…

明日から使えるかもしれないカスタムfacter5選

この記事は Puppet Advent Calendar 2015 の11日目の記事です。 昨日は @udzura さんのPuppet - Defined Type の使い所を考える - Qiita でした! みなさんpuppetizeしてますか!!! 今日は私が普段使っているカスタムfacterをご紹介します。 前提 Master/A…

hubot-slackでattachmentsを使う

この記事は、Pepabo Advent Calendar 2015の3日目の記事です。 昨日は私のプロンプトにランダムに絵文字を表示すると楽しい でした。 現在、 2015年12月3日の25時です!!! hubot-slackでAttachmentsを使う方法を共有します! Attachmentsとは? Attachmentsと…

puppetでカスタム関数を作る

この記事はPuppet Advent Calendar 2015 の二日目の記事です。 昨日は id:udzura さんのCheferのためのPuppet でした。 みなさんpuppetしてますかー?! 私はpuppetをガリガリ書いています! 最近、mysqlのserver-idを生成する カスタム関数を作りました! …

プロンプトにランダムに絵文字を表示すると楽しい 😄

この記事はPepabo Advent Calendar 2015の2日目の記事です。 昨日は鹿くんの「メンタリング」は、可能か? でした。 Web業界ではプロンプトに絵文字を使うのが流行っているようなので[要出典]、私も真似して設定してみました! ただ、毎回固定だと面白くない…

git grepでヒットしたファイルをvimで開けると便利

git grepしてヒットした内容を確認して、ファイル名をコピーして… っていうのがめんどくさいので、pecoとか使ってvimで開けると便利だなぁっと思ったのでワンライナーを作ってみた。 $ git grep -n $KEYWORD | peco | awk -F: '{print $1}' | xargs -I% bash…

sudo/put/getタスクを定義するととても捗る

fabricは fab -H host1 -- foo bar みたいにすると、 fabfileを書かずともワンライナーでお手軽コマンド実行ができる。 だけど、ワンライナーなコマンドをsudoしたいなーとか 1つのファイルを転送したいなーって時にもfabfileを書かなくてはいけなくて少し面…

pvコマンドで転送速度制限ができることを知った

-L オプションで転送速度制限かけることを知った!!! ナンテコッタイ! これは便利だ〜〜

mackerel meetupでLTしてきました #mackerelio

Mackerelでデプロイ先を管理する #mackerelio from buty4649 www.slideshare.net 【祝一周年】Mackerel Meetup #5 Tokyo #mackerelio mackerel meetup #5ででfabricとmackerelを使ったデプロイ先の管理について話してきました! ほんと、mkrコマンド便利です…

Galaxy Tab S8.4が息を吹き返しました

やったぜ! 9時間かけてfw落としてodinで流し込んだだけ! ヒャッハー!!

Galaxy Tab S8.4が文鎮化しました

Re: 文末のカンマを付けずに改行区切りのファイルを1行のカンマ区切りにする

文末のカンマを付けずに改行区切りのファイルを1行のカンマ区切りにする - ぶていのログでぶログbuty4649.hatenablog.com 前回、↑のような記事を書いたところ id:lamanotrama から paste コマンドでできるよっと教えてもらった!!! $ cat hostlist host1 h…

文末のカンマを付けずに改行区切りのファイルを1行のカンマ区切りにする

サーバのオペレーションをしている時、ホスト名のみを羅列したファイルを用意して pssh や fabric なんかでワンライナーを流すみたいなことをよくやる。 $ cat hostlist host1 host2 host3 pssh は -h hostlist とかするとそのままファイルを読んでくれるが…

VAIOZ(VPCZ14AGJ)をWindows10にした

Windows10でましたね!! 私も早速アップデートしました! 無料だし!! 無料だし!!!!

seqコマンドがとても便利だった件

連番を生成する seq コマンドがとても便利だということに気が付きました。。 今まで、for文でいいじゃんとか思っててすみませんでした orz -f オプション -f オプションで指定のフォーマットで出力できるのです!!! 例えば、連番のホスト名を生成したいと…

fabricでワンライナーを実行する方法

メモ $ fab -H system1,system2,system3 -- uname -a fab options and arguments — Fabric documentation

pvコマンドを適切に配置してETAを表示する

パイプで挟むことで進捗表示が出来る pv コマンドとっても便利ですね。 ncコマンドでファイル転送するときにpvコマンドで進捗を表示する - Glide Note - グライドノートblog.glidenote.com しかし、パイプの順番を考えないとETAが表示されません。 例えば、g…

Slackでbotをstarすると死活監視ができて便利

意外と便利っと社内で言われたので調子にのって知見共有します。 このように、botが生きてると●がついて、死んでると●になるので死活監視できます。 ご活用ください

YAMLを入力してerbを使って出力する奴を作った

2015/07/27追記 id:lamanotrama さんから * JSONじゃなくてYAMLでは? * それglidenote(さん)が作ってるよ - glidenote/genecon · GitHub っていうことを教えてもらいました!あざまっす! やっぱり車輪の再発明だった!つくりこまなくてよかったー サーバか…

Vagrantで複数のNICを追加する方法

備忘 c.vm.network :private_network, "ip" を複数回書くとその分だけNICが追加されるようだ Vagrant.configure(2) do |config| config.vm.define :hoge do |c| c.vm.box = "puppetlabs/centos-7.0-64-puppet" c.vm.hostname = "receiver" c.vm.network :pri…

pssh+シェル芸を投げ捨ててfabricを使い始めた時にハマったことのメモ

先日、複数台のサーバに設定を投入しないといけない事案が発生した。 システムを運用していると頻繁にあるけど、そういう時は台数がすくなければ sshで入って…台数がおおければシェルスクリプトを書いてpscpでそれを撒いてpsshで実行していた。 しかし、シェ…

Geforce GTX 750tiを買ったのだが…

nvencが試したくて先週ポチッてしまった。 今どきならGM20X系にすれば、HEVEC対応だったりするのだが、 ハイエンドモデルを自鯖にぶっ刺すのは騒音的にもお値段的にもきついので ミドルレンジモデルのGeforce GTX750tiにした。 んで、さっそく鯖にさし、いつ…

うっかり長時間かかるコマンドを打った後に終了通知コマンドを追加する

バックアップデータのrsyncなど長時間かかるコマンドは、待っているあいだに他の作業も行いたい。 だけど、他の作業に夢中になってしまいコマンドの実行がかなり前に終っていたなんてことがある。 そういうときは、コマンドが終了したら takosan にPOSTしてS…

ワンタイムパスワードジェネレータを作った

会社でGH:EやSlackの二要素認証(2FA)有効化をしたら、 どういう仕組みで認証しているのか気になったので調べて作ってみた。 というのは建前で、GW前にこんなことをつぶやいたらhsbtさんに ふぁぼられてしまったのでやらざるを得ない状態になったのであった。…

iPhone5とSoundBlaster E5で192KHz/24bit な環境を作る 接触編

ハイレゾ音源を聴いてみたい! ってことで、SoundBlaste E5を買ってしまった。 http://jp.creative.com/p/sound-blaster/sound-blaster-e5 いわゆるDAC内蔵ポタアン。 これを選んだ理由は 全部入りだから。 USB-DACとしても使えるのでポタアンに飽きたらPCに…