Hacker Newsnew | past | comments | ask | show | jobs | submit | 25thhour's commentslogin

I'm also using a global justfile (`-g`) [1] to serve as a convenient location to aggregate any convenience functions, as well as call out to any standalone scripts as necessary.

You can also 'convert' all recipes to aliases so you get the best of both worlds, the ability to call with `just -g foo` or `foo`, from anywhere.

The docs example [2] uses a `user` justfile, but the principal is the same for global.

  for recipe in `just --justfile ~/.user.justfile --summary`; do
    alias $recipe="just --justfile ~/.user.justfile --working-directory . $recipe"
  done
Most recently I've started using `fzf` and `bat` to allow interactive selection of recipes with syntax highlighted previews:

  _choose:
    @just -g --summary | \
        tr ' ' '\n' | \
        sort -r | \
        fzf --multi --preview 'just -g --show {} | bat --color=always -l just -pp' | \
        xargs just -g
Now with a global `alias ji="just -g _choose"` I can interactively choose a recipe if I need a reminder of what I've set up.

This was inspired by the native `--choose` flag which does something similar, but by using `--summary` here, all recipes, including those that take arguments *, are listed, as well as any nested modules.

And because you can use any shebang, you can also write little python scripts to run with `uv`, including those with dependencies [5] declared in the shebang:

  # list Cloudflare accounts
  accounts:
    #!/usr/bin/env -S uv run --script --with cloudflare --python 3.13
    from cloudflare import Cloudflare

    client = Cloudflare()
    accounts = client.accounts.list()
    print(accounts)
…here with inline metadata:

  # list Cloudflare accounts
  accounts:
    #!/usr/bin/env -S uv run --script
    # /// script
    # requires-python = ">=3.13"
    # dependencies = [
    #     "cloudflare",
    # ]
    # ///
    from cloudflare import Cloudflare

    client = Cloudflare()
    accounts = client.accounts.list()
    print(accounts)
[1] https://just.systems/man/en/global-and-user-justfiles.html [2] https://just.systems/man/en/global-and-user-justfiles.html#r... [3] https://just.systems/man/en/selecting-recipes-to-run-with-an... [4] https://github.com/charmbracelet/gum?tab=readme-ov-file#inpu... [5] https://docs.astral.sh/uv/guides/scripts/#running-a-script-w...

* interactively selected recipes that take arguments won't work by directly passing to `xargs` here, but in some cases where I do want that flexibility I just add a condition in the recipe to prompt for input, with `gum input` [4]. Flexibility. This is a belt and braces approach and only used where necessary as the `fzf` preview will have made it clear that a recipe takes arguments.

  [positional-arguments]
  foo $bar="":
    #!/usr/bin/env bash

    if [ -z "$bar" ]; then
        bar=$(gum input --placeholder "bar")
    fi

    echo "looking up $bar"


I think you'd like what I've done with mise. You can have tasks in your global config (~/.config/mise/config.toml) which by default are shown no matter where you are. `mise run` will show a selector by default of all tasks available, so no need to manually setup fzf. Shebangs work the same. Commonly, mise users would also put "uv" into their config so other users don't need to set that up separately from mise itself.

Interactive inputs are something I'm planning on shipping relatively soon. It would not be hard to do—I've got the ui components to do it and the data model supports it.


Still down 5 hours later. ELB won't register instances. Ugh


The ELB control plane woke up for us about 90 minutes ago; back to flying on all engines again now.


Multiple ELB's came alive around that timeframe but our primary ELB has remained unable to re-register instances. Creating a new ELB as a test and trying to register new instances from the effected ASG has also failed.


ap-southeast-2 EC2 appears to be completely offline for us


Ugh, this strikes me as a terrible idea.

If it's not important enough to show on mobile it can probably be removed on the desktop too.


The list of Google email addresses, including security@google.com is TWO clicks away from the google.com homepage.

Footer -> About Google -> Contact Us


+1 I use NV like a boss every day. Syncing with Dropbox/Simplenote is by far the best note taking workflow I've ever used. Zero barrier to fast fluid input.

Which is probably why I love TaskPaper for GTD. Plain text but with smart data-detection.


Umm the Chrome extension states it can access: "All data on your computer and the websites you visit".

Say what?


It's very common. It's a limitation/feature of the Chrome API. If you want to make an extension that can be run on any page, this warning will appear.


Seems like you could almost use TeuxDeux http://teuxdeux.com/ with this system.

1. To start add everything to the 'Today' column

2. Look through, action what catches your eye, dismiss any items to the 'someday' list

3. Completed items just get crossed off, if it's a recurring task, cross off and re-add to the next days column or for speed just drag it across

4. Incomplete tasks auto rollover at the end of the day

Granted it's not perfect for this system but it might work. 


Great pacing and clearly communicated. Has helped me no end to get up to speed with Vim in my new job.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: