From nellardo@concentric.net Mon May 08 17:20:42 2000 Return-Path: Received: (qmail 6591 invoked from network); 9 May 2000 00:08:22 -0000 Received: from unknown (10.1.10.142) by m3.onelist.org with QMQP; 9 May 2000 00:08:22 -0000 Received: from unknown (HELO uhura.concentric.net) (206.173.118.93) by mta3 with SMTP; 9 May 2000 00:08:22 -0000 Received: from cliff.concentric.net (cliff.concentric.net [206.173.118.90]) by uhura.concentric.net (8.9.1a/(98/12/15 5.12)) id UAA04717; Mon, 8 May 2000 20:08:21 -0400 (EDT) [1-800-745-2747 The Concentric Network] Errors-To: Received: from concentric.net ([216.112.226.144]) by cliff.concentric.net (8.9.1a) id UAA09116; Mon, 8 May 2000 20:08:21 -0400 (EDT) Message-ID: <39173ACF.2938AB8D@concentric.net> Date: Mon, 08 May 2000 19:10:29 -0400 Reply-To: nellardo@concentric.net Organization: Herds of Wild Buffalo Girls X-Mailer: Mozilla 4.7 (Macintosh; I; PPC) X-Accept-Language: en MIME-Version: 1.0 To: lojban@egroups.com Subject: OT - programming logflash Re: [lojban] Logflash References: <200005082219.SAA20125@calum.csclub.uwaterloo.ca> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Brook Conner X-Yahoo-Message-Num: 2604 I started with rants and such, but quickly realized I'd put the more interesting stuff first. I posted a long tirade about programming tools for conlangs on the conlang mailing list. It didn't address drilling software like logflash, but many of the issues I think are relevant. >From an engineering standpoint, a flash-card vocabulary drilling program has several different components. Some of these are best left to existing libraries (because they've been done and aren't specific to the task at hand - displaying text and inputting it, for example). Others are more specific, such as generating random permutations of the vocabulary lists and tracking performance on the vocabulary. Logflash puts the vocab into "piles" based on how well the user is doing on that word. Deciding when to move vocabulary from pile to pile is an interesting part of the problem. Deciding how to position text fields on the screen is not "interesting" in the sense that it is not a *programming* problem so much as a *usability* or *esthetics* problem (both of which being skills that can be as demanding as programming in their own right - don't think I'm holding up programming as the hardest skill around - I'm trying to suggest what kind of skills are needed for what parts of logflash). While I think more software tools for lojban would be a Good Thing, I'd hope that what resources lojban has would be used as efficiently as possible..... Now the point-by-point stuff.... where I show my own programming biases...... Robin Lee Powell wrote: > >> No, I meant I'm doing a complete rewrite from the algorithm statement, in > >> C, using ncurses. Eeek. How painful. > > Using C is probably a very good idea, > > Strongly agree. Ooof. Okay if the author is really only comfortable in C, I suppose. But this is really a case of using the wrong tool to get the job done. You'll spend more time on memory management, parsing the file, and tweaking ncurses than you will on any substantive flashcard functionality. IMNSHO. At least do yourself a favor and use the GNU readline lib, if you really can't stand using a programming language more suited to the task (such as Perl, a perfectly awful programming language that is amazingly useful). For that matter, Pascal is not particularly well-suited to programming something like Logflash (clearly, it can be done - the point is that other languages do it more easily). > >using ANSI/POSIX would be yet even better so that it is very portable > >at the end (I can help you with that), ANSI C with Posix libraries is hardly the most portable of possible solutions.... but I digress > Agree. GNU autoconf is also good. Again, probably not the best tool for the job, and, while easy to use for people compiling someone else's code, it's a bitch and a half to set up, and the macros are just from hell. > >and of course make it GPL'ed. ;-)) > > Strongly disagree. The GPL is viral in a very virulent and obnoxious > way. Use the LGPL or put it in the public domain or something. Oh, I'm not even gonna deal with this one - take it to slashdot, kids. Brook