maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [ANNOUNCE] Qteachme (https://talk.maemo.org/showthread.php?t=47255)

magnuslu 2010-03-13 01:55

[ANNOUNCE] Qteachme
 
4 Attachment(s)
Qteachme 0.1.1 is now available in extras-devel. This is a flashcard app developed primarily for N900/Maemo. It has the ability to import delimited text files. The delimiter can either be
'|', "\t", "," or ";" (in that order of preference). The app will check in the first line of the text file to see what delimiter is used.

The first time you launch Qteachme, you will directly come to the Import function. You can call the Import function from the menu later to import other files if you want to. Apart from the file name, you enter the name of the 'course'. Qteachme will split up the flashcards into 'chapters'. You can define the number of cards you want in each chapter. Finally, you give descriptive names to the 'sides' of the flashcards. For the Chinese.txt file which comes with the installation, I recommend entering Simplified, Pinyin and English. When you press the 'Import' button wait for a few seconds while the information is being loaded. When you're done importing, click outside the window to continue.

In the 'Settings' window you choose which course/chapter to study. Here you also select which side of the card to be shown for you to guess. Once you have guessed, the other sides will be displayed as well. You also define what words to display. 'All' means all the words of the chapter and 'Not learned' will show cards with a score <100%. The final setting is the order in which the cards are displayed.

In the main Qteachme window, you will first see the selected card. You press the 'Show' button and you get three buttons, Good, OK and Bad. Select according to how well you guessed the right answer. Words (cards) and chapters will be rated with a % score depending on how your learning progresses.

Qteachme will also display a score indicating how well you have been doing during the current session.

Known issues:

1) The app exits intermittently for no reason.
2) Support for multiple 'course' is there, but has barely been tested.
3) The app is supposed to remember the last course/chapter you have been studying when you open the app again, but it doesn't seem to work all the time.

Let me know if you have issues loading other text files than the one provided and I'll see if I can fix it. Feel free to add URLs to places where additional 'courses' can be found or add them as attachments.

The usual disclaimers for apps in Extras-Devel apply...

PS! For those of you who might have installed the .deb package that I made available previously in another thread here, please uninstall it first. You might also have to delete the qteachme.db file as the database structure has changed. It is always safe to delete that file as the app will recreate it if it is missing.

Addison 2010-03-13 02:14

Re: [ANNOUNCE] Qteachme
 
Oh wow!

This looks excellent! :D

I take it that you're using the QT language for this which means a possible Maemo 4 port is completely out of the question?

magnuslu 2010-03-13 02:29

Re: [ANNOUNCE] Qteachme
 
Yes, it is using Qt. I must say I didn't even consider Maemo 4/Diablo, so I have no idea as to what the effort would be. If anyone has any experience doing it, I could look into it sometime in the future.

Addison 2010-03-13 02:32

Re: [ANNOUNCE] Qteachme
 
Thanks!

It sounds like it would be a lot of trouble though but I appreciate the thought of looking into this for us N8x0 users.

Cheers!

TNiga 2010-03-13 08:50

Re: [ANNOUNCE] Qteachme
 
Quote:

Originally Posted by Addison (Post 565675)
I take it that you're using the QT language for this which means a possible Maemo 4 port is completely out of the question?

But Maemo 4 does have Qt (AFAIK), so it shouldn't be too difficult to port this.

magnuslu 2010-03-13 10:07

Re: [ANNOUNCE] Qteachme
 
I have uploaded a Diablo version which should make it available for Maemo 4. Please note that I have no way to test this, so you're on your own here...

If indeed it does work, I'm impressed by this whole Qt thing!

attila77 2010-03-13 12:39

Re: [ANNOUNCE] Qteachme
 
Well, it works on Maemo 4.1, sort of :) The dialogs feel very weird, it shows that they were created with Fremantle in mind (Maemo 4.x does not auto-fullscreen dialogs nor is there a default tap-outside-for-cancel-or-close action). But it does run, so I guess it's a start :)

Addison 2010-03-14 04:51

Re: [ANNOUNCE] Qteachme
 
I can see what you mean by being on my own here. :)

Well, I hope it's okay to mention a few things with it.

Here's my screenshot of importing your default text file.
http://img697.imageshack.us/img697/1...0031400303.png

From here, I choose "Import" and see the "Importing." notification for a few seconds.

Tapping outside the box does nothing so I go ahead and press the hardware escape button and I'm brought to this screen.
http://img18.imageshack.us/img18/671...0031400342.png

Tapping on Course or Chapter yields nothing, not even the hildon keyboard appears.

Did I miss a step somewhere?

When I choose Done I get the same screenshots as yours once I press the fullscreen hardware button only there isn't any text in the flashcards.

Nuts.

Also, is the specific to only learning languages?

I was hoping to use Qteachme with something similar to this.
http://umed.med.utah.edu/pda/flashca...ner%20lec8.txt

Thanks buddy!

Oh, and if this is too much trouble all around, can someone recommend an alternative app? This is my first attempt at trying out flashcards on the device.

