wordgroupz version 0.3 released

It is pleasure to inform that wordgroupz has now stepped into version 0.3

It has been quite some time since I have been working on wordgroupz v 0.3b. In this period wordgroupz went through a lot of changes. To sum up, the features in wordgroupz v 0.3 are :

* You can add words into different groups. In other words, you can classify different obscure words under a common group name which is easy for you to remember.

* Search for words in wordgroupz

* Dictionaries : wordnet (default), webster(online), wiktionary(online)

* Games : Flash Cards, Multiple Choice Questions

* Statistics : Review of M.C.Q., Accuracy (%) for each word

* Pronunciation : generated by espeak (default), if word pronunciation available in wiktionary, the downloaded speech file for the word is played

* You can also make your personal notes for words.

Download

SOURCE: http://rtnpro.fedorapeople.org/wordgroupz/wordgroupz-0.3.tar.gz

RPM: http://rtnpro.fedorapeople.org/repo/wordgroupz-0.3-1.fc13.noarch.rpm

GIT: http://gitorious.org/wordgroupz

YUM: you can download http://rtnpro.fedorapeople.org/rtnpro.repo into /etc/yum.repos.d/ and do as root

# yum install wordgroupz

Why wordGroupz?

You can easily get large list of good words from the internet, your Test Preparation course, etc. So what is the need of wordgroupz? wordgroupz is not just a list of words. There is more to it. It is said that you remember words better when you work with them, like making your own flash cards (rather than purchasing ready made flash cards), looking it up in the dictionary, playing word games, associating pictures, colors, etc. with words.

You may even do that, either in your personal paper notebook or even in text document in a computer. In the case of paper notebooks, it is very difficult to write the words in an organized manner because you don’t know beforehand which word will get its entry in your notebook. And, when your list grows in size, it is very difficult to manage. It goes for e-text document too. This is where wordgroupz comes in.

What is wordgroupz?

wordgroupz gives you a platform to save any word you think important, classify in some common group name ( like concise can be a good group name for words like terse, summary, etc.). By default, when you add a new word, its details from the Wordnet dictionary is retrieved and saved. The words stored in wordgroupz are showed in a tree view with the words as children of some group. You can click on a word to see its details. When your list grows, you can search for the word(s) just by typing its initials.

You can also look up your word in wiktionary or webster. When you look up a word in wiktionary, if wiktionary has an audio file for the word’s pronunciation, it is saved automatically. Then when the play button is pressed, the wiktionary speech file for the word is played, otherwise it is generated by espeak. Once you have looked up  a word either in wiktionary or webster, it is saved for offline viewing.

Games in wordgroupz:

As of now, wordgroupz features two interactive word games : Flash Cards and M.C.Q. (Multiple Choice Questions).

Flash Cards is a self evaluation game. If you cheat, you cheat yourself 😛 . You see a word in a box here. You can check its meaning. If you knew the answer, you click on ‘I knew it’, else ‘Dammit’. You can play it in the opposite way as well. If you choose the Game Mode to ‘Definition’, then you will be showed the word definition first and then you try to guess the word. By default, the words are shown in an alphabetical manner. To make the order random, select ‘Random’ under ‘Game Modes’.

In M.C.Q., you are asked to find a word’s meaning from 4 options. You choose an option and click ‘Proceed’ to go to the next word. The status bar keeps you updated about the number of correct, incorrect responses. Once you are done with answering all the questions, you can see a review of your M.C.Q. test. Based on your responses, the accuracy (%) for the words is updated. Thus, you can identify the words you don’t remember well and stress on them. You can also choose the number of questions to attempt for a particular M.C.Q. test. M.C.Q. gives higher preferences to new words or words you are weak at, and throws them at you before other words.

The Future:

wordgroupz is in its infancy. There is a long way to go. New features could be :

* Let users add related images for words.

* Add more games

* Fix existing bugs and improve existing features.

* work on users’ requests and suggestions

