ago is a go program.
The name will be changed in future, maybe.
In short, the program chooses useful words in specific documents that need to be understanded well and helps user to understand them well. The help will be made by listing the each word and its meaning, and let user to test whether he is understanding the word well in himself. The self test result will feedback the important word election.
This program has made for author's english vocabulary memorization training. Because the description of the program is general, however, the program can be used for wider general case. For example, terminologies for specific area such as computer science or mathematics.
At first, the program receives multiple specific documents. The documents could be pdf, url, etc in future. For now, however, it receives text file only. The program counts frequency of each word in the documents. Words that used frequently be measured as important.
After that, when user requires, the program shows the each word in importance order. For each word, the program gives the user to remember the meaning of the word. When user let program knows he has spent enough time to remember, program shows the meaning of the word and few useful informations about the word to user. User can let the program knows whether he remembered the meaning well or not. If user says he is remembering the meaning well, importance of the word becomes lower. In other case, the importance becomes higher.
Basic usage is similar to other familiar CLI tools like git, perf, etc.
The usage is as below:
ago <command> [arguments ...]
In short, ago supports several subcommands with optional arguments for thse subcommands. User can use those subcommands to manage documents and words.
Commands are:
add-docs: Put one or more documents under management ofago. Currently, only text file is supported. User can specify files they want to add by giving path to the files as argument.agoautomatically extracts words inside the documents into its internal storage and manage their importance with referenced count and user feedback.ls-docs: List currently added documents. Output of the command is name of document and its id. Because different documents may have same name, a document should be identified by the id.rm-docs: Remove one or more documents fromago. User should give id(s) of documents they want to remove as argument. Removed documents not be displayed vials-docsand words under the documents will be removed fromago, too.`dic: Search meaning of a word and its usage example using dictionary. Currently, it uses Daum English-Korean Dictionary[1] service. However, as the design says, it can be alternated to English dictionary or other in future as user want. This command is quite useful for non-English native terminal familiar hacker. In the case, he can reduce time consumed by dictionary searching because terminal is close and dictionary on browser or book shelf is far.test: Start a self test. Within test,agogives a important word and gives time for user to remember the meaning of the word. After that, user can signalago.agoshows real meaning and usage example of the word to user by using thediccommand internally. After that, user can feedbackagowhether he remembered the meaning well or not. The feedback be used to calculate the importance of the word.
Below is an example of ago usage. It has lots of assumptions not described
here. However, clever one like you may understand the meaning well ;)
$ ./ago ls-docs
$ ./ago add-docs ~/linux/README ~/linux/Documentation/SubmittingPatches
$ ./ago ls-docs
0: README
1: SubmittingPatches
$
$ ./ago rm-docs 1
$ ./ago ls-docs
0: README
$
$ ./ago dic hack
Meaning
โ ๋๋์งํ๋ค โก๋์ ๋ง โข๊ณ ์ฉ๋
Examples
The attacks have been conducted by an iPhone-hacking wonder kid.
๋ฃ๊ธฐ ์์ (Teentimes) ๊ทธ ๊ณต๊ฒฉ์ ์์ดํฐ ํดํน ์๋ ํค๋์ ์ํด ํํด์ ธ ์๋ค.
It seems as if a series of hacking incidents are plaguing the nation.
๋ฃ๊ธฐ ์์ (Teentimes) ์ผ๋ จ์ ํดํน ์ฌ๊ณ ๋ค์ด ํ๊ตญ์ ๊ดด๋กญํ๋ ๊ฒ ๊ฐ๋ค.
Hacking companies to "help them" in the long run is still unjustified.
๋ฃ๊ธฐ ์์ (Teentimes) "๊ทธ๋ค์ ๋๊ธฐ ์ํ" ํดํน ํ์ฌ๋ค์ ๊ฒฐ๊ตญ ์ ๋นํ๋์ง ์๋๋ค.
2nd Statement: Hacks can be used as a powerful and effective artistic
expression.
๋ฃ๊ธฐ ์์ (Teentimes) 2์ฐจ ์ง์ : ํดํน์ ๊ฐ๋ ฅํ๊ณ ํจ๊ณผ์ ์ธ ์์ ์ ํํ์ผ๋ก
์ฐ์ฌ์ง ์ ์๋ค.
Having said that Nintendo has been hacked and Sony has been hacked twice.
๋ฃ๊ธฐ ์์ (Teentimes) ๊ทธ๋ ๊ธฐ๋ ํด๋ ๋ํ
๋๋ ํดํน์ ๋นํ๊ณ ์๋๋ ๋ ๋ฒ์ด๋
ํดํน์ ๋นํ๋ค.
์๋ฌธ ๋๋ณด๊ธฐ
$ ./ago test
Let the game begin
Ready? (Yes/[No])
y
==============================================
Question 1/5:
[[ the ]]
Press Enter after you remember the meaning of it:
Reference: 185 Test success/fail: 0/0
----------------------------------------------
The maning of the was:
Meaning
โ ๊ทธ โก๊ทธ๋ด์๋ก โข๋์ฑ๋
Example
The problems do not magically disappear, but you may feel better.
๋ฃ๊ธฐ ์์ (Kidstimes) ๊ทธ ๋ฌธ์ ๋ค์ด ๋ง๋ฒ์ฒ๋ผ ์ฌ๋ผ์ง์ง๋ ์์ง๋ง, ๋๋ ๊ธฐ๋ถ์ด
๋์์ง์ง๋ ๋ชฐ๋ผ.
Every point that you do not challenge makes your opponent's argument stronger.
๋ฃ๊ธฐ ์์ (Kidstimes) ๋น์ ์ด ์ด์๋ฅผ ์ ๊ธฐํ์ง ์๋ ๋ชจ๋ ์๊ฒฌ์ ๋น์ ์ ์๋ํธ์
์ฃผ์ฅ์ ๋์ฑ ๊ฐํ๊ฒ ๋ง๋ญ๋๋ค.
A bike can become more so if you attach Fontus to the bike.
๋ฃ๊ธฐ ์์ (Kidstimes) ๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ์์ ๊ฑฐ์ Fontus๋ฅผ ๋ถ์ฐฉํ๋ค๋ฉด, ๊ทธ๊ฒ์ ๋์ฑ
๊ทธ๋ ๊ฒ ๋ ์ ์์ต๋๋ค.
You can donate money to the NoPhone project on a website.
๋ฃ๊ธฐ ์์ (Kidstimes) ๋น์ ์ ์น์ฌ์ดํธ์์ ๋
ธํฐ ํ๋ก์ ํธ์ ๋์ ๊ธฐ๋ถํ ์
์์ต๋๋ค.
Once you do, learning it will become fun instead of work.
๋ฃ๊ธฐ ์์ (Kidstimes) ์ผ๋จ ๊ทธ๋ ๊ฒ ํ๋ฉด, ๊ทธ๊ฒ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ผํ๋ ๊ฒ์ด ์๋
์ฆ๊ฑฐ์์ด ๋ ๊ฒ์
๋๋ค.
์๋ฌธ ๋๋ณด๊ธฐ
----------------------------------------------
Were you understanding it well? (Yes/No)
y
your feedback, Yes applied
----------------------------------------------
==============================================
Question 2/5:
[[ to ]]
Press Enter after you remember the meaning of it:
Reference: 83 Test success/fail: 0/0
GPL v3
SeongJae Park (sj38.park@gmail.com)