Stupid offline console dictionary
2022-05-15
I have been looking for a simple offline non-GUI dictionary for couple of weeks
initially I have set up dictd-server and dictd-client dict(1) (both are in ports) using tldp guide. Since it's on OBSD, had to create priviledged environment under /var
for a non login user _dickd
to start client rc script
To top that off, I found supported databases *.dict.dz
and *.index
only for moby thesaurus
I shared this info to my friend, bet it was surprise and disbelief. Why would a stupidly simple task need all these! I can just grep a huge txt file and with multiple grep I can have variety of dictionary too!
looking at dictd-server again today, found an argument for testing across all databases dictd -t <word>
, it pukes log as stdout and results as stderror!
moving on, I spent hours to find pre archived databases since all the ftp servers are down! (even freebsd removed dict-databases from their ports)
thanks to ferdnyc for archiving varity of databases, cloned to my ~ and dictd config follows
# /etc/dictd.conf
# dictd 1.9.15/rf on OpenBSD 7.1
# Copyright 1997-2002 Rickard E. Faith (faith@dict.org)
#
database mb {
data "/home/hisacro/dictd-dicts/moby-thesaurus.dict.dz"
index "/home/hisacro/dictd-dicts/moby-thesaurus.index"
}
database devils {
data "/home/hisacro/dictd-dicts/devils.dict.dz"
index "/home/hisacro/dictd-dicts/devils.index"
}
# word_net
database wn {
data "/home/hisacro/dictd-dicts/wn.dict.dz"
index "/home/hisacro/dictd-dicts/wn.index"
}
from the looks of it, most gaanu/linux
distors pack server and client
together but only dictd
is needed
I could make use of search history too, so shell fucntion
dic() {
dictd --test $1 2> cat #suppress log
echo $1 >> /home/hisacro/.dic_history
}
a sample
x201$ dic cat
From Moby Thesaurus II by Grady Ward, 1.0 [mb]:
128 Moby Thesaurus words for "cat":
Abyssinian cat, Adamite, Angora cat, Argus, Cheshire cat,
Chinchilla cat, Himalayan cat, Maltese cat, Manx cat, Persian cat,
...
From The Devil's Dictionary (1881-1906) [devils]:
CAT, n. A soft, indestructible automaton provided by nature to be
kicked when things go wrong in the domestic circle.
This is a dog,
This is a cat.
This is a frog,
This is a rat.
Run, dog, mew, cat.
Jump, frog, gnaw, rat.
Elevenson
From WordNet (r) 2.0 [wn]:
cat
n 1: feline mammal usually having thick soft fur and being unable
to roar; domestic cats; wildcats [syn: {true cat}]
2: an informal term for a youth or man; "a nice guy"; "the
guy's only doing it for some doll" [syn: {guy}, {hombre},
{bozo}]
3: a spiteful woman gossip; "what a cat she is!"
Beautiful!
I thank my obsd mirror for stalling snapshot ports otherwise I would have spent another half a day looking at dic(k)o
very interested to see how others have setup dictionary, I still feel like missing something very obvious
chances are precompiled dictd package on your repo/ports is >1.13.0 and doesn't have optin for --testing
, reason why obsd still ships 1.9.15 is lack dependency of libmaa for later versions.
sourceforge archive of dictd-1.9.15,
$ cd dictd-1.9.15
$ ./configre
$ # only in the need of server so
$ make dictd
$ # place system wide config at /etc/dictd.conf
$ ./dictd --testing <word>
$ # modify shell func accordingly