DroneCIでパイプライン全体をfailさせずに後続のジョブを停止する

例えばmono repoで特定のディレクトリに変更があったときにだけジョブを実行したい、という様なケース。DroneCIのconditionはディレクトリ単位での変更でステップを実行するかという分岐はできません。かといってfailさせてしまうと、対象のディレクトリに変更がない場合はいつもfailする事になり、実際に問題があってfailしているのかどうなのか分からない、という事態に陥ります。 そんなときは exit 78 すると良いようです。 exit 78 したステップはsuccess、後続のステップは実行されず、(depends_on で設定しているような)後続のパイプラインは実行されます。 Reference How to exit a Pipeline early without Failing

2021-10-18 · nasa9084

iPhone 13 miniを買った

新型コロナウイルス感染症ワクチンの副反応(ということにした)で、iPhone 13 miniを購入しました。色はミッドナイトで、128GBのモデルです。 日々のご飯の写真くらいしか写真は撮らないし、大きいスマホは好きになれないのでminiを選択しました。これまで使用していたPixel 4が64GBのモデルだったので、ストレージは倍になったことになります。AppleCare+ 盗難・紛失プラン for iPhone 13 miniもつけて、107,600円でした。 最後にiPhoneを使っていたのはiPhone 5なので、実に8年ぶりくらいのiPhoneです。 iPad miniも買いましたが、買うかどうか一晩悩んだ結果発売日に届きませんでした。 以下開封写真です:

2021-09-26 · nasa9084

bashのhere-documentは一時ファイルを作成するらしい

皆さん使ってますか、here-document。bashでいうとこういう奴: cat <<EOF this is here document EOF 出力はこう: this is here document 複数行に渡るテキストをリテラルとして表現したい場合に便利ですね。で、shellscriptからREST APIにリクエストを投げたくて、here-documentを使ってJSONをべたっとスクリプト内で書いてたんですけど、こんなエラーが出てました(パスはもちろん違いますよ。念のため。): /path/to/shellscript/using/here-document.sh: line 179: cannot create temp file for here-document: No space left on device 全然知らなかったけど、here-documentって一時ファイルを作成するんですね。確かめてみます。 $ docker run -it --rm centos:7 bash [root@8017e5e28d6e /]# yum install -y strace (中略) [root@8017e5e28d6e /]# cat <<EOF > script.sh > cat <<EOS > foo > bar > baz > EOS > EOF [root@8017e5e28d6e /]# strace -f bash script.sh |& grep tmp [pid 61] stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ....

2021-09-08 · nasa9084

Huawei Band 6を買った

TL;DR: 割と良い。 スマートウォッチは長いことfitbit versa を使用していたのですが、最近プールに行くようになり、プール内で使用できるレギュレーションに対応したスマートウォッチ/スマートバンドが欲しいと思っていました。 私が行っているプールのスマートウォッチ/スマートバンドのレギュレーションは次の様になっています: ベルト幅が30mm以下でディスプレイがベルト幅および厚みから出ないものは使用可能 柔らかい素材のカバー等で覆えば使用可能 シリコン製カバーまたはウォッチスーツで覆えば使用可能 fitbit versaは一つ目のレギュレーションにマッチしていないため、柔らかい素材のカバー・シリコン製カバー・ウォッチスーツで覆えば使用可能、ということです。 とはいえ、fitbit versaはもう2世代型落ちのモデルです。ディスプレイを覆うカバーを見つけるのがそもそも難しい(あるにはあるけど)ですし、シリコン製カバーは何故か6個単位でしか売っていない ため、私の結論としてはレギュレーションにマッチするスマートバンドを買うのが早い、となりました。 じゃぁなにを買おうか、と考えたときに、私はPixelユーザですしfitbitのユーザでもありますから、Googleによるfitbitの買収を受けて、fitbitから良い感じの新製品が出るのを待ちたいという気持ちもありますから、あまりコストを掛けるわけにもいかないな、と考え、選択肢は自然とHuaweiかXiaomiの二択となりました。 いろいろ検討しましたが、最終的にはmi band 6 の丸っこいデザインより、Huawei Band 6 の四角いデザインの方が通知などが見やすそうですし、画面もほどよく大きい、という事でHuawei Band 6を選択しました。 以下開封写真です。 外箱はこんな感じ。一応amazon.co.jp販売の日本正規代理店品と書かれたモノを購入したのですが、日本語はシールで修正しているような外箱でちょっと不安な感じがあります。まぁ気にしても仕方ないでしょう。安いし。 箱を開けると本体がこんな感じで入っています。まぁわかりやすいはわかりやすいですね。 箱に入っていたものはこれで全部です。本体、充電ケーブル、WARRANTY CARD、クイックスタートガイドですね。クイックスタートガイドは本当に必要最小限の情報だけが書いてあるという感じで、詳細はWebから説明書をダウンロードしてね!という事でQRコードが書いてありました。 今のところ購入から二週間弱使用しましたが不満点は次の二つです: HUAWEI BAND 6、お値段も含めて割と満足してるけど、保護フィルムにまともなのがなさそう(これはこのクラスのものに気を使いすぎかも)なのと、ツイートをしたときに通知が来ちゃうのが微妙ポイント — nasa9084@某某某某(0x1b) (@nasa9084) August 27, 2021 まぁ保護フィルムはこのクラスの製品に保護フィルムをつけようというのが間違っているのかも知れませんが。 ツイートをしたときに通知が来ちゃうのは、「tweetをしました」という通知が一瞬通知欄に出るためそれを認識してしまっている、という事でHuawei Band側の問題と言うよりはtwitterアプリ側の問題の様な気もしますね。 あとはまぁ、ウォッチフェイスを作ってみた、みたいなブログを書こうと思ってはいたんですが、環境のセットアップがまぁまぁめんどくさそうというか、バンドとスマホの情報同期にはHuawei Healthというアプリをスマホにインストールするんですが、ウォッチフェイスを作ってテストするにはこれのベータ版?開発版?をインストールしなければならないということなのでやめました。諦めて既製のウォッチフェイスを使うことにします。 以上です。

