AI used, but this post is not AI.

As previously mentioned, I have some photos I want to name. They come in like 20261019_12345678.jpg, which is a date and then a timestamp. The problem in this use case comes when I am reviewing photos taken within seconds of each other. Reviewing them later, is the best photo 20261019_12345678 or 20261019_12345987?

I’m aware that I can use a Digital Asset Manager (DAM) for this task. These are what semi-pro photographers use, for example digiKam or DarkTable. I think my approach can integrate with other tools nicely. This is about making filenames more useful and less ugly. The files can still be sorted after that point. That approach cannot be automated, and this is about minimal intervention. I intend to use a DAM to sort these photos further.

So the task becomes adding English words to filenames. The only hard part is getting a suitable list of English words. After searching and asking here, I didn’t find any that were tightly dedicated to being non offensive and extremely boring. My list is also focused on computing and filename related uses, so ambiguous words of that nature (“program”) are also excluded.

This wordlist could be nice in any situation where a raw timestamp, hash, or set of words (“Charming Ferret”) is used. It’s meant for humans. Machines don’t need to read English and they don’t get offended. I will use this for photos and voice memos to start.

Starting wordlist:

  • I combined SLIP 39 and BIP 39 for about 1500 words. The final wordlists were 278 and 156 words long (156 has fewer filename collisions, explained below).
  • I added 5 words to cover X and Z - xeno zeal zest zeta zinc

I used Sonnet 5.5 to create an app that allowed me to hand-label the 1500 words as “boring” (good) or “not boring” (bad). I labeled A-D myself and then sent my labeled data and the categories to Claude and had it spit out the rest. Overzealously removing “good” words is not a big problem because I ended up with 278 viable words anyway. Claude’s list of “good” words contained over 80% good words. I don’t think I removed more than 50 words from its list.

I also tried to give this job to Jev, but it didn’t seem to understand the problem. It may be too subjective or esoteric (does a model that small understand “wave” can be colloquially a file type?).

Good properties:

  • high edit-distance between words in a short number of characters. (BIP 0039 does this in 4 characters)
  • non offensive
  • non exciting (see my last post)
  • all 26 english letters covered
  • not too many words with the same first 3 or 4 characters (repeat, replace)

Frowned upon word types:

  • filename collisions: using my computer as a testbed (5 million files and folders), I used Everything to exclude the most prolific words and first-4-char substrings. “Program” had 840k results. “ease” had 386k results, many from “release”. “starting” is the most prolific in beige-156, with 30k results. In the larger beige-278 list, results range from 840k for program, to 50k for install, to 40k for axis.
  • anything exciting. Colors, good/bad opinions (“exciting”, “impressive”), animals, etc. were frowned upon. I wanted to avoid implying anything about the contents of a file from the filename.

