ブログを新設(半移転)
なんやかんやでブログ全然書いてないので、移転の可能性も残しつつ新しいブログ構築しました。
https://x.oq.la/なんやかんやでブログ全然書いてないので、移転の可能性も残しつつ新しいブログ構築しました。
https://x.oq.la/自転車のヘルメット着用が努力義務化されたことに負け、ギリギリ3月に買ったヘルメットをかぶったりかぶらなかったりしている。で、買ったヘルメットはAmazonで2000円くらいのだったのだけれど、商品説明のアンバサダーを信頼して買ったものの、後から調べてみた感じただのOEMで、1000円くらいでも買えそうなものだった。作りは大体発泡スチロールといったところで、ところどころ発泡スチロールがそのまま露出してるのでそこから崩壊していきそうな予感がする。
そういえばどうせヘルメットかぶるのなら電動バイクに乗りたいという気持ちもあったので、電動バイクもいい感じのがあったらほしいという気持ちで今年はやっていきたい。WALKCARもちょくちょく乗ってます。
なんやかんやで年も越してやってます。年末年始は、帰省はしたものの大晦日に親戚の家訪問してしまってもうやることないなってなったので元日に勢いで帰省終了した。帰省中含めて年末から活躍しているものといえばSteam Deckで、まじでライフチェンジングでしたね。家でも寝ながらやったりしてます。
京都に戻ってきてやったことといえば、ハンガーラックを買いました。
なんか雑にシャツの類を買っていくため既存のハンガーラックではもう無理となっていたのが余裕ができてよかった。組み立てたあとにクローゼットと化している床の間に設置しようとしたところ知恵の輪みたいに工夫しないと入らなくて危うかったけどなんとかなってよかった。
あとは、昨年は運動の習慣をつけてちょっと健康寄りにすることに成功したと思うので、今年は健康を維持しつつ少し筋力を増強していこうかなという気持ち。
というほど総括した文章を書くつもりはなく、ブログ更新が停滞してるのでまた勢いをつけて書くためにとりあえず書く。
最近はと言うと、Steam Deckが届いた。
でかいけど、Type-CでいけるのででかいゲーミングノートのようなACアダプターがいらないのは便利。Factorioくらいならバッテリーの消耗もそんな激しくない。ストレージは256GBのSSDに512GBのmicroSD挿したら雑にライブラリからインストールしまくれてちょうどいい感じ。Linuxでブラウザも動くし普通の作業くらいはキーボードとマウス繋げばできるしあとは持ち運び手段を確立するだけ。
健康面では、キックボクシングが地味に続いていて、少しは運動に慣れてきて体力は一般的なレベルになってきたと思うで、来年は少し筋力もつけるかなという気持ちになってきている。今年は歯医者で治し切ったりもしたしわりと整えられた気がする。
ということであとは今年のガジェットまとめエントリーあたりも書いておきたい。
チェックしてる雑誌はジャンプ、マガジン、ヤンマガ、ヤンジャン、モーニング、イブニング、アフタヌーン、チャンピオン、スピリッツで、アプリとかWeb連載は忘れてしまいがち。
雑誌的にアツいのはヤンマガで、最近始まったのだとナックルナックルがいい。真面目な高校生がボクシングにのめり込んでいくという一言あらすじだとはじめの一歩だけど、そんな正直にボクシングという感じじゃなくていい。はじめの一歩も好きだけど。
あとはモーニングの平和の国の島崎へもいい。幼少期にテロ組織に拉致されて戦闘訓練とか受けた男(達)が日本に戻ってきてゴリゴリに公安に監視されつつも平和に暮らしたいという感じのザ・ファブル感もあるやつ。とはいえ今週の話でだいぶ平和じゃなくなってた。
新連載以外だとスピリッツのアオアシの連載がちょうどここ数週間くらいトップチーム練参加編がアツかった。こんな一気に進んでもう連載終わるのかと不安になる。
賞味期限自体は記録していたとしても、直前に気づいて一気に消費するよりは計画的に食品を消費したいという気持ちがあり、それを解決するために、タイトルの通りいつ何を何個食べればいいのかを勝手に決めてくれるような予定をGoogle カレンダーに突っ込んでくれる仕組みを作ってみた。
予定の詳細に賞味期限情報が記録されてるので、自動で定期的な予定として登録されたあとに個別の日付の予定を手動で変更するとかもGoogle カレンダーのWeb UIでできるしそこそこ便利に使えるのではないかと期待。
普通のGoogleアカウントでのGoogle フォームはテンプレートして共有できないようなのでスクショだけれど入力フォームはこんな感じで、雑に書いてとりあえず動いてるコードは以下(フォーム送信時のトリガーに設定する)。以前は広く募集したいのでGoogle フォームを登録インターフェースとして採用したけど、よく考えれば今回は基本個人用途なのでGoogle フォームとかよりchat botとかの方が便利度ありそうなものの、とりあえずすぐできそうだしGoogle製品で完結するのでGoogle フォームでやってみたというところ。
function onSubmit(e) {
var calendar;
var calendars = CalendarApp.getOwnedCalendarsByName("賞味期限管理");
if (calendars.length == 0) {
calendar = CalendarApp.createCalendar("賞味期限管理");
}
else{
calendar = calendars[0];
}
var form = FormApp.getActiveForm();
var allResponses = form.getResponses();
var latestResponse = allResponses[allResponses.length - 1];
var response = latestResponse.getItemResponses();
var payload = {};
for (var i = 0; i < response.length; i++) {
var question = response[i].getItem().getTitle();
var answer = response[i].getResponse();
payload[question] = answer;
}
var kigen = new Date(Date.parse(payload["賞味期限"]));
var name = payload["品名"];
var amount = parseInt(payload["個数"]);
var place = payload["保管場所"];
var today = new Date();
var count = 1;
var oneday = 1000 * 24 * 60 *60;
if (kigen < today) {
count = amount;
}
else {
while (Math.ceil((kigen - today) / oneday) < amount / count) {
count ++;
}
}
var interval = Math.max(Math.floor((kigen - today) / oneday / (amount / count)), 1);
var rule = CalendarApp.newRecurrence().addDailyRule().interval(interval).times(Math.max(Math.ceil(amount / count),1));
var option = { "description": payload["賞味期限"] + "までに" + name + "を" + amount + "個食べる" };
if (place != null && place.length > 0) {
option["location"] = place;
}
calendar.createAllDayEventSeries(name + " を" + count +"個食べる",
new Date(today.getTime() + interval * 1000 * 24 * 60 * 60), rule, option);
}
ということでどうせ似たアプリとかはあったとしてもGoogle カレンダーに登録してくれるのはないだろいうという思い込みにより下調べせずに作ってみたけれど、計画的に消費というところに注目して勝手にいつ食べるか決めてしまうところまでする機能を持ったものも今のところ見つけられてないので概ね良さそう。一人暮らしだと計画的に消費というのが必要になるけれど一家の食生活となると一回の食事で何人前も消費できるのでそんな計画性が必要なく、賞味期限前に気付ければいいというのも大きそうだけど。