0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

fortune で遊んでみよう

Last updated at Posted at 2023-12-11

この記事は 一分で読める小ネタのカレンダー | Advent Calendar 2023 - Qiita の12日目

fortune

  • 恋しないw
  • fortune (UNIX) - Wikipedia
  • brew が使えれば brew install fortune で入る
  • fortune コマンドについて
  • 実行して遊べ、ではなくて、テーマファイルを自作して、コマンドラインツールで遊ぶのもなかなか楽しい、と思ってもらいたい

本文はここまで。以下は時間外w

なぜ

  • ジョークプログラムなので、知ってる人は知っているし、知らない人はずっと知らないで終わる
  • 簡単に遊べて学べるのに知らないままなのはもったいない
  • アドカレ記事の閑話休題的にちょうどよかったw

遊び方

  • 遊ぶ時だけ alias f="fortune" しておくと楽
  • ひとしきり f を叩いて遊ぶ
  • man fortune して man の見方を勉強するのもよい
  • オプションを付けて遊ぶ
  • ひとしきり遊んだら自作テーマの作成に移る

テーマの自作

何をテーマにするか

  • 要はランダムにデータを表示するだけなので、それに向いた何かを書けばいい
  • お題.com とか診断メーカーとか、その辺と同じことをローカルで自分用に作ると思えばいい
  • おみくじ、じゃんけん、小説のお題、今日のランチなど、思いつくまま考える。この手のアイデア出しでは数がものをいうので100個ほど挙げてみよう(マジ
試しに挙げてみた
  • 好きな[アニメ|漫画|小説|ドラマ]の
    • 今日見直すタイトル
    • 名言集
    • 言わせたいセリフ(セリフは自分で考えるんやで)
    • これで4x3で12って数えてもいいよ(アイデアの数を増やす基本。あと映画とかラジオとか動画サイトのチャンネルとか増やせばいくらでも増える)
  • 技術書の
    • 再読リスト
    • 積読消化リスト
    • 大事なところ
      • 例えばリーダブルコードの章タイトルを1データに
    • コマンド抽出
    • これも技術書に限らず、ビジネス書や雑誌の類を増やしてもいい
  • リストを拝借
  • 定番
    • 自作おみくじは何を書くかが勝負
      • ポジティブオンリーにするとか
      • 普段注意したいと思っていることだけにして毎日再確認とか
    • じゃんけんだって、普通のグーチョキパーだけではなくて、変わり種(ローカル?)を混ぜてみるとか
    • ダイス(サイコロ)も1から6で済まさないで、ダイスを2個振る(2D)を表現するとか
    • 挨拶文は(ただのテキストだから)好きな人(キャラ)に好きなことを言わせられるぞw
      • ASMRとか一般的には与えられるものでしかないけど、fortune なら好きに作れるんだw
      • おはようからおやすみまでシーンに合わせてつくるもよし、キャラに分けてつくるもよし
  • 習慣化補助リストは、次に何かをさせるための命令のリスト
    • ワークアウトリスト
      • リモートワークで体がなまっちゃうので、手軽なワークアウトをリストにする
      • 腹筋X回とかスクワットX回みたいに決め打ちしておくと terraform plan の待ち時間にちょうどいい
    • 10秒でやることリスト
      • 後回しグセをなくす系の書籍でよく書かれている、まずちょっとやってみる、を実現する
      • 10秒だからちょっとやって終わらないといけない
    • 40秒でやることリスト
      • ドーラになったつもりで自分にやらせたいことを書いておくリスト
      • ちょっとやる気がでないって時にもやらねば!ってなる(かもしれない)
    • 1分でやることリスト
      • 1分あると思考する余裕があるので、何かを更新することに使える
      • 次にやることリストを更新するとかでもいいね
    • 次にやることリスト
      • 手が止まった時に、次に何するんだっけを思い出すためのリスト
      • 日々のTODOは別の管理にするべき
      • 中長期的なものが望ましい
        • 英語の勉強をするためにほったらかしになってるワークブックを開くとか
        • やるやる詐欺になってる何かをするとか
    • 常に思い返すリスト
      • 反省とか自己改善とか常に自分を戒めるリスト
      • 笑顔とかポジティブとか常に心に留めておきたいリスト
    • 勉強するリスト
      • 仕掛中の対象を入れておいて、何からやろうか迷った時に使う
      • エンジニアなら新しい言語やフレームワーク、ツール類が入るはず
      • 国語辞典を引く、とかを入れておくと本棚の肥やしになりがちな辞典が活きる
      • wikipedia ランダム を引く、を入れておくと自動で勉強できる
  • 生活
    • 食事
      • 近くのお店をリストアップしておけば今日のランチも迷わない
      • レシピのレパートリーを入れておけば今日の夕飯も迷わない
      • 新規開拓とか入れておくとブラッシュアップができる
    • 家事
      • 掃除洗濯食事の支度、家事は誰かがやらないと生活が成立しない
      • 引いたらそれをやるんだっていう強い意志を持つ
      • 今日はお休み、を忍ばせておくと心に余裕ができる(馬鹿なこと言ってないで家事くらいやれやw)
    • デート
      • いや、デートなんて何年もしてないですけれどもwww
      • 定番のデートコースや行きたいところをリストしておく(使うかは別)
    • 寝る前のワーク
      • 寝る前にすることは人それぞれだけど、具体的にコレってものを入れておくと(これ以上いけない

疲れた。。。全然100個も書いてないじゃんw
自分でやる時は説明とか要らないので、どんなテーマが作れるか、じゃんじゃん挙げてみよう。

サンプル

  • 最初にやってみたおみくじ
  • ファイル名は fortune/jp_omikuji
fortune/jp_omikuji
おみくじ: 大凶
%
おみくじ: 凶
%
おみくじ: 末吉
%
おみくじ: 吉
%
おみくじ: 小吉
%
おみくじ: 中吉
%
おみくじ: 大吉

コマンド

  • 個別のコマンドは先のページに書いてあるのでそっち見て
fortune/build.sh
#!/usr/bin/env bash

set -ue
export LC_ALL=C

while read -r f; do

    echo "file: $f"
    strfile $f

done < <(find . -not -name "*.dat" -name "jp_*")

# データディレクトリを自動取得
fortunes_data_dir=`fortune -f 2>&1 | head -n 1 | awk '{print $2}'`
echo "${fortunes_data_dir}/"

# テキストファイルと生成した .dat ファイルをデータディレクトリに送る
cp jp_* ${fortunes_data_dir}/

# 確認
fortune -f 2>&1 | grep jp_

  • my-til 辺りに fortune ディレクトリを作って放り込んでおけば、ちょっと書いてしゅっと登録できる(はず)
  • fortune 100% jp_greeting みたいに毎回打つの面倒なので alias しておくと楽

改善依頼

  • こんなテーマ作るといいぜとか
  • build.sh が動かねぇとか
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?