Stretch My Time Off - 休暇日の最適化のためのアルゴリズム
(stretchmytimeoff.com)- 限られた有給休暇を週末・祝日につなげて、より長い連続休暇にするWebツールで、地域ごとの祝日の違いを反映して休暇の配置を計算する
- 基本例は、米国 Alabama在住者がJan 1stから2026年末までに10日間の休暇を持つ条件で構成されている
- カレンダーは祝日、週末、ユーザーが固定できる休暇日、計算された休暇日を区別して表示し、実際の休暇配置が日付単位で分かる
- 計算結果は、Jan 1〜4とJan 17〜20の4連休、Nov 7〜15とNov 21〜29の9連休のように、短い休暇を長い休息期間へ拡張する
- ユーザーは居住地域、休暇日数、開始時点を変えて、自分に合った休暇カレンダーを確認できる
入力条件と地域選択
- 画面上部で居住地域、保有する休暇日数、計算開始時点を入力する
- デフォルトの選択は**🇺🇸 Alabama**
- 休暇日数は10 days off
- 期間はJan 1stから2026年末まで
- 地域選択には、米国の複数の州とDistrict of Columbiaが含まれる
- Alabama, Alaska, Arizona, California, New York, Texas, Washingtonなど米国の州一覧が表示される
- 国の選択リストも提供される
- AfghanistanからZimbabweまで、複数の国と地域が列挙される
- South Korea, Japan, United Kingdom, United States of Americaなども含まれる
カレンダーで区別される日付の状態
- カレンダーは月別に表示され、各日付に状態が付く
- Weekend: 週末
- 祝日名: New Year's Day, Martin Luther King Jr. Day, Memorial Dayなど
- Tap to add fixed day off: ユーザーが固定休暇日として追加できる日付
- Day off (calculated): 計算によって配置された休暇日
- 2026年の例で計算された休暇日は、次の日付に表示される
- Jan 2
- Jan 20
- Nov 9, Nov 10, Nov 12, Nov 13
- Nov 23, Nov 24, Nov 25, Nov 27
月別の連続休暇結果
- January
- Jan 1 to Jan 4: 4日間
- Jan 17 to Jan 20: 4日間
- February
- Feb 14 to Feb 16: 3日間
- May
- May 23 to May 25: 3日間
- June
- Jun 19 to Jun 21: 3日間
- July
- Jul 3 to Jul 5: 3日間
- September
- Sep 5 to Sep 7: 3日間
- October
- Oct 10 to Oct 12: 3日間
- November
- Nov 7 to Nov 15: 9日間
- Nov 21 to Nov 29: 9日間
- December
- Dec 25 to Dec 27: 3日間
反映された祝日の例
- JanuaryにはNew Year's DayとMartin Luther King Jr. Dayが表示される
- FebruaryにはWashington's Birthdayが表示される
- MayにはMemorial Dayが表示される
- JuneにはJuneteenthが表示される
- JulyにはIndependence DayとIndependence Day (substitute day) が表示される
- SeptemberにはLabour Dayが表示される
- OctoberにはColumbus Dayが表示される
- NovemberにはVeterans DayとThanksgiving Dayが表示される
- DecemberにはChristmas Dayが表示される
実際の利用フロー
- ユーザーは居住地域、保有する休暇日数、開始時点を変えてカレンダー結果を確認できる
- 各日付はタップしてfixed day offとして追加できる形式で表示される
- 計算結果は休暇日を週末と祝日の周辺に配置し、可能な限り長い連続休暇期間をカレンダー下に要約する
2件のコメント
韓国では秋夕と旧正月が1日として入っていますね
Hacker News の意見
以前、友人たちと仕事を始めたころ、休暇1日あたりの休みの日数を最大化しようとして似たような計算をよくしていて、かなり楽しかった
最近は、ただ休みたいときに有給を使うのが一番だと感じている。燃え尽きそうなときや仕事が手につかないときに長い週末を作るほうが、7月4日の週に4日だけ使って1週間休むために上半期ずっと耐えるより、ずっと効果的
大規模ユーザー向けなら妙な時間外にやるか、たいてい月曜日に処理する。自分の環境では、金曜日を週末へ滑らかに移行する楽な日に意図的にしているので、金曜日に休んでも費用対効果は低く、月曜日に休むほうがいい。みんなが先週の問題に正面から取り組んだあと、自分は火曜日に彼らの知見と進捗を持って入っていける。しかも金曜日に休んでも、一緒に遊ぶ相手はたいてい働いているので、自分にとってはどの曜日でも大差ないこともある
実際にその日が来るとそれほど気にならないこともあるが、その瞬間には士気を上げる効果が大きい。5日ほど休むところを9日に伸ばすより、3連休を何回か作るほうがはるかに大きな効果をもたらすことがある。カレンダーを見て次の休日が6週間以上先だと、本当に気が滅入る
天気が悪くなりそうでも「休みの総日数を3日増やせる!」と言い、旅行先がオフシーズンでも「飛び石の1日を得られる!」と言う感じで、ちょっと気まずい。働きたくないなら、単に働かなければいいほうが楽に見える
元記事のツールも、復活祭の金曜・月曜の祝日のせいで3月末から4月初めまで2週間休めと勧めていたが、正直そんなこと誰がするのかと思う。この話題がいつも居心地悪いのは、サラリーマン的な生活、「仕事は地獄」、ラットレース、9-to-5 的な考え方にあまりにも近いからのように思う
それに「来年の休暇計画を今決めないとリソース計画ができない、あとで変えてもいい」という文化も憂うつだ。11月なのに、もう来年が全部計画済みのように感じられて、即興性も面白さもない。もちろん HN の人たちはハックなら何でもやるだろうから、私が少数派である可能性も高い
私はたいてい、このツールが勧める日付とは正反対に有給と旅行を取るようにしている
祝日期間の旅行の追加費用、渋滞、人混みを避けることのほうが、無料のように見える数日を余分に得ることより重要だから。タダ飯はない
おめでとう。ただ、文言がこちらをだましているようで、一貫性がないように見える
「2024年には祝日が11日あります。休暇を25日から61日に伸ばしましょう」とあるが、61日は自分の休暇25日に、隣接する週末と祝日27日を足した値だ。足りない9日は、すでに祝日の隣にある週末で、別途休暇の拡張が提案されていない日だ。祝日の隣の週末を数えるなら、初期計算にも含めるのが公平だ
日曜の祝日の隣の土曜は数えていない一方で、上で言った +9 は週末の隣の金曜・月曜だという点も一貫していない。製品自体の有用性を下げるわけではないが、心理的には誇大広告のように防御モードを即座にオンにしてしまい、期待とは逆の効果を生む
0: 関連する議論はこちらで進行中 https://news.ycombinator.com/item?id=42113449
休みの日を数え、週末を数え、1年のうち家にいる時間をまた数えるという具合に、以前に差し引いたものを二重計上して、最終的に学校に行く日は0日になるという理屈だった。通学中に聞くと本当に腹が立った
便利なツールの出発点のように見えるが、まだ有用ではない
ほかの人も言っているように、会社が提供する休日はまちまちだ。それより大きな問題は、休暇日数と年を入れると現在は結果を1つだけ返すように見えるが、実際には連続して休める日数の基準で同点の選択肢が多いという点だ
今のツールでは、ユーザーが同じくらい良い配置を修正したり差し替えたりできない。私が試したときは、11月から2月の間に休暇の大半を集中して使い、7月から10月までは1日も使わないという、非常に偏った結果になった。休暇4日で祝日を9連休に伸ばすよう提案されるとき、Veterans Day より Labor Day でそうしたいと表現する方法がない。3連休を4連休に伸ばすときも、Presidents Day より Columbus Day に使いたいと指定できない
完全にカスタマイズするのは難しく、そうすると個人カレンダーに近くなる。代わりに順位を透明に見せて、「同点の3つの選択肢から選ぶ」ようにできればよさそう
良いサイトだ。小さな要望を1つ挙げるなら、
Taiwan, Province of Chinaの代わりに単にTaiwanと書いてほしいコード補助ツールで作ったものとしては、かなり印象的なサイトだ
国一覧はどこから持ってきたのか、あるいはドロップダウンにどのライブラリを使っているのか気になる。Taiwan からアクセスすると
Taiwan, Province of Chinaと表示されるこの話題はすでにそのリポジトリでかなり議論されているようだ https://github.com/michaelwittig/node-i18n-iso-countries/iss...
良いツールです。いくつかフィードバックがあります。
「休暇を20日から42日に増やせる」という副題は、かなり誤解を招きます。このツールが魔法のように休暇日数を増やしてくれるわけではありません。
ページのかなりの部分は有用ではありません。オランダでは祝日がない月が6か月連続であるため、休暇を増やせる月だけを表示してくれるとよいと思います。
本当に気に入っています。スウェーデンでは毎年クリスマスの頃になると、ほぼすべての人気雑誌が休暇を最適に予約する方法について記事を出します。
クリスマスと新年の間には銀行休業日がかなり多いので、年によっては6日ほど申請するだけで3週間近く休めます。
今年は12月23日と27日を休めば、21日から29日まで9連休になります。30日と31日を加えると12連休になり、1月2日と3日まで加えると、じゃじゃん、年休6日で17日間の休暇になります。ただしリンク先のサイトはこれを正しく計算できていません。12月24日は厳密には祝日ではないものの、ほとんどの会社が祝日のように扱うためです。
“Lördag och söndag räknas inte som semesterdagar annat än i fall som avses i 9 § tredje stycket. Med söndag jämställs allmän helgdag samt midsommarafton, julafton och nyårsafton.”
ほとんどの会社はすべての祝日を休みにしているわけではないため、このツールは各祝日をすべて休む連邦公務員向けの結果になりがちです。
祝日の表を作って、適用されるものだけオン・オフできるようにし、そのうえでアルゴリズムが残りを再度埋めるようにすると便利そうです。
edit listを押せば使えます。子どもの休みに合わせて休暇時間を最大化するために、普段は手作業でやっていた計画なので、本当に良いアイデアです。
祝日を調整できるとよいと思います。たとえばJuneteenthとVeterans Dayは、学校も職場も休みではありませんでした。
今後の改善としては、航空券との連携もよさそうです。こういう時期はたいてい航空券が最も高くなる時期です。