The wordlists are in the comments.

  • BigHeadModeOP
    link
    fedilink
    arrow-up
    2
    ·
    1 hour ago

    Here are the two wordlists, sorted by filename prevalence.

    beige-wordlist-156

    starting
    decorate
    treat
    merit
    multiple
    mandate
    imply
    expect
    explain
    quarter
    ruler
    prepare
    category
    exceed
    describe
    primary
    finding
    agency
    forecast
    admit
    hanger
    hearing
    permit
    dictate
    equip
    careful
    recall
    educate
    identify
    calcium
    ordinary
    evaluate
    length
    quantity
    execute
    likely
    herald
    reaction
    enforce
    closet
    ancient
    industry
    gesture
    often
    champion
    ambition
    ranked
    decision
    grant
    organize
    duration
    dominant
    relate
    meaning
    maximum
    together
    blanket
    fused
    improve
    flexible
    fancy
    aspect
    grasp
    repeat
    gravity
    losing
    engage
    depart
    exclude
    declare
    costume
    observe
    frequent
    increase
    modify
    apart
    making
    crunch
    cubic
    lift
    fraction
    submit
    deal
    fragment
    leader
    bolt
    alto
    belong
    amount
    bracelet
    hesitate
    capacity
    cause
    funding
    trend
    carbon
    floral
    exact
    amuse
    omit
    mixture
    beam
    inherit
    stay
    genre
    herd
    involve
    junior
    emphasis
    briefing
    adorn
    cowboy
    purchase
    dough
    diminish
    brave
    bulb
    devote
    being
    agree
    envelope
    budget
    coal
    fiscal
    much
    civil
    payment
    unfold
    cradle
    zeta
    zeal
    glance
    obtain
    carve
    genuine
    xeno
    aluminum
    chew
    faint
    says
    midst
    ceramic
    buyer
    usual
    phrase
    yield
    ajar
    paid
    enlarge
    mild
    humidity
    furl
    zinc
    depict
    judicial
    zest
    

    beige-wordlist-278

    program
    package
    profile
    source
    extra
    include
    plot
    move
    heat
    type
    install
    valid
    intend
    cover
    index
    huge
    main
    manual
    zone
    language
    level
    object
    class
    network
    item
    group
    kind
    manager
    hand
    various
    bundle
    quick
    plan
    advance
    lend
    round
    provide
    order
    axis
    very
    deploy
    random
    replace
    step
    volume
    simple
    large
    kernel
    review
    method
    expand
    material
    machine
    fact
    metric
    force
    element
    counter
    cards
    render
    inform
    crystal
    single
    should
    require
    regular
    guard
    carpet
    general
    detect
    listen
    result
    gather
    aide
    inside
    depend
    width
    domain
    extend
    true
    dynamic
    have
    flip
    mixed
    course
    living
    join
    capture
    ending
    away
    hybrid
    march
    firm
    echo
    moment
    exchange
    forward
    perfect
    piece
    clock
    greatest
    idea
    beyond
    total
    response
    percent
    credit
    bucket
    clay
    lift
    deal
    together
    repeat
    length
    cubic
    bolt
    alto
    champion
    fused
    apart
    observe
    ancient
    multiple
    discuss
    exact
    treat
    omit
    beam
    making
    stay
    fancy
    herd
    primary
    engage
    herald
    category
    fragment
    grant
    bulb
    cowboy
    expect
    being
    coal
    execute
    fraction
    much
    carbon
    prepare
    finding
    gravity
    organize
    trend
    inherit
    genre
    junior
    cause
    maximum
    depart
    duration
    civil
    leader
    crunch
    purchase
    payment
    quarter
    mixture
    submit
    zeta
    losing
    explain
    budget
    exclude
    zeal
    aspect
    flexible
    obtain
    brave
    hanger
    practice
    amount
    xeno
    estimate
    agree
    equip
    relate
    chew
    reaction
    says
    carve
    remind
    identify
    ruler
    evaluate
    modify
    funding
    floral
    dough
    starting
    describe
    unfold
    costume
    imply
    briefing
    gesture
    closet
    ancestor
    recall
    decision
    usual
    capacity
    ordinary
    improve
    agency
    yield
    phrase
    amuse
    belong
    envelope
    ajar
    cradle
    enforce
    hearing
    faint
    easel
    increase
    paid
    declare
    likely
    meaning
    decorate
    ambition
    blanket
    formal
    steady
    mild
    industry
    merit
    emphasis
    fiscal
    glance
    forecast
    careful
    often
    genuine
    furl
    quantity
    ceramic
    overall
    involve
    permit
    exceed
    ranked
    bracelet
    zinc
    endorse
    enlarge
    helpful
    realize
    buyer
    zest
    admit
    aluminum
    devote
    midst
    depict
    indicate
    dictate
    frequent
    mandate
    grasp
    dominant
    calcium
    diminish
    educate
    humidity
    hesitate
    adorn
    judicial
    

    You can alphabetize them at any number of sites such as https://wordcounter.net/alphabetize