Words of the Day - 7

August 27, 2006

A few words am trying to stack on to my memory…

Prejudice : Noun : An unfavourable opinion or feeling formed before attaining full knowledge about something; a favourable or unfavourable feeling or thought preconceived without any reasons; :: Synonyms :Preconception, partiality, predisposition, predilection, bias.

Deceive : Verb : To misleage by making a false statement or appearance; false persuation; to be unfaithful to :: Synonyms : dupe, fool, hoodwink, trick, defraud, betray, gull

Specious : Adjective : good or correct even though lacking merit; superficially pleasing; pleasing to the eye yet deceptive; true to the outside but false within; plausible though not true.


Sterling Showcase

August 21, 2006

On the evening of 18th August 2006, when we were returning from Jaya Engineering College, we weren’t 100% confident that the show is going to be satisfactory. What we wanted to prevent this time, doing things in the last minute, did happen. Our main worry was, many of them hadn’t finished even the installations. We wanted them to teach a lot and train a lot, which remained almost unfull-filled.

But, when I am scribbling this on my blog on the monday afternoon am very much satisfied. They proved that they can manage to put up an excellent show, even though they did things at the last minute. If you ask me to rank them on a 10-point scale, it will be atleast a ‘8′ :)

If you are still wondering what am I talking about, it is the ‘Linux Demo Day’ at Jaya Engineering College, which hapenned this weekend. They had christened it was ‘FLOSSAGE’06′. With more than 150 students volunteering to try their vocal chords for a couple of days, explainin a wide flavour of visitors about FLOSS and their own specialized topics in Open Source, it was expected to be a great show. For us, it was an opportunity to correct the very few mistakes we allowed to errupt during a similar LDD at Arunai Engineering College, almost 6 months back.

I have to add both sugar and salt to my culmination about this event. Sugars come first - students managed to live up to our expectations by indeed putting some effort, they managed to keep the enthusiasm on for 2 days (16 hours), the arrangements were simply superb with more a professional look to the stalls and though there were some technical hitches, the show went smooth both the days.

Am afraid, the salt will be a bit more :P First, students din’t do their homeworks (urgh, which student likes to do homeworks ;) ). What I mean by homework is, trying to find out things on their own, learn more upon their own interest rather than seeking some spoon-feeding. We were there to start things 2 weeks before the actual show and we expected a bit more effort from the students. Second thing which we had as a complain was, they were still not confortable to install and try things in their home machine. Even after we doing atleast a dozen installations, making them do the installations on their own in the labs, still they weren’t ready to try their hands on and explore. The Arunai students out-weighed them in this aspect.

My personal expeirence adds more salt, they weren’t interacting with us, in the extent and manner they should have. I got the first mail from them only on friday, while we visited them the weekend before that. This was the same story the next week to, I was getting mails only a day before we were to go there. This showed that they weren’t working on anything.

Let me stop cribbing about the ignorant newbies now and talk about things I can really appreciate. I have to give my highest scores to those who took up networking related topics. Everybody knows its a bit of pain in the a** to make things work, especially when they don’t have any previous idea about them. My kudos to LTSP, Networking, Clustering and other similar teams. Next I will put the DBMS team, Web server team (fortunately they won the so called ‘best stall’), OS Developement tools, Graphics and Visualization team. Falling next in the line is my very own trained Web development team (failed to use all my techiness), kernel team (din’t learn how to compile even a hello world example), Desktop team, SVN team(they din’t install until half of the first day was over, we had to use our lappy for their purpose), and others. There were 28 stalls and most of them had done a good work. The gaming stall was asked to explain about the gaming development but rather used a X-box to display some gaming. Similarly, Open Office guys were showing everything on a presentation while something live with OO would have fetched them a better of our appreciation.

Am not any way criticizing them, as I very well know they are pretty new to FLOSS and it had been ‘greek-n-latin’ for them in the start. Still, my comments are made considering them as (future) professionals. They need to put in more efforts if they wish to learn and do something worthy.

At the end of this great show by the kiddos, am looking forward to see them doing some concrete project in FLOSS. We are ready to help those who seek out help with all enthusiasm and a will to contribute back to the Open Source Community. :)


SVN, the first steps - A Mini HowTo for n00bs!

August 13, 2006

