Wednesday, September 29, 2010

Using git in Ubuntu

1. Open Terminal.

2. Make HelloWorld folder in your Desktop.

3. cd HelloWorld

4. Create hello.c file.
---------------------------------
#include studio.h

main()
{
printf();
}
---------------------------------

5. Initialise git.
git init

6. Check the git status.
git status

7. Add hello.c to your git.
git add hello.c

8. Commit your file to git.
git commit -m "hello.c created"

9. Check the log.
git log

10. Make some changes to your hello.c.

---------------------------------
#include studio.h

main()
{
printf("Learning to use git.");
}
---------------------------------

11. Commit your file.
git commit -m "printf argument added"

12. Check the difference in different revisions.
git diff

13. To check the difference between latest and the last revision.
git diff HEAD^...HEAD


14. Delete current hello.c file from your HelloWorld folder and retrieve the last commited file.

git checkout hello.c

Monday, September 27, 2010

Mediawiki

Follow these instructions to install Mediawiki in Ubuntu system.

To important folders where you will be updating certain files are:

  • \var\lib\mediawiki
  • \etc\mediawiki
Including many other useful scripts, to export and import XML dump, there are scripts (dumpBackup.php, importDump.php) available in the (\var\lib\mediawiki\maintenance) folder.

To export my own mediawiki, I used following command, which creates dump.xml file in temp folder that contains only current pages of the wiki. To backup everything, you can use --full instead. More detail instruction are available here.

php dumpBackup.php --current >/tmp/dump.xml

Saturday, September 25, 2010

Free eBook: Mobile Learning: Transforming the Delivery of Education and Training

Free e-Book "Mobile Learning: Transforming the Delivery of Education and Training" is available here. Amazon is selling it for £30.88. The book is edited by Mohamed Ally. March 2009. Paperback $39.95. 978-1-897425-43-5 (SC)

Thursday, September 23, 2010

Limor Fried leads off at Open Source Hardware Summit

Limor talks about her own development of electronics projects, starting with MP3 players and a cellphone jammer at MIT. Then she reverse engineered a synthesizer. She wanted to share the work so that "others didn't have to go through the same frustrating process to build something that had already been built."

One reason for doing Open Source Hardware is to share the work you've done with others. Then there are haters, who are frustrating to deal with. Being good at Open Source hardware and being good at business are two different things. Turn your fear of getting ripped off into a sense of pride that your design was chosen to be ripped off. Biggest reason for doing open source software is the awesome community. We are giving to the community. We are letting go of our Art so that it can grow up. What we make will outlast us. She does open source hardware to make herself a better engineer.

Source: dalepd | Dale Dougherty


Wednesday, September 22, 2010

ICT4D: Mountain Regions of Nepal

Just wanted to share the recent interesting paper that I read titled, “Demystifying the Possibilities of ICT4D in the Mountain Regions of Nepal” by Devinder Thapa and Øystein Sæbø. (Accepted for presentation in Hawaii International Conference on System Sciences (HICSS)-44, Jan 4-7, 2011, Hawaii.)
This paper focuses on an interpretive case study in Nepal to widen the understanding of how locally-initiated ICT4D projects may help to narrow educational, healthcare, information, and communication gaps between urban and remote communities. The study utilises the Assets Pentagon Model to identify the strengths and challenges of the Nepal Wireless Networking Project (NWNP) in the mountain areas, and to identify implications for research and practice based on insights from the case.

References:


Development 2.0

Heeks suggested three potentially-transformative, ICT-enabled development models.
1) Direct Development: delivers resources and services without the intervention of traditional development actors; where those resources and services can be digitized.
2) Networked Development: occurs neither solely through the state and similar agencies nor through the market, but through a mesh of actors and institutions that are connected and can act together through ICTs.
3) Grassroots Development: occurs from within poor communities, as a result of ICT-enabled empowerment.

These models could only be judged transformative if they are having real and significant new development impacts. Evidence is only just emerging, but five types of impact are starting to be seen:
1) Connecting the excluded: providing information and other livelihood assets including social capital that were previously unavailable.
2) Disintermediation: cutting out the gatekeepers who prevent access to resources and services, or who charge rents for such access.
3) Digital production: enabling those in low-income communities to become producers of digital content, and to develop ICT-based productive livelihoods.
4) Digital innovation: enabling those in low-income communities to appropriate technology to such an extent that they start to do new things with it.
5) Collective power: enabling communities to bring the power of the group to bear in the service of economic or socio-political agendas.

Source:

Monday, September 20, 2010












Screenshot of a Mediawiki website running on a locahost. The wiki site is being developed to provide Mobile Application Development related course content for MSc students.

MW4D Impact Analysis

There are several mobile impact assessment working papers on this site from the University of Manchester

Sunday, September 19, 2010

Rich v. Poor Country ICT Statistics and Charts Online

