シェルスクリプト/コマンドで祝日判定

休みの日もcrontabで平日用のメールが来て、シェルスクリプトで祝祭日判定できないかなと思ったら簡単にできそうだったのでメモ。

gcalをインストールして(Macbrewlinux系はソースから)、

$ gcal --holiday-list=short --cc-holidays=jp --highlighting=no | grep "$(LANG=C date +'%_d %b %Y')"

あるいは短縮オプション版で、

$ gcal -N -q jp -H no | grep "$(LANG=C date +'%_d %b %Y')"

grepがひっかかれば祝日。

例えば 11/3(文化の日) はこんな感じ。
Macはgdateかcoreutilsbrewインストールしてgdateが使える必要あり)

$ test `uname` = Darwin && date=gdate || date=date
$ gcal -N -q jp -H no | grep "$(LANG=C $date +'%_d %b %Y' -d 2018-11-03)"
Culture Day (JP)                         + Sa,   3 Nov 2018 =  +79 days

この例では法定祝日に限定しているが、それ以外も判定可能なので詳しくはgcalマニュアル参照のこと。

参照:

gnu sedでsnake_case、camelCase、PascalCaseの相互変換

# snake_case -> PascalCase
$ echo "hoge_hoge hoge" | sed -r 's/(\b|_)(.)/\u\2/g'
HogeHoge Hoge

# snake_case -> camelCase
$ echo "hoge_hoge hoge" | sed -r 's/(_)(.)/\u\2/g'
hogeHoge hoge

# PascalCase -> snake_case
$ echo "HogeHoge Hoge" | sed -r -e 's/([a-zA-Z])([A-Z])/\1_\l\2/g' -e 's/\b([A-Z])/\l\1/g'
hoge_hoge hoge

# camelCase -> snake_case
$ echo "hogeHoge hoge" | sed -r 's/([a-zA-Z])([A-Z])/\1_\l\2/g'
hoge_hoge hoge

macの場合はgnu-sedをインストールしてgsedで。

参考:

Macで動かない東風荘を動かしてみた

東風荘が終了宣言という衝撃のニュースを受けて

headlines.yahoo.co.jp

久しぶりに東風荘に入ろうとしたが、Java版がなんだかまともに動かなかった。。

iPhone版もあるような感じだが消えていたし。。

壊れかけたWindowsを引っ張り出すのも嫌だったので、なんとか動かないかなと試したら動いたので、簡単に手順を記しておく。

やったのは単純に、javaのバージョンをだんだん古くして試したらjava1.6(通称java6)で動いた。

java6はここ

Mac OS X で Java SE 6/Java SE 7/Java SE 8 を利用する方法 - Fujiwara Lab.

の上の方のリンク

ダウンロード - Java for OS X 2015-001

からインストールできたが、どこに入ったかよくわからなくてターミナルからfind

find / -name 'java'

なんかいっぱい出たがたぶんこれかなというのでjar実行

/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -jar $HOME/Downloads/mj.jar

とりあえずこれで問題なく動いている。

めんどいのでダブルクリックで開けるようにしたいが、まあそのうち。

 

[追記]

ダブルクリックで開くのはこれでいけました。

qiita.com

&付きで実行するシェルスクリプトを作って、openして、aliasを作ってどこかにコピー。

 ターミナルが開くのが少し邪魔。他の方法もあるのかな。

とっち式ダイエット約2年のまとめ

筋トレ・ダイエットメモ2017版

 今年のダイエットが終了したので一旦まとめ。 

 

結果(2015/11/01〜2016/11/07〜2017-08-26ダイエット終了時(タニタ))

  • 今回は増量してた分は絞れたが、左肘が痛いため筋トレが充分にできず筋肉が少し落ちた 
  • 体重  :86.25kg → 70.70g → 68.55kg (1年10ヶ月で-17.70kg、10ヶ月で-2.15kg)
  • 体脂肪率:23.2% → 14.6% → 14.5% (1年10ヶ月で-8.7、10ヶ月で-0.1)
  • エスト:98.5cm → 74.0cm → 74.5cm (1年10ヶ月で-24.0cm、10ヶ月では+0.5cm)
  • 体水分率:56.5%  → 63.8% → 60.9% (1年10ヶ月で+4.4、10ヶ月で-2.9)
  • エストが大事な気がした。

 

まとめ(2017-09-11 筋トレ&ダイエット歴1年と10ヶ月) 

  • 痩せるには食事と運動
  • おそらく食事が8割くらい
  • 筋肉があるとその後痩せやすくなるし、健康になるはず
  • 怪我しないことが大事
続きを読む

cygwinでredis-3.2.5コンパイル

(追記)これを書いたときは知らなかったのですが、Windows用のRedisがあるのでそれを使った方がいいと思います。
RedisをWindowsにインストール - Qiita


ちょっと苦労しました。

このバージョンではhiredisなどが追加されており、まとまった日本語の情報がないので一応書いておきます。

続きを読む

とっち式ダイエット1年のまとめ

お疲れ様です!

 

ダイエットを始めていつの間にか1年経ってたのでまとめてみます。

(まだわからないことも多いですが、区切りとして。)

 

ざっくりまとめると

  • 結局、厳しい糖質制限(糖質1食5g、1日20g以内)+激しい筋トレ(週1か2回以上、と毎日ストレッチ)が短期的にはめちゃくちゃ効く
  • でも体に優しくないので厳しいのは10日〜2週間程度行い、そのあとは『緩い糖質制限(野菜をたっぷり食べて1食だけ糖質を入れる(夜がオススメ))と筋トレ』(完全無欠ダイエット:「最強の食事」参照)がいい。もし痩せたいと思ったら年に1回くらい、上記の厳しい減量をする。

今のところのTODO

  • 指先がからからに乾く(筋肉が増えたから?糖質制限のせい?水分不足?)
  • マッサージの先生に筋肉が固いと怒られた(ストレッチが足りない?上記のせい?)
続きを読む

cowsayでいろいろな人に喋らせて色を付けるワンライナー

amazonのブログでlolcatというコマンドで出力に色をつけてたのを見つけて、 さらに他のサイトでログイン時にいろんな人にランダムで喋らせるのをさらにワンライナーにしてみました(長いけど)。
~/.bashrcの最後に入れると楽しいかもです。
(あ、それぞれのインストールは忘れずに)

which fortune cowsay lolcat > /dev/null && (fortune |cowsay -f $(cowsay -l |sed 1d |tr " " "\n" |awk 'BEGIN{srand();r=rand()}{c[NR]=$1}END{print c[int(r*NR)+1]}') |lolcat)

f:id:tocci3:20161103041330p:plain


参考:
New Amazon Linux Container Image for Cloud and On-Premises Workloads | AWS Blog
コマンドラインにイラストを - Qiita
GitHub - busyloop/lolcat: Rainbows and unicorns!
cowsay - Wikipedia
Ubuntuのlocaleが正しく設定されていない時の対処メモ - 目の前に僕らの道がある