I had to deal with teaching a few Linux n00bs on how to start with SVN. Though my last post deals with using the SVN basically, it missed one big point which I perhaps myself learnt today - How to create a reposiroty and start with a working copy. I agree, I had difficulty over creating a repository though I very well know how to work on a working copy. This day, I had more things to learn and especially to find a list of things to be learned. Thus, I wrote a simple step-by-step howto for those who haven’t tried their hands on SVN before. As usual, I blog them too therefore someday when I myself couldn’t figure out how to do things, I can look at my own blog (Which I did today while dealing with MySQL).

Here goes my mini how-to for noobs on SVN….

Procedure to Create a Repository using SVN and basic operations with Subversion:

Step1. Create a repositry named mysvn in your home directory (assuming your shell’s current directory is your home, which is by default),

noob@dapper:~$ svnadmin create mysvn

Step1(b). Check whether your repository is created in the intended location,

noob@dapper:~$ ls
Apps Django-0.95 GNUstep Collections Documents Linux Music confman Downloads LUG mysvn WorkSpace
Desktop

Step2. Create a directory called code in your home, crate 3 sub-directories under it namely branches, logs and trunk. If you have some files to be placed, place it in the ‘trunk’ sub-directory.

noob@dapper:~$ mkdir ./code
noob@dapper:~$ mkdir ./code/branches
noob@dapper:~$ mkdir ./code/logs
noob@dapper:~$ mkdir ./code/trunk
noob@dapper:~$ ls ./code/
branches logs trunk

Step3. Now, import your newly created directory, named code to the repository using the SVN’s import command as follows,

noob@dapper:~$ svn import ./code file:///home/noob/mysvn/code -m ‘Initial Import’
Adding code/trunk
Adding code/trunk/testfile.txt
Adding code/logs
Adding code/branches

Committed revision 1.

Step3(b) This will add an invisible directory named code in the repos, though you cannot see them by getting into mysvn repos direcotry manually from FileManager or so. Don’t worry.

Step4. Checkout the newly created project in the repos, namely code, thereby cretaing a working copy in local filesystem. (may be in the same name or a slightly different name like mycode)

noob@dapper:~$ svn co file:///home/noob/mysvn/code code
A code/trunk
A code/trunk/testfile.txt
A code/logs
A code/branches
Checked out revision 1.

Step5. Now, change the content of any file in the local working copy under trunk and save the file. Now a file in your working copy is changed and lets have some fun with svn :)

Step6. Lets check the difference between the file in the repository and the local working copy, as we have made a change. The changes will the printed on the terminal, where a + denotes addition and - dentoes deletion or change.

noob@dapper:~$ cd code/
noob@dapper:~/code$ svn diff
Index: trunk/testfile.txt
===================================================================
— trunk/testfile.txt (revision 1)
+++ trunk/testfile.txt (working copy)
@@ -1,3 +1,6 @@
-This is a test text file. This file is intended to be moved to local
+8.20 PM: This is a test text file. This file is intended to be moved to local
repository (not working copy) named ‘mysvn’ under the project
‘code’. Hope everything works fine :)
+
+8.25 PM: Repository creation successful. Added files to repos and created a
+local working copy of the same name.

Step7. The change is found. Now as we have a modified working copy, we need to commit the changes so it gets updated int he repository as well.

noob@dapper:~/code$ svn commit -m ‘changed text contents’
Sending trunk/testfile.txt
Transmitting file data .
Committed revision 2.

Step8. Update your working copy so that you get the laest revision in your working directory.
noob@dapper:~/code$ svn update
At revision 2.

Note:
#1. This procedure is for creating a repository in your local machine, as well as the working copy in the same machine. This is a simple example of how to do the basic things. Read the SVN documentation available in the SVN’s official web site.

#2. Did you see, when we added the files from code folder using an import command, the revision changed to ‘revision 1′ from the initial ‘revision 0′ (sorry, how did i miss the output which showed revision 0 ?? :( ). And check again, when we did a ‘commit’ at step7, the revision again got updated to ‘revision 2′. Wow! It’s cool, isn’t it ?! :D

*********************Licence*******************************************
This work was created by Parthan.S.R. on 13th August, 2006. Parthan can be contacted at parth.technofreak@gmail.com
This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit
tp://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Subversion - A Scoop of it!

August 9, 2006

Subversion, famously known as SVN in the open source world, is a vesrion control and management system. It forms a vital part of software development, where the code development is a continuous process and hence results in frequent change of small part of the code. Thus, it is veri important to keep track of the change so that the various modules and components of the project are in sync with one another.

