← Back to team overview

wintermute-devel team mailing list archive

[update] todo list and info

 

*First off, hello and thank you for remaining with the Wintermute
project!* The project officially began on the 11th of January and now
we're roughly 5 months into development. Every ounce of effort made by
everyone who has contributed was, is and will be greatly appreciated!

Now to work; the subject says it all. This is an abrupt *to-do* list.
But there is a few things to be mentioned.
Gentoolx has been diligently working to replace the archaic Autotools
system with the modern CMake system, bringing recipes on Launchpad and
populating our PPA! You can read more about installing what's available
on the Institute's wiki and blog. But now for the todo's. Some of these
TODOs can be found in the branches (or in Doxygen, after building it);
and should be removed or marked as *@fixed* when completed.


    linguistics

    * Assist work in implementing the remaining components as pinpointed
      in *EnglishParser.cpp*
          o Determine a way to detect specific characters in a token (ln
            56, rev 29)
                + detect boundaries like parentheses and braces.
                + detect punctuation like periods, commas, semi-colons.
                + detect if token is fully numeric, alphanumeric, or
                  fully alphabetical.
          o Implement a means of having consistency of pronouns to their
            respective nouns. In a sense, implement a means of having
            "she", "he" and "it" become verbal pointers to nouns like
            "Mary", "Tom", and "Fido".
                + Add this information to the parser
                + optional: allow it to be serialized using
                  Boost::Serialization.
    * *Implement a pattern-matching NLP approach*
          o There's a chance that the NLP used in WntrLing /may not
            /work, and may also bring false positives. After a bit of
            pseudo-testing; I've noticed that the NLP here would be a
            BNF-style grammar and that's what we're *trying to avoid*.
            If possible, we want Wintermute to learn language rules and
            be able to bend them when it knows to do so appropriately.
            This might mean we'd need a super-flexible, blindingly
            complex system that lexically understand text and develop
            its own syntax. *This is where the Psych team is needed for
            testing*, when code is available.
          o *If you wish to assist with this, please report to ##sii-dev
            within the hours of 8PM - 4AM UTC (4PM - 12 PM EST/D) to
            discuss this topic. A wiki page will be up soon about this
            before the close of the week.*

**


    database

    * Implement/integrate a system for parsing and saving OWL nodes into
      objects as portrayed in *ontology.*pp*
    * Continue implementing Boost::Serialization compatibility XML to
      have a serialized *Lexical* object look like:

      <Lexical *id*="${ID}" *locale*="${LOCALE}" *symbol*="${SYMBOL}">
      	<Flag *ontoid*="${ONTOLOGICAL_ID}" *flags*="${LEXICAL_FLAGS}" />
      </Lexical>

      ie: (for the word '*you*'; not really the semantic/syntactic bindings)

      <Lexical id="0" locale="en" symbol="you">
      	<Flag ontoid="0" flags="Ad2" />
      	<Flag ontoid="0" flags="Ae1*" />
      </Lexical>


    network

    * Continue/finish implementing of the Server and Client classes
          o Allow a port to be specified from a macro (_WM_PORT) and use
            only one port for every server and client.
    * Permit serialization/deserialization of C++ objects that are
      Boost::Serialization-able via Network::Message, thus creating a
      transportable, unified means of data transmission.
    * Implement a means of determining the existence of other Wintermute
      processes on the same network by using (hopefully only)
      BroadcastMessages.
    * Record a log of:
          o last seen / first seen instances
          o IP Addresses of seen instances


    ui

    * *Textual User Interface
      */Most of this would be implemented in the master branch; with
      modifications to the other branches../
          o Core application should use a *--debug* or *--verbose* flag
            to allow more concise output needed for debugging.
          o A *--enable-exception-handler* might be overkill, but when
            an exception is thrown, have the stack trace dumped out to
            *c* (cerr, clog, etc.)*.
          o Allow *--data-directory=DATADIR* to specify a different
            location for WntrData's information.
          o Allow *--locale=LOCALE* to specify a different locale upon
            initialization (although there's only the English one so far).
    * *Graphical User Interface*
      /For cross-distro support, Qt will be used for front-end purposes.
      GTK bindings can be done and if well done, will be taken on for
      support./
    * *Natural Language User Interface*
      /This UI system will be heavily dependent on the NLP to be
      proficient. It is to be remembered and considered, but not
      approached at the moment./


    packaging & build system

    * Work on the Debian packaging for:
          o wntrntwk
          o wintermute


    miscellaneous

    * Complete documentation information for places that are missing
      (WntrLing-core, WntrNetwork, WntrData)
    * Propose new features for underlying applications.
    * Consider working on integrating a speech synthesizer and voice
      recognition engine into Wintermute.
          o Voice Recognition: Julius (http://julius.sourceforge.jp) or
            CMU Sphinx (http://cmusphinx.sourceforge.net)
          o Speech Synthesizer: MARY TTS (http://mary.dfki.de)
    * Start implementation to expose *the entire *code-base to other
      languages; such as
          o C
          o Python
          o Haskell
          o (other languages can be proposed and discussion at
            http://www.thesii.org/wiki/SII:Projects:Wintermute:Techbase)

In order for us to hit a full release, we need to hit each and every
bullet as displayed on
http://www.thesii.org/wiki/index.php?title=SII:Projects:Wintermute:Blueprints:Roadmap:0.01a.
With that; we'd have the 0.01a release of Wintermute.

Work's also being done to populate
http://www.thesii.org/wiki/SII:Projects:Wintermute:Techbase for
compiling purposes.

*Please don't be afraid or hesitant to ask a question or plop onto our
personal IRC channel (on Freenode) [##sii-dev]!*

*NOTE: *There's a chance that we (developers) may have to hold a
meeting. A doodle for scheduling will be dumped onto the mailing list
within a day or two.

*Once again, thank you.*
-- 
Jacky Alcine Site <http://www.jackyalcine.co.cc>|Launchpad
<https://launchpad.net/%7Ejackyalcine>
begin:vcard
fn:Jacky Alcine
n:Alcine;Jacky
email;internet:jackyalcine@xxxxxxxxx
x-mozilla-html:TRUE
version:2.1
end:vcard