Feature ideas - gropax/qiq GitHub Wiki

List of possible extensions/programs

  • Learning suggestions
  • Redaction of texts
  • Model language patterns (natural language, programming languages)
  • Create and model philosophical systems
  • Create and oppose arguments
  • Records memories or dreams

Learning project

I want to be told the list of learning projects I created in the past. One of my problems is that I want to learn many things want I am busy, but don't remember anything while at rest. Therefore, I want to store these learning tasks in a place I can easily retrieve data from.

$ qiq task list -t @learning
- Learn chinese
- Learn Haskell
    - Learn Monads
        - Learn State Monad

It would be nice to receive suggestions from the system about some learning tasks, accompanied from a little teaser. It could show me a sample of curious Haskell code, or a chinese sentence, to catch my mind and give me motivation to start this new activity.

$ qiq task pick
What about learning how to use the State monad in Haskell ?
This is a great way to improve your programming skills. It will help you develop the functional way of thinking. It will be a stimulating challenge and you will feel empowered and satisfied by want you will learn from it.

Doesn't it looks cool ?

    instance Monad (State s) where

    The return function is implemented as:
    return :: a -> State s a
    return x = State ( \ st -> (x, st) )

Do we start ? (Yn)

The teaser may contain different parts: a title (how to use the State monad), a sample of the subject (return :: a -> State s a), a rationale about all the good reasons to do the task (This is a great way to improve your programming skills). The program may promp at the end what I want to do about the suggested task. I may refuse or postpone, and the system could then provide another suggestion.

All these features may be generalized to every kind of tasks.

"Business" value

  • Manage list of tasks and subtasks.
  • Help remember things to do
  • Provide pertinent suggestions
  • Give motivation by teasing and providing good reasons

Provide Composition objects

Compositions are text file under construction. They are progressively incorporation and formating content from notes, collected regularly.

$ qiq note new @my-resume --content "I can lick my own nose"
925

...

$ qiq comp status my-resume
Number of lines: 45
Unprocessed notes: 2
$ qiq comp my-resume --notes
Note 925, created two minutes ago
  I can lick my own nose

$ qiq comp edit -N   # Append all notes to composition
(text editor, append all notes)

Actions

  • Create a note
    • Inline/with text editor
    • In default/special channel
    • With/without tags
  • Update a note in text editor
  • Show a note
  • Delete a note
  • List notes:
    • All notes/in chanel/with tag
    • Sort by creation/update time/tage name, etc..
  • Add tag to note
  • Remove tag from note
  • Copy note in another channel