SVN serves three main purposes:

  1. Tracks the changes done by individual contributors of the project and produces a new version with each release.
  2. Helps in collaborative development of the project, where many developers can work over a stable main code.
  3. The modifications done by one developer can be easily tracked by others and hence they can modify their work to keep themselves in sync with the main trunk of the project.
  4. It allows branching of a main project, where the branches run parallely with the main project but still keeps in sync with those components which it has got from the main trunk.

How does SVN do this ?

SVN consist of a main repository in a central server location which can be accessed from the individual clients who are contributors to the project. Each individual developer has a working copy of the project code, which he has got from the main repos and ensures it is updated with the changes made to the repos code. His local working copy is where he makes his own changes as well as where he adds his own new codes. Before he starts his work, it is his responsibility to update his working copy so that it is in sync with the main project code. Once he has the updated working copy, he starts his work. When he has finished his work, he adds these to the repository. At this point, SVN checks with the existing version of the project. If both are same, i.e. the developer hasn’t made any changes with respect to the repository, then he is intimated that there is nothing to be updated. If he has modified or added some files, then his files are marked for addition to the repository trunk. When he ‘commits’ his changes, the files are added/modified as per his working copy, creating a new version of the project code. The SVN creates a new version in the repository, which is one more than the previous version. The term version is known as ‘Revision’ in SVN. Thus when another developer checks the his working copy with the repos, SVN finds out that the code has changes and ask him to update his local copy so that it is aware of the changes made. Then the second person updates his working copy and continues with his work.

A peculiar case that can occur at odd times is, two persons making change in the current version at the same time. That is, they start with the same version/revision, make their own changed and commit. Whoever has comited first, updates the repos and hence a new version/revision is made. When the latter commit is obtained, the second persons working code is obscure and hence the SVN warns him that some one has made changes since he updated his code last time. Then he checks with the current code, what are the changed made. If the changes made don’t affect his code, he goes on with a new version. Else, he has to get the new copy and make changes in it to incorporate his work. He can also accept a part of the changes made, if he finds them to be correct.

To make things clear here is a small example. Consider that a repos named sandbox to be created and a local working copy is named as sbox. The repos is accessed by https at example.com. Here is a simple step-by-step to create and manage with SVN:

1. Create a local copy of svn for the corresponding repos

$svn co https://svn.example.com/public/sandbox sbox

2. Having a local working copy been created as above, we check the status of the svn as follows,

$svn status

3. Now, after creating our new file ‘ReadMe’, we add it to the repos.

$svn add ReadMe

4. Commit the changes made to the local copy, so that it is updated in the main trunk

$svn commit -m ‘First change’

5. Check the svn log for more info,

$svn log ReadMe

6. To check whether there is any difference between working copy and local copy, use dif command with svn,

$svn diff

This will give those codes in the working copy that differs with the current active revision in the repos.

7. When a conflict occurs with the current version and the local copy, to make the svn accept the corrected loca copy, issue resolve command as follows,

$svn resolved ReadMe

8. To delete a file in the current version, isse a remove command..

$svn remove ReadMe

These are the basic commands for common svn operation. Manual/Tutorial for svn, called as the Subversion Book, is available at http://svnbook.red-bean.com/nightly/en/svn-book.html.

Enjoy svn, enjoy collaborative development! :)


Words of the Day - 6

August 8, 2006

Again, with new and interesting words in RD this month, the Word of the Day post comes back! :)

Prodigious : Adjective : Admiration or respect; big sized commaning respect.

Elucidate : Verb : Explain; make clear.

Vortex : Noun : Whirling mass of air/water/fire drawing everything into it.

Somatic : Adjective : Physical or material.

Resonance : Noun : Deep sound - reverbating and amplified.

Anomaly : Noun : Abnormal; unusual.

Debility : Noun : Weekend state.

Intrinsic : Adjective : Internal nature of a thing; charecteristic nature.

Obliterate : Verb : Completely destroy without leaving any traces.

Totemic : Adjective : Sybmolic; represntation of a larger group or body.

Artifice : Noun : Clever trick or skill.

Clement : Adjective : Having compassion; lenient.

Reconnoiter : Verb : Survey, reconnoissance.

Acquiesce : Verb : Submit; comply without protest.

Paroxysm : Noun : Sudden burst of emotion.


Linux Demo Day in Jaya Engineering Collge

August 8, 2006

Indian Linux User Group - Chennai (ilugc) and Jaya Engineering College are jointly organzing a major event along the lines of FOSS awareness drive. The event is called ‘ Linux Demo Day ‘ and its gonna happen in a couple of weeks. Further information follows here..