Please feel free to drop in your suggestions, comments, feature request, etc.

wordgroupz development news

Lately, I worked on fine tuning the code for wordgroupz. I fixed some bugs that I was aware of, like unable to parse data retrieved from wiktionary pages which did not have any ‘Contents’ field, error launching games when no words in db, some bugs in webster view, etc. Now, I have added a dialog which will show a message saying ‘Not enough data’ if the number of words in the db are not enough for playing games. I have also added support for parsing data from wiktionary pages which have no ‘Contents’ field. Also made some fixes in the webster view.

I today updated the RPM for wordgroupz to wordgroupz-0.3b-4.fc13.noarch.rpm

You can install the latest version of wordgroupz as follows:

1) download rtnpro.repo into /etc/yum.repos.d/

2) then as root, do :

yum install wordgroupz

You can also get the source code from http://gitorious.org/wordgroupz/

Please test wordgroupz, and feel free to drop in your suggestions.

wordGroupz development News

Although, I had added  the accuracy for the words in wordGroupz in the treeview, it was not satisfactory. First, the app crashed whenever I added a new word to the database. I fixed that easily. But then, the new word would show its accuracy as 0% even before attempting to answer it. I decided to set the CellRendererProgress bar text to ‘New’ for new/not attempted words.

I got some help for IRC Nick: Juhaz at #pygtk in GimpNet. I came to know that set different properties of a cell for a particular column in a gtk.TreeView, I have to set a function in gtk.TreeViewColumn.set_cell_data_func(). I got further help from the documentation at Develp in Fedora.

Finally, after some tries, I got the code up and running. Now new words show ‘New’ and after being attempted, they show their respective accuracy.

I also wrote some code to enable migration from old wordgroupz db schema to new db schema with retention of the old db contents.

I have pushed the latest code to gitorious.

If you want to try the code, you can get the source from http://gitorious.org/wordgroupz . Then, you can install wordgroupz in your system as:

#python setup.py install

Then run wordgroupz : $wordgroupz

Now, I need to do a code cleanup.

wordGroupz development news

wordGroupz is now slowly moving to the version 0.3 release. I launched the v0.3 b quite some time back. Since then, I have worked on many new features, adding features, deprecating old features and many random changes. In this time, wordgroupz underwent a considerable upgrade in its GUI. Based on the outcome of the games, I decided to store the accuracy of the user for each word and show a bar chart for that. But that did not look good. So, I dropped it. I, instead, showed the accuracy % alongside the words in the wordgroupz tree view with the help of gtk.CellRendererProgressBar.

I did away the wiktionary browser, edit button under notes, back button over the search bar, etc.

Now, I am testing the code, and fine tuning the interface. Gotta work 🙂

More wordgroupz screenshots are available at :

http://rtnpro.fedorapeople.org/wordgroupz_imgs/

Here are the latest screenshots of wordgroupz:

wordgroupz development news

For some time now, I have been working on wordgroupz. Since version 0.2, I have added some new features.

The new features include dictionary support: online webster dictionary from dict.org and offline wordnet. For implementing the online dictionary support, I used the server interface of dict.org. For offline, I used the dictionary databases of the wordnet application and the python-nltk library.

I also included wiktionary support this time. I used to find it tedious opening a notebook, browser to search wikipedia/wiktionary, copy-paste notes. That’s why I decided to get them all together under one hood – wordgroupz. I include a gtkNotebook : 1st page for showing, editing details of the selected word and the 2nd page for browsing through wiktionary and downloading pronunciations if available. I had to study urllib2, BeautifulStone, pywebkitgtk for the purpose.

I also worked on the new interface, added some custom buttons to the interface. I studied gtkNotebook, gtkToolbar, gtkStockImage, etc. I also improved some logic for the interface. Now, wordgroupz allows to add words without any groups and such words are put in an “no-category” group. Now, there is a “details” field for group-words. Groups can be deleted. I have to write the code to move the words to the ‘no-category’ group once its parent group is deleted.