magnuslu 2010-03-14 09:19

Re: [ANNOUNCE] Qteachme
 
Thanks for the screenshots!

I'll add a 'Done' button on the import dialog. Maybe that will make sure that the app will proceed normally.

It might be that you have to close the app and start it again, then go to Settings and see if you can select courses/chapters.

In theory, it should work with the kind of flashcards that you linked to as well. Do you have loads of files like that? If not, it should be fairly easy to change the file to a supported format. If the Q: and A: format is common for flashcard files, I could add support for that directly in the app.

Again, thanks for the feedback!

Addison 2010-03-14 12:00

Re: [ANNOUNCE] Qteachme
 
Heya Magnus!

Okay, here's the first thing that occurs when starting your app.
Code:

[1|user@Nokia-N800-43-7|~]qteachme
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
Db path: "/home/user/qteachme.db"
Failed to connect
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Db path: "/home/user/qteachme.db"
Failed to connect
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")

From there, this is the next result after importing your Chinese lesson. A quick note though, the readout was much bigger than Xterm could handle.
Code:

"彰"
"biǎozhāng"
"commend; cite"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"阐"
"chǎnmíng"
"clarify"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"讼"
"sùsòng"
"litigate"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"崭"
"zhǎnxīn"
"very-new; nascent; brand new; completely new"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"泻"
"xiè"
"have diarrhea; rush down"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"俭"
"qín gōng jiǎn xué"
"part-work and part-study"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"橡"
"xiàngjiāo"
"rubber"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"溶"
"róng"
"dissolve"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
iChapterID  QVariant(, )
iChapterCount  126
"瀑"
"pùbù"
"waterfall"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"扒"
"bā"
"push aside; hold on to; strip off; dig up"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
-1
QSqlError(-1, "Driver not loaded", "Driver not loaded")
chapterName ": Chapter 1"
index -1
bshowSide1 true
bshowSide2 true
bshowSide3 true
QSqlQuery::prepare: database not open
iCourseID= 0
iChapterID= 0
""
QSqlQuery::prepare: database not open
SortBy:  3
SelectBy:  1
dlgSettings->courseID() 0
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
-1
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QSqlQuery::value: not positioned on a valid record
0
QSqlQuery::value: not positioned on a valid record
0
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
qiWordID= 0
QSqlQuery::value: not positioned on a valid record
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record
side1: ""
true
true
true
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
0
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
iCount  =  0
qiScore =  20
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
iCourseID 0
QSqlQuery::value: not positioned on a valid record
iChapterID 0
QSqlQuery::prepare: database not open
iChapterID 0
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
qsLessonName ""
QSqlQuery::prepare: database not open
iCourseID 0
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
false
QSqlQuery::value: not positioned on a valid record
false
QSqlQuery::value: not positioned on a valid record
false
false
false
false

I tried your suggestion even before you mentioned them but nothing gets saved over when closing the program. Tried a few other tricks as well with no luck.

My interest with this is basically finding the work that others have already provided to save on time.

I haven't looked too deeply but this site seems like a really nice place to start.
http://umed.med.utah.edu/pda/flashcards/

So yeah, I probably would go through most of them if Qteach supported their format.

Cheers!

magnuslu 2010-03-14 13:35

Re: [ANNOUNCE] Qteachme
 
I'd guess you are missing the sqlite library. You might want to try apt-get -install libsqlite3-0. You might have to have root privileges to do this.

On Fremantle, I can type the following:

/usr/bin/sqlite -version

which will return the version which is installed. In my case it is, 3.6.14, but anything starting with a 3 should be ok AFAIK. Maybe attila77 can provide some guidance on this as he seems to have it running on his device?

I'll try to implement support for the Q: and A: style of formatting with the next update.

Addison 2010-03-14 18:00

Re: [ANNOUNCE] Qteachme
 
Yep, I don't have sqlite. Poopers.