Linux Demo Day : Its one of the important event that ilugc has been organizing for sometime now. This is a very dynamic event, which makes n00b tuxians confident about their own skills. This is an opportunity for the young minds to work with experienced tuxians and participate in community efforts, which has been part and parcel of tuxian’s life. In this event, student volunteers are trained in a wide range of topics under the FLOSS umbrella. At the end of the learning period, which lasts for around 2 weeks, they put up a show of their newly earned skills. Stalls are put up in a huge auditorium or ground, each stall concentrating on one topic ranging from desktops and distros to kernel and networking. Thus almost A-Z of Linux and Open Source is covered in these stalls. The students are entitled to explain to the visitors, who vary from school kids, college students to general public, how FLOSS can be implemented to the betterment of their lives. Students have to face a wide flavour of audience who may end up providing them more info as well as some may test their patience. All together its a show of the ‘Freedom’ and ‘Desire to share knowledge’ of the FLOSS Community, but not from expeirences FOSS fellows rather by budding FOSS’ians. :)

Here goes a Mini-Poster:

——————————————————————————————————————

Linux Demo Day - 19th and 20th August 2006

Venue: Jaya Engineering College, Chennai

Organized by: JEC & ILUGC

****************************************************************************************
List of Stalls

1. FLOSS Philosophy
2. ilugc - Public Interaction
3. NRCFOSS - Public Interaction
4. GNU/Linux Distros
5. Desktops
6. Utilities
7. Multimedia
8. Editors
9. Office Tools
10. Education Tools
11. Linux Games (Development)
12. Visualization or Multimedia Development
13. Web Development with LAMP
14. Web servers
15. Linux Servers
16. Networking
17. Localization
18. Browsers and Mail clients
19. Linux Kernel
20. Linux Security
21. Linux Clusters
22. Virtualization
23. Wireless Tools
24. LTSP
25. Programming and Development (CLIs, IDEs and Scripting)
26. Graphics
27. Content Management Syste
28. Version Management System
29. Database Management Systems
30. CD Burning Stall

****************************************************************************************


Opera9 - Mind Dazzling

August 4, 2006

I referred to online thesaurus to find a suitable word for expressing the expeirence of looking at Opera9, settling with the above “Mind Dazzling”. I couldn’t believe my eyes. I was reading this month’s LFY and there was a small article announcing Opera 9’s availability with Ubuntu. I quickly checked my Synaptic, whether it was there and still quicker in installing.

I had used opera indeed, after leaving Netscape and before settling up with FireFox, some 3 years before. Then, Opera was different but wasn’t as good as FF. This was enugh to convince me to go FF all the way. But, in the past few months I have been hearing good about Opera and I always wanted to try it out sometime. But, time has to come to make that happen and it came today.

I just returned after an exhaustive but satisfying stinct of awareness creation campaign at Jerusalem College of Engineering. And, after reading the piece of news in LFY, I really wanted to try it out immediately. I was awed by the simple yet attractive design of the browser. It just has what I would like to see; It just has what I will need to use, in a Typical Browser. And, it seemed to be a bit faster than FF. Now, am porting all my personal stuff that were my precious collections made for the past 4 months, into my Opera.

They have widget supports now, though I wasn’t able to download all of them (thanks to the poor network here), still I got a couple. You can easily move the widget over your desktop and it doesn’t occupy your precious browser space. To my excitement, I found a trash can.. and it says if we accidentally close a tab/window we can get them back from here.. lemme test… It does! :D

Whats more?! Same tabbed browsing (which had become pretty common with browsers now) but it too doesn’t occupy my precious browser space. The tab is placed above the address bar. The iconised menu is simple and sweet. OMG! I have started to love O9 :D

There’s again the Opera Magic Wand, for password management and a few basic plug-ins having been available. I still need a flash plug-in (I won’t install one for Windows Media :D) The web sites are opening a bit faster, really. Can I have something like FasterFox to know how fast is it (So I can make a fair judgement of the speed with FF ;) ) And, the most used feature of a browser, AFAIC, is the Bookmark and its manager. And I found it to be cool with O9. I could easily add folders and it din’t go to the wrong place as it happened many times with FF (don’t complain I donno how to do it right :| )

Still a lot to explore, in this ‘Re-discovered Heaven’. Hope, with a few days of full-fledged use, I will be able to produce a still better elucidation of Opera9 - Rediscovered to Glory! :)