Very interesting statistics...
Worldwide mobile, Internet and broadband data for 1998-2009 is now available online at: http://ict4dblog.wordpress.com/tag/ict4d-statistics/

Based on ITU data, this provides a compiled and cleaned-up spreadsheet of data; charts comparing technology penetration levels in countries grouped by income; 'digital gap' charts comparing richest vs. poorest countries; and 'digital lag' data showing how many years behind the richest countries are the poorest countries.

Other items available at - http://ict4dblog.wordpress.com/tag/ict4d-statistics/ - include Google motion chart visualisations of mobile and broadband data over time, and data on worldwide ICT4D expenditure and the Indian IT sector.

To subscribe to the blog, visit: http://ict4dblog.wordpress.com/feed/

For source data, visit: http://www.itu.int/ITU-D/ICTEYE/Indicators/Indicators.aspx

Richard Heeks
Director, Centre for Development Informatics
University of Manchester, UK
http://www.manchester.ac.uk/cdi

Wikireader: compiling Wikibooks














Download the latest copy of Wikireader source from github and extract it to your home directory. Download the XML backup dump from the mediawiki website. In this example I've used wikibooks as below:

2010-09-08 22:36:40 done Articles, templates, image descriptions, and primary meta-pages.
2010-09-08 22:36:40: enwikibooks 85591 pages (497.926/sec), 85591 revs (497.926/sec), 98.2% prefetched, ETA 2010-09-08 22:41:50 [max 239932]
  • This contains current versions of article content, and is the archive most mirror sites will probably want.
  • pages-articles.xml.bz2 78.9 MB

The below procedure is based on github and the doc/Quickstart from the downloaded Wikireader package.

Install these packages for building:
  • apt-get install python-gd gawk gforth flex bison m4
  • apt-get install netpbm qt4-qmake libqt4-dev wget
  • apt-get install python-serial sqlite3 php5-cli python-dev
  • sudo apt-get install mecab-ipadic-utf8
  • sudo apt-get install python-mecab mecab-ipadic-utf8
Make sure samo-lib/include/config.h is setup. copy default configuration
  • cp samo-lib/include/config.h-default samo-lib/include/config.h
Edit samo-lib/include/config.h to remove // from the line:
  • //#define BOARD_SAMO_V1 1
so it looks like:
#define BOARD_SAMO_V1 1

Display the possible make targets with this command:
  • make help


Compiling WikiReader program and QT4 simulator
=====================================

  • make clean

There maybe errors because of missing programs, these will be indicated by an apt-get install message to show the Ubuntu 9.10 package(s) to install.

  • make


Compiling a test database (multiple language version - latest kernel.elf)
============================

1) mkdir -p image work

make DESTDIR=image WORKDIR=work WIKI_LANGUAGE=en \
XML_FILES="XML-Licenses/en/license.xml XML-Licenses/en/terms.xml xml-file-samples/enwikibooks-20100908-pages-articles.xml" \
cleandirs createdirs iprc

#Note: iprc => index parse render combine

2) Optionally: simulate using qt4-simulator:
make DESTDIR=image fonts-install nls-install sim4

4) Install fonts and programs
make DESTDIR=image install

5) Format a microSD card as FAT32 and copy the contents on image to it. You can use gparted to format your microSD.
e.g. mkfs.vfat -F 32 -n wikird /dev/sd
mount /dev/sd /mnt
cp -r image/* /mnt/

I tried this few months before and I couldn't even compile at that time. I did manage to compile the source with Wikiversity back then. This time around, while it did compile Wikibooks successfully, once loaded in Wikireader, it didn't function as expected. The search for only certain words worked. When I searched for some random words, it usually froze and I had to restart the device every time.

Therefore, I decided to setup my own Mediawiki website in a localhost and loaded with custom content. I exported C programming material from Wikibooks and imported to my Mediawiki website.

I also used Packedobjects reference material. First, using Html 2 Wiki tool, I converted it to Wiki format and imported to my Mediawiki running on my localhost.

From my Mediawiki, I exported XML dump and compiled with Wikireader source. It is also possible to export content using special:dump page in the Mediawiki that allows a list of articles to be output and usually has an option to include templates, but sometimes templates deeply nested inside other templates are often missed. To export XML dump using script, please follow these instructions.

With the imported content, there were some issues of loosing formatting and not displaying correctly. Mostly, the internal page links didn't display as it was which I had to correct manually. Also, the examples of programming codes (for example Packedobjects Real type) lost it's formatting such as indent and the text appear all wrapped up as in a paragraph.

Wikireader does have a potential to be used as an offline reading device in a different way then intended. Because of the freely available software, it allows to import custom content or even modify the software.

Wikireader currently supports 15 different languages but doesn't support 'Devanagari' yet. My attempt to compile Nepali Wikipedia failed. Wikireader screen may not be good enough to show such detailed letters, but I've requested the team to look into this.
Hopefully, it will be possible soon.