I released wordgroupz version 0.3b today. I have to work on machine generated pronunciation for words whose wiktionary pronunciation are not available. I have to design the games and quizzes for wordgroupz. Lots of stuff to do.

Please feel free to try wordgroupz and suggest any improvements to be done.

Details of how to get wordgroupz was given on my previous post.

wordgroupz v 0.3 beta released!

Today I released wordgroupz v 0.3b.

New Features –
1. Dictionary support – online dict.org webster, offline wordnet
2. Wiktionary support – lookup details of the word on wiktionary, download pronunciations if available
3. New interface
Dependencies for wordgroupz:
1) gtk, pygtk2
2) python-nltk
3) wordnet
4) pywebkitgtk
5) BeautifulSoup
To install wordgroupz for fedora:
1) download http://rtnpro.fedorapeople.org/rtnpro.repo into /etc/yum.repos.d/
2) as root do: yum install wordgroupz
To install wordgroupz on any other linux OS:
2) Untar it: $tar xvf wordgroupz-0.3b.tar.gz
3) Change directory to wordgroupz-0.3b: $cd wordgroupz-0.3b
4) As root, install from setup.py:
$su
#python setup.py install
Feel free to report any bugs, new feature request or suggestions.

FAD Pune 2010

It was a great experience at the FAD in Red Hat, Pune. The FAD was conducted for two days, 29th and 30th May, 2010.

Day 01

Siddhesh took a session on autotools. The session was informative and interactive. I came to know how the big Makefile and Configure files are automatically generated from makefile.am and configure.ac (Makefile.in is first generated though, then the Makefile). Siddhesh used the linkc program for the purpose.

That was the only workshop. Then it was doing our own work. Everyone discussed what they will be working on. As for me, I decided to work on packaging python-keyring and kupfer and writing code for my application named wordGroupz (it is an app for building one’s vocabulary based on groups). My target was to get the code ready for 0.1 release of wordGroupz. For the first day, I made some changes in the python-keyring.spec as suggested by Ankur(FranciscoD) and Rahul (mether). Then I spent the rest of the time coding for kupfer, designed the GUI using Glade3. For programming, I used python, GTK, sqlite. By the end of the day, I managed to get  a input from the user and store it in the database. Updating in the combobox was not achieved that day.

In between, people from Bhasha Technologies came to the FAD to meet the ARM Fedora contributors who didn’t turn up. They shared some of their ideas with us over the lunch. I along with some of my friends (Rangeen) alongwith Salim decided to work on the suggested projects.

Day 02

I wrote a spec file for kupfer which wasn’t working for some unknown reasons. I submitted a review request for that and Ankur started reviewing it. Soon Rahul joined followed by Kushal. Kupfer uses a waf build system and the wscript was broken for kupfer. It didn’t produce any kupfer package, but was a good exercise. After that, Sayamindu gave a speech on OLPC and Sugar, which is a Fedora downstream project for the OLPC. Then, I resumed coding for wordGroupz. I managed getting the combobox updated on new entry. I made some changes in the glade file. I did some reading on the treeview model and got it to display the words from the database categorized into groups. I added a search facility in the app to search for words. As the day was ending, I thought to drop the displaying of word info for the 0.1 version.

At the end of the session, we reported what we achieved in the 2 days of the FAD. Then plans for future FADs were discussed. After the session, we (rtnpro, meejan, kishan, yevlempy) along with Rahul, Kushal and Salim went to Haka for dinner. Going to Haka was another story 🙂 .

It turned out to be a great day, working together throughout the day along with some fun also.

Arrangements made for our accommodation were great. Kushal took pics and recorded videos during the FAD. I hope kushal will upload them soon.

https://fedoraproject.org/wiki/FAD_Pune_2010

Currently, I am fixing some glitches in the code for wordGroupz. I have set a repository for it at

http://gitorious.org/wordgroupz