2021-08-30 · nasa9084

剥がれかけたSesame 3を貼り直す

弊宅ではCANDYHOUSEのSESAME3 というスマートロック製品を使用していて、付属の両面テープで貼るだけ、剥がすときも跡が残らず便利!という最高の製品なんですが、最近少し剥がれてきてしまいました。 電池切れや故障などの有事に備えて鍵は持って歩いているので問題ないと言えば問題ないのですが、そうは言っても不便な思いはしたくないですし、完全に剥がれてしまってからバタバタするのもイヤなので張り直しをしました。 公式から交換用の両面テープも販売されてはいる のですが、明らかに3Mのコマンドタブ ですし、割高っぽい印象を受けたので近所のカインズで購入してきました。(実際比較してみるとヨドバシ.comでは8枚で300円弱 なのに対し、CANDYHOUSEから買うと4枚で350円と倍程度の値段設定となっています) たまたまカインズに行ったときに思い出して適当に買ってきてしまったため私はMサイズを購入しましたが、元々ついていたモノと比べると多分Lサイズだったので皆さんはLサイズを購入すると良いです。カインズではどのサイズも値段が同じでしたが、ヨドバシ.comではLサイズが若干安いようです。 SESAME本体の形に合わせてコマンドタブをカットし、貼り付けます。剥がすときに引っ張る部分は電池ボックスの中に折り込んでおきます。 無事しっかり貼ることができました。めでたしめでたし。

2021-08-12 · nasa9084

aタグのping属性

