体温が上がったり下がったり。やることもないのではてブ巡りしたり podcast 聴いたり kindle で読書してたり。
kindle paperwhite でマンガのページめくりが速くなった
Kindle Paperwhite 32GB、マンガモデル、Wi-Fi 、ブラック
- 出版社/メーカー: Amazon
- 発売日: 2016/10/21
- メディア: エレクトロニクス
- この商品を含むブログ (2件) を見る
漫画で長押しすると発動する高速ページ切り替え。漫画用に容量が多くなった paperwhite だからできる機能だと思ってた。それが前世代の10月のソフトウェアアップデートで可能になった。現状の paperwhite で満足しているのだけど、ページめくり性能で気になっていたので危なかった。oasis も気になるのだが、voyage のディスプレイがあわなかったので手が出せない。高いし。paperwhite 生活が続きそうだ。
EarPods を Apple Care で交換
何かしらのタイミングで再生が止まったりしておかしいなと思っていたら片方からしか音が聞こえなくなった。EarPods の前の世代は耳部分のゴムがすぐにボロボロになるし断線するしでよく交換してた。EarPods になってゴムじゃなくなって長持ちするようになったのだけどプラグ部分の方がやられてしまうようになった。ゴムが分離して耳の方まで移動して来てるとか。ポケットに入れた場合にイヤホンジャックの箇所に斜めの圧力がかかってしまうのが原因だろう。iPhone のサイズにぴったりなポケットじゃないと圧力をかけないようにするのは難しい。
会社の帰りにビックカメラに寄る。Apple コーナーに置いて無さそうだった。店員さんに聞きたかったのだけど客対応されていて捕まえられず。うろうろ探す。実物ではなく商品交換用のカードが置いてある場所が分かる。カードが2列並んでいた。どちらも同じだろうと思いこんでレジへ。
Apple(アップル) 純正 EarPods with Lightning Connector イヤーポッズ イヤホン ライトニング コネクター
- 出版社/メーカー: Apple
- メディア: エレクトロニクス
- この商品を含むブログを見る
結果、Lightning 版だった。前はプラスチックの入れ物だったのに紙になってた。レジで見せられた時も違うのは分かった。エコかなと勝手に解釈してた。
Apple 2016 iPhone SE SIMフリー 4インチ 【64GB スペースグレイ】- 米国版SIMフリー [並行輸入品]
- 出版社/メーカー: Apple Computer
- メディア: エレクトロニクス
- この商品を含むブログを見る
僕は iPhone SE なのだ。挿してみると使える。けど・・・聴きながら充電したい。MacBook Pro や Windows PC にも挿して使いたい。箱をバリバリに破ってるから返品ができそうな気がしない。Lightning からイヤホンジャックへの変換アダプタがあればと思ったけど無さそう。色んな意味で辛いのでそのままヨドバシへ。
探してたら店員さんが積極的にやってくるスタイル。Lightning じゃなくてイヤホンジャックの方をくださいと聞くと「apple care に入ってますか?」と返される。入ってたと思うと伝えると「交換できますよ」だってさ。マジかと思いながらも手続き方法を聞いて帰る。apple のサポートページがら交換の依頼を出す。後日、佐川さんがイヤホンを送って来てくれた。そのタイミングで古い方を渡して返した。便利。この際に返却しない場合は自動的に口座から買取の金額が引き落とされるので注意。
iPhone イヤホン 新品 未開封 Apple 正規品 純正
- 出版社/メーカー: アップル
- メディア: エレクトロニクス
- この商品を含むブログを見る
手元には Lightning とイヤホンジャックの二種類がある事に。ちょうど良いので聴き比べしてみる。
Lightning の方が音が軽く聞こえる。慣れもあるかもしれないけど、低音が弱く迫力に欠ける印象。イヤホンジャックを常用するとして Lightning の方は予備としてしまっておいた。
風邪ひいた
怪しいけど耐えてる感じだなぁとは思っていた。風邪ひいた。最近はひきにくくなってたのだけど。油断ばダメだ。熱は下がったけど喉が痛い。副鼻腔炎併発が怖い・・・一休み。
GitLab - Merge Request からマージした時にフックで蹴られると応答なしになる (様に見える
Merge Request で Web 上からマージをした際にフックで蹴られると UI では Accept Merge Request
のボタンがグルグルするだけで返ってこなくなる。実際には応答が返ってきているのだけど、javascript でエラーが発生してメッセージの書き換えに失敗している。せっかくマージリクエストの運用を始めようと思ったところでこれは辛い。Issue もあって Bug のラベルが貼られているけど 2 週間経っても動きがない。辛い。
辛いのでチラ見してみたら直せそうだったのでやってみた。
diff --git a/app/assets/javascripts/merge_request_widget.js.es6 b/app/assets/javascripts/merge_request_widget.js.es6 index 56c87af..f922a50 100644 --- a/app/assets/javascripts/merge_request_widget.js.es6 +++ b/app/assets/javascripts/merge_request_widget.js.es6 @@ -101,7 +101,7 @@ urlSuffix = deleteSourceBranch ? '?deleted_source_branch=true' : ''; return window.location.href = window.location.pathname + urlSuffix; } else if (data.merge_error) { - return this.$widgetBody.html("<h4>" + data.merge_error + "</h4>"); + return $('.mr-widget-body').html("<h4>" + data.merge_error + "</h4>"); } else { callback = function() { return merge_request_widget.mergeInProgress(deleteSourceBranch);
js を反映するために assets を反映。この際にパーミッションのエラーが出るので一時的に変えておく。
$ cd /opt/gitlab/embedded/service/gitlab-rails/public $ chmod 777 assets
assets の作り直し。
$ gitlab-rake assets:clean assets:precompile $ gitlab-ctrl restart
権限を戻す
$ chmod 755 assets
フックから返ってくるのは html というよりプレーンテキストであることが多いと思うので <h4>
じゃなくて <pre>
の方が良いと思う。
Merge Request を出したいのだけど、出し方をまだ勉強してないのでひとまずここまで。Issue に進展がなければやってみる。
Redmine - 未完了バージョンの内容をメールする
Redmine のバージョンが放置プレイ。リリースされてるのかされてないのか分からないチケット群。
通常はリリース時に状況確認するのだけど、最近はリリース作業から離れていたので Redmine との関わりが薄くなっていた。お任せ状態にしてメンテは特にせず。気がついたら荒れ放題。うるさい Redmine おじさんは必要で、こまめにフォローとメンテをしないとダメだなと再認識。
自分が居なくなったらどうなるんだろこれ・・・みんな便利さは感じているようなのだけど・・・まあいいや。
実際にはちょっと違うけど (固有の処理が入っているので)、以下のようなスクリプトを jenkins で定期的に実行することにした。
# スクリプトと同じディレクトリに config.yaml を置いておくこと # # 例) # url: http://xxx.xxx.xxx.xxx/redmine # api_key: abcedfgabcedfgabcedfgabcedfgabcedfgabcedfg # smtp: smtp.dummy.org # from: dummy@dummy.org # to: sample@dummy.org # subject: "Redmine から出荷状況のお知らせ" # message: "直近 2 週間と過去の完了していないバージョンをお知らせします。" # require 'open-uri' require 'json' require 'uri' require 'date' require 'net/http' require 'net/smtp' require 'yaml' def issue_id(issue) issue['id'].to_s.ljust(5) end def status_name(issue) issue['status']['name'].ljust(6) end def author_name(issue) issue['assigned_to']['name'].ljust(11) end config_path = File.join(File.expand_path(File.dirname(__FILE__)), 'config.yaml') config = YAML.load(open(config_path, &:read)) src_url = config['url'] api_key = config['api_key'] url = URI.parse(src_url + '/projects/1/versions.json?key=' + api_key) json = JSON.parse(open(url, proxy: false).read) limit = (Time.now + 60 * 60 * 24 * 14).strftime("%Y-%m-%d") buf = [] for version in json['versions'].select{|v| v['due_date'] != nil}.sort_by {|v| v['due_date'] } next if version['status'] == 'closed' next if version['due_date'] == nil next if version['due_date'] > limit buf << '' buf << sprintf("■ %s - %s〆 : %s", version['name'], version['due_date'], version['description']) buf << '' url_format = "%s/issues.json?fixed_version_id=%s&status_id=*&key=" url = URI.parse(sprintf(url_format, src_url, version['id'], api_key)) json = JSON.parse(open(url, proxy: false).read) # 終了(5)が下に行くようにソート issues = json['issues'].sort do |a, b| if a['status']['id'] == 5 1 elsif b['status']['id'] == 5 -1 else a['status']['id'] <=> b['status']['id'] end end closed = false for issue in issues if issue['status']['id'] == 5 && !closed buf << " ---" closed = true end buf << sprintf(" #%s %s %s %s", issue_id(issue), status_name(issue), author_name(issue), issue['subject'] ) end end Net::SMTP.start(config['smtp'], 25) {|smtp| smtp.send_message(<<-EndOfMail, config['from'], config['to']) From: #{config['from']} To: #{config['to']} Subject: #{config['subject']} #{config['message']} #{buf.join("\n")} EndOfMail }
メールが飛んで来ると Redmine おじさん作業を始め、メンテしろよコメントを入れていく。2 週間程度でようやくスッキリ。満足した。