BigHeadMode

joined 2 years ago
[–] BigHeadMode@lemmy.frozeninferno.xyz 5 points 4 hours ago (1 children)

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

 

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.

 

I am trying to solve a specific problem that has some other applications.

My specific problem is I want to add an English word to every file from my camera. The files come in like [date]_time.jpg. Although I think the best workflow involves using a photo management app like DarkTable, sometimes you just want to quickly browse your filesystem and grab the original image. Browsing just by datetime creates problems when you take two very similar images seconds apart. It takes a lot of effort determining which is which. And if you pick out your best picture from a shoot, you then have to mentally note you want timestamp _12345678 and find it in your folder.

I think it would be smoother to have files like:

  • 20261019_cape_12345678
  • 20261019_echo_12346678

In my specific case, 100 unique words is the absolute minimum, with 500-2000 words being more comfortable.

This is trivial if you have a "wordlist", a list of words you find suitable for the task. And there's the rub. What's a good wordlist? I can hack one together myself but I'm hoping some top minds have thought about this.

Some prior art that I've found is:

This task is nontrivial in my use case. Words can:

  • evoke computers - copy, original, resize, error, fail, process, base, cat, category, data, base, idle, arm
  • evoke other common file formats - album, music, song, camera, photo, video
  • evoke the contents of an image or file - cool, neat, tree, car, sky, beautiful, best, trip
  • evoke common filenames and extensions - wave
  • be full on offensive
  • be offensive in some contexts, as well as have a negative connotation in the most literal sense: bad, corrupt, awful, awkward, bomb

This is partly an "I know it when I see it" problem, but I'm kind of looking for the 500 blandest, most non-ideological English words there are.

[–] BigHeadMode@lemmy.frozeninferno.xyz 2 points 4 months ago (1 children)

Do you know the implications for wear on the drive (related to TBW [total bytes written] and write amplification) on a CoW / highly fragmented drive? I figure if they are planning on writing once, then moving the whole file to an empty space, that means ~2x the writes.

[–] BigHeadMode@lemmy.frozeninferno.xyz 1 points 4 months ago (1 children)

Btrfs ... do online defrag and deferred scheduling of tasks for it to allow for EVENTUAL consistency as far as contiguous block forms go. The more free space you have, the sooner it will become cleaner.

Based on my research, this has to be requested by the user/OS. I don't think Openmediavault (Debian derivative) enables auto defrag out of the box. If I set this up manually, I definitely didn't enable it. You can run a defrag command online (while the system is running) or set the mount to do it automatically.

23
submitted 4 months ago* (last edited 4 months ago) by BigHeadMode@lemmy.frozeninferno.xyz to c/linux@lemmy.ml
 

I ran compsize on my debian box. Most files on my btrfs drive are around 20 GB. Almost all are uncompressed. I have 6000 files and 221000 regular extents.

Is that too much fragmentation? The ideal case is 1 extent per file.

I am reading around 100 MiBps from the drive out of a theoretical max of ~119 MiBps on a 1 Gbps line.

edit: On a local read I am getting 130-150 MiBps which exceeds the 1 Gbps network. pv /path/to/file >/dev/null

edit 2: For reference, this is a WD Red 6TB drive from around 2018-2020. Max speed should be in the 200 - 250 MBps range.

I defragged a ~300 GB folder and deleted some unneeded files. Extents per file actually went up, but I think that's because the remaining files are heavily fragmented (many 70+ extents per file). Somewhat surprisingly, most/all of the defragged files still had 3-10 extents. Each file is under 2 GB.

Before: ~35 extents per file. After: 55 extents per file.

compsize /path/to/folder
Processed 2648 files, 145287 regular extents (145287 refs), 1 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       99%      1.5T         1.5T         1.5T
none       100%      1.5T         1.5T         1.5T
zstd        19%      236M         1.1G         1.1G
0
submitted 11 months ago* (last edited 11 months ago) by BigHeadMode@lemmy.frozeninferno.xyz to c/linux@lemmy.ml
 

I want to make Linux my main OS. I've used Windows for decades. Since Vista or 7, the Windows security model is this, from what I understand:

  1. unprivileged programs have limited/no ability to do scary things to your computer. they might be able to read some data, but it's not going to implant malware in the boot sequence for Windows.
  2. if a program wants escalation, it triggers a UAC popup and the user has to accept it. Remote programs cannot accept UAC on a physical person's behalf. Escalated programs have admin level control and can do the scary things.
  3. As with any OS, there may be privilege escalation vulnerabilities that escalate (1) into (2).

I've only had Windows malware a few times since Win7, and the entry point was fairly avoidable. (Running a sketchy EXE, and a possible drive-by malware install via an advertisement. I could never prove the latter.)

I have never run a password on my Windows desktops. (edited)


On any system, physical access is game over. edit: new section. A lot of people in the comments are making some assumptions. I don't run Windows on laptops. When work provides me with a laptop, they enforce passwords and full disk encryption. That makes sense because they would rather have workers type in a password once per screen lock than than have some random person or competitor get access to their network.

My Windows desktop is always in a house/apartment where I have other measures to determine if people have entered. I also have locks on the doors.

People also seem somewhat ignorant regarding the concept of a threat model. They make the assumption that login password = encryption password and that my machine will contain secrets I want to hide.

In my threat model, anyone with harmful physical access to my desktop is either:

  1. Casual burglar looking to sell my items (not steal data)
  2. Sophisticated thief looking to drain me financially
  3. Government entity with some real or imagined reason to target me

Non-sophisticated on-prem hackers are not in my threat model.


On Linux, the password is paramount. I've tried to understand the security model and I keep failing. Synthesizing from arch wiki

SSH

Equivalent to local physical access as the user. If it's a sudoers or root account, it can do scary things. Not a threat if ssh is disabled or well secured (password or key pairs).

If a network has a well configured firewall (on the router), it should block ssh requests from outside the network unless the admin specifically wants SSH outside the network.

As with any OS, there may be bugs that allow remote access outside of SSH.

Local login / password prompts to physical users

Without a password, you can't escalate to root and install new software. Some software, often dealing with hardware (smartctl) requires sudo/root to run.

Encrypted drives

Passwords can decrypt drives if they are encrypted.

Keyrings

Some DEs (KDE) offer a 'keyring' that stores passwords. It's locked/encrypted with a password, usually the same as the login password.


So what am I missing? Is Windows + UAC + no password secure? What is Linux protecting us from by using passwords?