私は基本的に業務・趣味の両方でGoを書いていると言うこともあり、ソースコードの管理はGOPATH方式で管理しています。しかしGOPATH方式で管理していると、ライブラリの挙動確認やらなんやらで使う書き捨てのコードをどこに置くか、という問題がある。 src/github.com/nasa9084/... に置くというのも一つの手ではあるものの、社内のGitリポジトリやらGitHubやらにアップするつもりもないコードを他の、GitHubやらなんやらで管理されているリポジトリと同じ場所に置くと一覧性や検索性が下がるし、やりたくはないので、普段はそういった直ぐにいらなくなるコードは src/practice というディレクトリに配置しています。 毎回書き殴った後に削除をする、というまめな性格はしていないので、結果として二度と日の目を見ないことがほとんどなコード片が貯まっていくので定期的にクリーンアップを行っています。書き殴りのコードとはいえ、何かヒントが残っているかもしれないので、削除前にチラチラと内容を確認しながら削除していくのですけれど、そういえばそんなの調べたな、なんて思うコード片がたまに見つかったりする訳です。 今回発見したのはタイトルにもあるとおり、aタグのping属性です。W3C発行(発行、という表現が正しいのかどうかもよく分かっていないですけど)のHTML仕様が廃止となり、WHATWGのHTML仕様、HTML Living Standardに置き換えられる、との話を6月頃に見て、なるほどなーなんてちょろっと調べて、HTML Living Standardではaタグのping属性ってのがある、という情報にたどり着き、そして実際どんな挙動なのか、とコードを書いた、という経緯だったと思います。 実際のコード片がこちら: index.html: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Document</title> </head> <body> first page <a href="second.html" ping="http://localhost:8080/ping">second</a> </body> </html> second.html: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Document</title> </head> <body> second page </body> </html> main.go: package main import ( "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { b, _ := httputil.DumpRequest(r, true) log.Printf("%s", b) }) http....

2021-08-02 · nasa9084

dateコマンドで簡単な時間計算をする

shellscript内で時間計算をしたい事がある。例えば、「最終実行から10分経過していたらxxxをする」という様なケース。定期的にファイルを生成したい、といった簡単なユースケースであれば、findコマンドあたりでファイルの変更タイムスタンプを調べるといった方法でも実現可能ではあるけれど、「ファイルの中に記載された時間から10分経過しているかどうか調べる」なんて事もあるでしょう(あった)。 shellscriptで時間の計算するのって面倒そうなんだよな・・・と思っていたのですけれど、私のユースケースだとそれほど難しくなくて、dateコマンドで大体なんとかなるという事が分かったのでメモしておきます。 時間を比較する 二つの時間を比較したい。これは対象の時間がUnix時間で表現されていれば非常に簡単で、dateコマンドを使用する必要すら無く、test乃至[で普通に比較ができます。もちろん取り扱いは数字として取り扱うことになるので、比較演算子として-ltか-gtを使用します。 # 1626146220 = 2021-07-13T12:17 # 1626146340 = 2021-07-13T12:19 if [ 1626146220 -lt 1626146340 ]; then echo hello fi # Output: # hello 対象の時間がUnix時間で表現されていない場合、Unix時間に変換して比較するのがおそらく最も簡単です。dateコマンドで一度時間をパースして、Unix時間の形で出力します。パースには-d / --dateオプションを使用します。Unix時間として出力するためのフォーマット文字は%sです。 if [ $(date -d '2021-07-13T12:17' +%s) -lt $(date -d '2021-07-13T12:19' +%s) ] then echo hello fi # Output: # hello -d / --date オプションは一般的なフォーマットの日付文字列をよしなにパースしてくれます。詳しいフォーマットはGNU Coreutilsのマニュアル などを見ると良いでしょう。 n分前/n分後を求める 扨、ここからが本題なのですが、n分前/n分後を計算してみましょう。といっても、dateコマンドを使用すると非常に簡単に求めることが可能です。 まずは現在時刻から1時間後を求めてみましょう。-d / --dateオプションに加算したい時間を渡すだけです。 date +%R date -d '1 hour' +%R # Output: # 12:34 # 13:34 hourの他にも、yearやmonth、day、minuteなどそれっぽいモノは大体使用することができます。珍しいところだとfortnight(2週間)を使うこともできます。 単に1 hourと書くのがなんとなく気持ち悪いという人はnowやtoday、thisなどを使用してより自然言語っぽい感じで書くこともできます...

2021-07-13 · nasa9084

梅仕事2021 (2)

先だって梅シロップを漬け、既に半分以上梅シロップを消化してしまった今日この頃、大分遅くなってしまったものの今年も梅酒を仕込みました。 就職で関東に出てきてから今年で4L瓶が5本目と相成りました。 本年は面倒くさがっている間にあれよあれよと日が経ってしまい、近所の西友では4L瓶が買えなくなる始末でありましたがなんとか4L瓶を調達する事に成功し、無事仕込みを済ませることができました。 今年はあまり時間が無かったこともあり、梅は近所の西友で調達した南高梅(大玉)です。割と傷も少なく良い香りのする梅で、西友侮りがたし、といったところですね。おそらく1kgと思われる袋が980円(税抜)でした。 酒は今年は初めて日本酒を使用。実は以前から日本酒で梅酒を仕込むというのはやってみたいと思ってはいたのですが、通常店頭で販売されている日本酒は梅酒を仕込むには度数が足りないため、梅酒(乃至果実酒)用のものを調達する必要がある、という面倒さがあり、店頭でそういった梅酒用の日本酒が販売されているのを発見したことがなかったため、これまでは挑戦してきませんでした。 今年はむやみやたらにAmazonのポイントが貯まっていたという事もあり、Amazonでいろいろと探したところ、果実酒用の日本酒が販売されていたためこちらを購入しました。 苗場酒造という酒蔵の苗場山「果実酒用日本酒」、度数が20%のものです。Amazon で本体価格が1,800円、送料が500円です。 日本酒を使うのは初めてのため、砂糖は特に奇をてらわず一般的な氷砂糖を使用しました。 作り方は特に例年と変わらず、洗ってへたを取った梅と砂糖を瓶に入れ、上から酒を注ぎ入れるだけです。日本酒の場合米の甘みがあるため砂糖は控えめで良い、という事でしたので、酒に付属してきたレシピにあわせて氷砂糖の量は500gとしました。例年は1kgで使用しているため、例年の半分です。 このあとは砂糖が溶けるまでは時々振ってあげて、砂糖が溶けたら放置です。自家製梅酒大体3ヶ月程度からが飲み頃と言われていますから、9月くらいになったら味見をして、そのあとはまた数年放置されることとなります。 最後に、昨年は2017年に漬けた梅酒を飲んで締めたようなので 今年は2018年に漬けた梅酒を飲んで締めようと思います。 ラベルによると2018年は久米仙と氷砂糖を使用したようです。泡盛ですね。意外と癖もなく、飲みやすく仕上がっています。 今年の梅酒も美味しく漬かることを祈って。

2021-06-18 · nasa9084

梅仕事2021 (1)

向暑の候皆様いかがお過ごしでしょうか。近所の西友で梅酒関連の商品が店頭に並びはじめているのを見て季節を感じる今日この頃です。 例年梅酒と梅シロップを漬けるわけですが、漬けっぱなしで放置している梅酒はさておき梅シロップはできればシーズン中に二回は仕込みたい、という気持ちがあり、店頭で梅の実を発見してとりあえず購入してきました。 まだ出始めですから、まだかなり青い実ではありますが、急ぎ一発目の梅シロップを仕込みました。 手順自体は例年とそう変わるモノではなく、昨年梅シロップをつけていた空き瓶をアルコールで消毒した後、洗って水気を切りへたを取った梅の実と砂糖を交互に積んでおいておきます。昨年 は中ザラ糖を使用した、との記録がありましたが今年は気分で三温糖をセレクトしました。特に深い理由はありません。三温糖はしっとりとしており、積み上げるのも容易ですし、粉末状なので隙間にも入っていきやすく取り扱いがしやすい様に感じました。氷砂糖はうまく積んでいくことを考えると意外と難しいです。 うまいこと梅を砂糖の中に埋める事ができ、上から見ると梅が出てしまっているということもありませんから、今年は酢を入れない方針で行ってみようと思います。 大粒の実が店頭に並びはじめたら梅酒も漬けたい所存です。

2021-05-26 · nasa9084

最近のWebカメラってすごい、の件

どうもAnker大好き人間です。ケーブル類は大体Ankerだし、Thunderbolt 3 Dock もAnkerだし、充電器もヘッドホン もAnkerです。 そんなAnkerから、新しくWebカメラが発売されたということで、購入したらすごかったのです。 購入したのはAnker PowerConf C300 。Amazonで7,990円で購入できます。LogicoolのStreamCam を買いたいな、と思っていたところのAnkerからの新商品、値段も半額以下、という事で即購入に至りました。 箱は最近よくあるぴったりでしっかりしたタイプの箱です。ぴったりすぎて開けるのにちょっと時間がかかる奴ですね。高級感はあります。写真ではざらざらしたかんじのテクスチャっぽく見えますが、これは印刷で、手触りはすべすべです。 これまでのAnker製品によく入っていたHappy/Not Happyカードではあんく、“WHAT DO YOU THINK OUR WORK?“というカードが入っていました。PowerConfシリーズではこの紙なんでしょうかね。 ケーブルはType-C to Type-Cケーブルが付属しています。この手のWebカメラは本体からケーブルが伸びている事が多いので、ケーブル交換ができるのはとても嬉しい点ですね。 外部ディスプレイを使っていると、Webカメラは大体ディスプレイのUSBポートを使うと思うんですが、Type-CからUSB-Aに変換するためのコネクタも入っているので安心(?)です(Type-Cの仕様的には全然安心じゃないんですが) プライバシー保護用の蓋みたいなものもついているのはなんだか時代を感じさせますね。 これまで使っていたWebカメラと並べた様子はこんな感じ。サイズは結構大きくなりましたね。 古い方のカメラで、ライトをつけないとこんな感じでした。一般的なご家庭は大体そうだと思うんですが、壁に机をくっつける配置にしていると夕方以降逆光になる、という問題があり、顔がとても暗くなります。 結果として、ライト を購入して明るさを確保したりなんかしている人も多いと思います。私もその一人でした。ライトをつければまぁもちろん明るくはなります。 新しいカメラではこの通り。ライトなしでも頭が適当にボサボサなのがバレて恥ずかしいくらいには明るく映ります。これは本当に感動。 比較用にライトをつけてみました。むしろちょっと明るすぎる位ですね。これはライトはもうお役御免かもしれません。 加えて、専用のアプリで細かい設定をする事ができます。解像度の調整、fps、画角、明るさやコントラストなどが設定できるほか、人の顔を追跡するような設定もできます。 このアプリの良いところは、他のメーカーで良くあるような、常駐させておかなければ設定が反映されないような類いのモノではなく、設定したらアプリを閉じても設定が反映され続ける、というところですね。 総じて、非常に満足度が高く、コストパフォーマンスに優れた商品だと思いました。流石Anker。

2021-05-16 · nasa9084