Re: changes; modularization

Peter Bienstman <[email protected]> Thu, 16 Oct 2003 11:11:26 +0200
Newsgroups gmane.comp.tools.memaid.devel
Organization Ghent University
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi David,

I think a well-designed, clean and simple core with a good NN would be a good 
thing,

There is a possibility of incompatible clients and file-formats though, but 
that's perhaps not the end of the world.

Personally, I'm going to add a category label to each question. I'm not 
interested in turning categories on and off, but before I throw all my 
databases in one big file, I want to make sure I can untangle them in the 
future if I want to. 

For that, I'll probably go the way of an XML fileformat and converter scripts. 
This means I'll have to give up KMemaid's nice GUI to edit items, but that's 
the price I'll have to pay ;-)

Peter

PS: Perhaps If you really want to make a simple core, you should rip out all 
the item loading and saving code out of the core too, and leave it to the 
front-end how to store it. That way you have a nicely separated core which is 
independent of the storage method and of the UI, which is good thing from a 
software engineering point of view.

On Thursday 16 October 2003 03:49, David Calinski wrote:
> Hi all,
>
> I removed categories from the core. I was very unhappy about the way
> they were implemented, and I just can't stand so many complications for
> categories that are almost of no use.
> There have to be another, simpler way - e.g. front-end can use multiple
> databases.
>
> I also removed, in the core, possibility to use "Forced repetitions"
> mode.
> Let me explain why I consider this mode to be bad.
>
> I designed MemAid to be a tool that allows to MINIMIZE time
> spend on learning by allowing anybody to make repetitions on *the most
> optimal* days (when an information is close to forget).
>
> Now, late repetitons are evil, they destroy the most optimal flow of
> learning. But it's really hard to avoid them - IIRC even in the first
> MemAid version (0.0.1) I implemented a basic algorithm to cope somehow
> with such repetitions.
> Late repetitions are evil, but MemAid *MUST* be able to cope with them.
> No doubts about it.
> We all may be late with repetitions (we may be
> on holidays without computer, or just don't have time for repetitions on
> a day.)
>
> "Forced ahead-of-time repetitions" are second evil.
> But evil that this time can be easily avoided (and was not present in
> earlier memaid versions) - just by not offering this "feature" to user.
>
> Yes, MemAid since 0.4.0 can cope much much better (NOTE: better =/= very
> well) with repetitions that are not on the "right time" - ANN can learn
> from such cases and ANN can give better intervals on them. But such
> repetitions still makes a lot of complications in code (e.g. see
> beginning of void move() in the old core - to really fix it here we
> would have to use (and save in elements.* files) yet another variable to
> count ahead-of-time repetitions and complicate code in more places
> yet.), and not only in code, but also horrible complication in the
> learning flow.
>
> And the most important is that such forced repetitions are of no
> sensible use in a software designed to MINIMIZE time spend of learning
> to the absolute MINIMUM while keeping retention MAXIMAL.
> There are some rare cases when the "forced repetitions" would be
> useful though (e.g. making repetitions before going for longer holidays
> without computer), but it's easy to make such routines outside the core
> - if anyone wants this feature.
> I simply don't want it in the core.
>
> Now, there are *many important* things to be done in memaid.
> Training ANN and ANN can be yet improved to give better intervals,
> faster learn from user, etc. - *this* is my area of interest in memaid.
> I want to make it better tool in when it comes to most optimal
> repetitions. I don't care about things I won't use (categories or other
> fancy stuff that bloats code and don't make memaid anything better when
> it comes to the basic idea of memaid use).
> If anyone wants a categories or any other things - feel free to write a
> module for memaid core. I would like to see memaid more modularized.
> E.g. I plan to write a module for statistics (e.g. stats.c) that would
> have much more statistical functions. There can be modules for
> categories, etc.
> A front-end maybe won't use fancy statistics - then it
> won't use statistics module.
> An another front-end maybe won't use categories - then it won't use
> categories module. Etc.
> I don't agree to bloat the core with everything, the core has to
> be "simple as possible, but any simpler".
>
> I should earlier write about it... but only now I realized
> that many things in memaid development are recently going in a direction
> that I don't like at all.
>
>
> Dave
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: SF.net Giveback Program.
> SourceForge.net hosts over 70,000 Open Source Projects.
> See the people who have HELPED US provide better services:
> Click here: http://sourceforge.net/supporters.php
> _______________________________________________
> Memaid-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/memaid-devel

- -- 
- ------------------------------------------------
Peter Bienstman
Ghent University, Dep. of Information Technology
Sint-Pietersnieuwstraat 41, B-9000 Gent, Belgium
tel: +32 9 264 34 45, fax: +32 9 264 35 93
WWW: http://photonics.intec.ugent.be
email: [email protected]
- ------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/jmC+4dgPAIjyquoRAj/0AJ9uinAd+KZC/IFilrc+XfpbYVydowCglfFv
A8SEk5yXa4Din3CPZhBd0UY=
=/eD7
-----END PGP SIGNATURE-----



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php