I never seem to have any luck with dependency issues and hate being a drag on others having to constantly ask questions on such trivial things. :(

Anyway,
http://repository.maemo.org/pool/diablo/free/s/sqlite3/

An error occurred while processing your request.

Reference #97.d25fb1cd.1268588685.8ec7287

Code:

[1|user@Nokia-N800-43-7|~]root
[1|root@Nokia-N800-43-7|~]apt-get -install libsqlite3-0
E: Command line option 'i' [from -install] is not known.

Stupid tablet.

Give up on me while you still have the chance. :D

magnuslu 2010-03-14 21:40

Re: [ANNOUNCE] Qteachme
 
So embarassing... It should be:

apt-get install libsqlite

Not '-install'...

Addison 2010-03-14 22:21

Re: [ANNOUNCE] Qteachme
 
Okay. Now I'm at this unhappy place. :)

Code:

[1|root@Nokia-N800-43-7|~]apt-get install libsqlite3-0
Reading package lists... Done
Building dependency tree
Reading state information... Done
libsqlite3-0 is already the newest version.
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
  fceu: Depends: libc6 (>= 2.6-1) but 2.5.0-1osso10 is to be installe d
        Depends: libgcc1 (>= 1:4.2-20070516) but 1:3.4.4cs2005q3.2-5. osso8 is to be installed
        Depends: libsdl1.2debian (>= 1.2.10-1) but it is not installa ble
        Depends: zlib1g (>= 1:1.2.3.3.dfsg-1) but 1:1.2.3-9.osso8 is to be installed
  osso-software-version-rx34: Depends: kernel-diablo-flasher (= 2.6.2 1-200842maemo1) but 2.6.21-200835maemo1rotation is to be installed
                              Depends: xserver-xomap (= 1:1.3.99.0~gi t20070321-0osso20083801) but 1:1.3.99.0~git20070321-0osso20083101rota tion is to be installed
  skippy-xd: Depends: libimlib2 but it is not going to be installed
            Depends: libxmu6 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Code:

[1|user@Nokia-N800-43-7|~]/usr/bin/sqlite -version
-bash: /usr/bin/sqlite: No such file or directory
[1|user@Nokia-N800-43-7|~]root
[1|root@Nokia-N800-43-7|~]/usr/bin/sqlite -version
-bash: /usr/bin/sqlite: No such file or directory

I checked and /usr/bin/ goes from sort to ssh alphabetically, there's no sqlite inbetween.

I do have this though.
http://img251.imageshack.us/img251/9...0031418430.png

This is fun! *lol*

magnuslu 2010-03-14 23:24

Re: [ANNOUNCE] Qteachme
 
I'm running out of ideas, but you may want to try these two packages as well:

apt-get install libqt4-sql
apt-get install libqt4-sql-sqlite

/Magnus

attila77 2010-03-14 23:39

Re: [ANNOUNCE] Qteachme
 
Quote:

Originally Posted by magnuslu (Post 567243)
I'm running out of ideas, but you may want to try these two packages as well:

apt-get install libqt4-sql
apt-get install libqt4-sql-sqlite

/Magnus

I would say these are needed... I had them already installed due to another package (PyQt), so didn't notice this dependency. No need for any sqlite package install manually, the qt dep will pull in all that is necessary.

Addison 2010-03-15 02:02

Re: [ANNOUNCE] Qteachme
 
Nuts.

Code:

[1|user@Nokia-N800-43-7|~]root
[1|root@Nokia-N800-43-7|~]apt-get install libqt4-sql
Reading package lists... Done
Building dependency tree
Reading state information... Done
libqt4-sql is already the newest version.
libqt4-sql set to manual installed.

Code:

[1|root@Nokia-N800-43-7|~]apt-get install libqt4-sql-sqlite
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run `apt-get -f install' to correct these:

This one didn't say too much. The apt-get -f install suggestion had nothing to do with sqlite. It only brought up fceu, kernal rotation and skippy, which is other junk I had trouble installing some time ago.

It's okay if we just stop this whole thing right here. No need to make eachother suffer like this anymore. :)

HRZ 2010-03-15 08:41

Re: [ANNOUNCE] Qteachme
 
Quote:

Originally Posted by magnuslu (Post 567482)
Feel free to try out Qteachme from the extras-devel repository. It is not Anki, but it should be able to load Anki files (if it doesn't, let me know).

Anyway, I don't want to hijack this thread any further, so please post any questions, issues, suggestions, complaints, praise, ... on Qteachme on its own thread. It is actively supported at the moment, so I will listen to feedback.

Hey, I tried it a couple times but found that it exits on its own a bit too often for practical use. don't know when exactly, I'll try and pinpoint the times. I found your pre-made cards very convenient (as you know from the other thread I'm studying Chinese so it's perfect) but it's just not stable yet. The only reason I love Anki so much is that it had the decks you can download for it. If Qteachme gets more stable I'll definitely be using it instead...thanks for the good work nonetheless!!

evil_m0nkey 2010-03-15 08:51

Re: [ANNOUNCE] Qteachme
 
Where should i download the flashcards from?

I want to learn german

senorsmile 2010-03-16 04:17

Re: [ANNOUNCE] Qteachme
 
so, i was referred here from the anki thread. i don't have the link as i am on my n900. i would like to know if the qteachme software implements spaced repetition, and if it has any desktop version.

magnuslu 2010-05-15 05:48

Re: [ANNOUNCE] Qteachme
 
Quote:

Originally Posted by Addison (Post 567337)
Nuts.

Code:

[1|root@Nokia-N800-43-7|~]apt-get install libqt4-sql-sqlite
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run `apt-get -f install' to correct these:

It's okay if we just stop this whole thing right here. No need to make eachother suffer like this anymore. :)

You may want to try this instead. The difference is the '2' at the end.

Code:

apt-get install libqt4-sql-sqlite2
Let me know if it fixes the problem...

Btw... Good news is that there is a solution to the 'automatic exit' problem! I had the same issue in my other app, QSportsEvent, and it should be very possible to fix it for Qteachme as well. As soon as PR1.2 is out and I can upload a new version to Extras-Devel, you should be able to get the latest version.


All times are GMT. The time now is 09:27.

vBulletin® Version 3.8.8