<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8691817687240349402</id><updated>2011-11-27T16:46:24.849-08:00</updated><category term='Fedora'/><category term='Redhat'/><category term='MySQL'/><category term='PDF'/><category term='wvdial'/><category term='GNU/Linux'/><category term='Nokia'/><category term='Xajax'/><category term='FOSS'/><category term='AJAX'/><category term='Share'/><category term='Mediawiki'/><category term='Tips'/><category term='Flashplayer'/><category term='Anaconda'/><category term='OpenLDAP'/><category term='LDAP'/><category term='GNOME'/><category term='User Guide'/><category term='PHP'/><category term='setfacl'/><category term='Firefox'/><category term='Smarty'/><category term='GS'/><category term='Resources'/><category term='ADOdb'/><category term='Mobile Internet'/><category term='Routing'/><category term='Wiki'/><category term='localisation'/><category term='IPtables'/><category term='poedit'/><title type='text'>FLOSS Valley</title><subtitle type='html'>Free Libre and Open Source Software</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-8183640289789642527</id><published>2010-01-27T08:02:00.000-08:00</published><updated>2010-01-27T08:02:36.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Share'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='setfacl'/><title type='text'>Sharing a directory in GNU/Linux</title><content type='html'>To set up a common directory for local users in a GNU/Linux system follow these simple steps. As a test case consider setting up a folder named "share" in the /home partition for multiple users.&lt;br /&gt;&lt;br /&gt;1. Create a group named "sharegroup" which has read, write and execute to the common directory.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;# groupadd sharegroup&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2. Edit the file /etc/group and find the entry for "sharegroup". Edit the line so that it looks like the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;sharegroup:x:501:user1,user2,user3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Edit /etc/fstab and change the entry corresponding to the /home partition. The "defaults" should be changed to "rw,acl"&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;UUID=b1e202a5-87c4-488d-934f-93c3862bb440&amp;nbsp;&amp;nbsp;&amp;nbsp; /home&amp;nbsp;&amp;nbsp;&amp;nbsp; ext4&amp;nbsp;&amp;nbsp;&amp;nbsp; rw,acl&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 2&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4. Create a folder /home/share and assign the permissions:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;# mkdir /home/share&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;# chown root:sharegroup /home/share -R&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;# chmod 775 /home/share -R&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5. Set the Access Control using the following command:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;# setfacl -R -m d:g:sharegroup:rwx /home/share&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now the access control is set and all the users user1, user2 and user3 can create and modify files and folders in /home/share. You can verify the acl using the following command:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;# getfacl /home/share&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html"&gt;http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-8183640289789642527?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/8183640289789642527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=8183640289789642527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/8183640289789642527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/8183640289789642527'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2010/01/sharing-directory-in-gnulinux.html' title='Sharing a directory in GNU/Linux'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-6718961444063185831</id><published>2009-07-01T04:22:00.000-07:00</published><updated>2010-01-27T07:45:51.666-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='GS'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Combine several PDF files into a single file</title><content type='html'>1. How to combine several PDF files into a single PDF file ?&lt;br /&gt;&lt;br /&gt;To combine multiple pdf files into one, you can use the GhostScript program which comes with all popular GNU/Linux distributions.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=combinedfile.pdf file1.pdf file2.pdf&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Here is the options&lt;br /&gt;&lt;ul&gt;&lt;li&gt;-dBATCH -- tells Ghostscript to processes the PDF files, and then exit. If  this is not included gs will just keep running&lt;/li&gt;&lt;li&gt;-dNOPAUSE -- forces gs to process each page without pausing for user interaction&lt;/li&gt;&lt;li&gt;-sDEVICE=pdfwrite -- use the built-in PDF writer to combine the files&lt;/li&gt;&lt;li&gt;-sOutputFile=finished.pdf -- specify the output file.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-6718961444063185831?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/6718961444063185831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=6718961444063185831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/6718961444063185831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/6718961444063185831'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2009/07/some-useful-commands.html' title='Combine several PDF files into a single file'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-7629409149040308870</id><published>2008-07-08T01:13:00.000-07:00</published><updated>2009-12-01T03:29:59.897-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='User Guide'/><category scheme='http://www.blogger.com/atom/ns#' term='GNOME'/><category scheme='http://www.blogger.com/atom/ns#' term='poedit'/><category scheme='http://www.blogger.com/atom/ns#' term='localisation'/><title type='text'>A Quick and Dirty Guide to Poedit</title><content type='html'>&lt;div style="text-align: justify;"&gt;Poedit is a cross-platform gettext catalogs(*.po files) editor. Usually, translators use conventional editors such as gedit, vim or kate for  translation. These are basically text editors and there is possibility of making mistakes easily. Poedit offers  several features which can help to translate the files much faster and in an efficient way. Poedit is released under the &lt;a href="http://www.opensource.org/licenses/mit-license.html"&gt;MIT license&lt;/a&gt;. Here are some of the features :&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Translation memory : Poedit can generate a database of translated strings from the *.po and *.mo files that are already installed within the system.  &lt;/li&gt;&lt;li&gt; Cross platform: Poedit is available for GNU/Linux, Mac OS X and Windows systems. In GNU/Linux Poedit can integrate with both GNOME and KDE desktop environments. &lt;/li&gt;&lt;li&gt;Unicode support : Poedit has full unicode support in  GNU/Linux systems.   &lt;/li&gt;&lt;li&gt;Poedit can also update the PO file creation time and other meta information automatically.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;A full list of features are available &lt;a href="http://www.poedit.net/index.php"&gt;here&lt;/a&gt; :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installation: &lt;/span&gt;&lt;br /&gt;Binary packages of Poedit are available for all the popular GNU/Linux distributions. You can use yum or apt-get to install Poedit, depending on your distribution.&lt;br /&gt;&lt;br /&gt;In Fedora:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;# yum install poedit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Debian/Ubuntu:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;#apt-get install poedit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The source and windows packages are available &lt;a href="http://www.poedit.net/download.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setting up Poedit: &lt;/span&gt;&lt;br /&gt;Poedit can be launched from a terminal using the command "&lt;span style="font-weight: bold;"&gt;poedit&lt;/span&gt;" or from  &lt;span style="font-weight: bold;"&gt;Applications --&amp;gt; Programming --&amp;gt; Poedit&lt;/span&gt;. On first run, Poedit asks some of the essential information such as your name, email address, translation memory settings, etc... You can also change the preferences at a later  time from &lt;span style="font-weight: bold;"&gt;File --&amp;gt; Preferences&lt;/span&gt; .&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMbjfq4J7I/AAAAAAAAADQ/xcvUy6CwOoU/s1600-h/Screenshot-Poedit-Preferences.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220546689663248306" src="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMbjfq4J7I/AAAAAAAAADQ/xcvUy6CwOoU/s320/Screenshot-Poedit-Preferences.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;The &lt;span style="font-style: italic;"&gt;Personalize&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Translation Memory&lt;/span&gt; are the important tabs in the &lt;span style="font-style: italic;"&gt;Preferences&lt;/span&gt; section. Provide your full name and email address in the &lt;span style="font-style: italic;"&gt;Personalize&lt;/span&gt; tab. This information will be inserted on all the files that you work with poedit.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style: italic;"&gt;Translation Memory&lt;/span&gt; setup is not a mandatory task, but doing so may ease   the process of translation. This is an one time setting and you may not require to change unless you wish to add new po/mo files to the translation memory.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BLZl9J8blIg/SHMcZJMggII/AAAAAAAAADY/B6v6fLNp9nk/s1600-h/Screenshot-Poedit-Preferences-TM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220547611343224962" src="http://2.bp.blogspot.com/_BLZl9J8blIg/SHMcZJMggII/AAAAAAAAADY/B6v6fLNp9nk/s320/Screenshot-Poedit-Preferences-TM.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;Click the &lt;span style="font-weight: bold;"&gt;Add&lt;/span&gt; button to add the language, it will give a popup window like this:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BLZl9J8blIg/SHMcxCq0eLI/AAAAAAAAADg/eYr36iFu-C8/s1600-h/Screenshot-Poedit-preferences-langauge-code.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220548021908175026" src="http://2.bp.blogspot.com/_BLZl9J8blIg/SHMcxCq0eLI/AAAAAAAAADg/eYr36iFu-C8/s320/Screenshot-Poedit-preferences-langauge-code.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;Select the language and them press &lt;span style="font-weight: bold;"&gt;OK&lt;/span&gt;. Now generate the database for the said language by pressing the &lt;span style="font-weight: bold;"&gt;Generate Database&lt;/span&gt; button.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMdJfG87KI/AAAAAAAAADo/cWp15cd_Eoc/s1600-h/Screenshot-Poedit-Preferences-Update-TM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220548441859222690" src="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMdJfG87KI/AAAAAAAAADo/cWp15cd_Eoc/s320/Screenshot-Poedit-Preferences-Update-TM.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;It will then show the list of  locale paths that are associated with the  selected language. Press &lt;span style="font-weight: bold;"&gt;Next&lt;/span&gt; to continue.&lt;br /&gt;&lt;br /&gt;In some systems there may may not be any local in /usr/local. So remove it from the list, if you don't have locale files in /usr/local.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMdXBr53oI/AAAAAAAAADw/jSvg5icDA1w/s1600-h/Screenshot-Poedit-Preferences-Update-TM2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220548674479316610" src="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMdXBr53oI/AAAAAAAAADw/jSvg5icDA1w/s320/Screenshot-Poedit-Preferences-Update-TM2.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;Press &lt;span style="font-weight: bold;"&gt;Finish&lt;/span&gt; to generate the database. Poedit then scans the translated files and generate the database.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMe_RzkI6I/AAAAAAAAAEQ/Fj-p268zfLc/s1600-h/Screenshot-Poedit-Preferences-scanning.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220550465512809378" src="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMe_RzkI6I/AAAAAAAAAEQ/Fj-p268zfLc/s320/Screenshot-Poedit-Preferences-scanning.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;br /&gt;The preferences settings are now complete.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setting up a new catalog&lt;/span&gt;:&lt;br /&gt;In Poedit, each po file is referred as a catalog. There are two methods to create a Catalog – either from an existing POT file or from scratch. To create a catalog from an existing POT file, download the latest POT file from the project repository and point it to &lt;span style="font-weight: bold;"&gt;File --&amp;gt; New Catalog From POT file&lt;/span&gt;.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BLZl9J8blIg/SHMeNk9yoRI/AAAAAAAAAD4/SLe0l4uYij8/s1600-h/Screenshot-Poedit-Settings.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220549611662516498" src="http://2.bp.blogspot.com/_BLZl9J8blIg/SHMeNk9yoRI/AAAAAAAAAD4/SLe0l4uYij8/s320/Screenshot-Poedit-Settings.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;Here you have to provide the name of the project and team information, which will be automatically updated in the meta section of the translated po file.&lt;br /&gt;&lt;br /&gt;Provide a name for the translated file and save it. Usually  the po file name  will be the same as the POT file except that it has a .po file extension.  Poedit can suggest translated strings if available. To know the available options, Right-Click on the original string.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BLZl9J8blIg/SHMeik7o94I/AAAAAAAAAEA/0h2x-aoj5s8/s1600-h/Screenshot-Poedit-home-rightclick.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220549972430747522" src="http://4.bp.blogspot.com/_BLZl9J8blIg/SHMeik7o94I/AAAAAAAAAEA/0h2x-aoj5s8/s320/Screenshot-Poedit-home-rightclick.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;br /&gt;You can also know the status of the translation towards the left-bottom of the poedit window.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMez8JiMoI/AAAAAAAAAEI/mp_yPghbxmY/s1600-h/Screenshot-Poedit-Status.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5220550270720815746" src="http://3.bp.blogspot.com/_BLZl9J8blIg/SHMez8JiMoI/AAAAAAAAAEI/mp_yPghbxmY/s320/Screenshot-Poedit-Status.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion: &lt;/span&gt;&lt;br /&gt;Poedit is not the only tool available for translation.  Here are some options:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kbabel.kde.org/"&gt;kbabel&lt;/a&gt; &lt;br /&gt;&lt;a href="https://launchpad.net/rosetta/"&gt;Rosetta&lt;/a&gt; &lt;br /&gt;&lt;a href="http://gtranslator.sourceforge.net/"&gt;Gtranslator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related :&lt;/span&gt;&lt;br /&gt;&lt;a href="http://blip.tv/file/1054521/"&gt;http://blip.tv/file/1054521/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-7629409149040308870?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/7629409149040308870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=7629409149040308870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/7629409149040308870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/7629409149040308870'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2008/07/quick-and-dirty-guide-to-poedit.html' title='A Quick and Dirty Guide to Poedit'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BLZl9J8blIg/SHMbjfq4J7I/AAAAAAAAADQ/xcvUy6CwOoU/s72-c/Screenshot-Poedit-Preferences.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-2932693964802828604</id><published>2008-04-23T23:21:00.000-07:00</published><updated>2009-12-01T03:29:07.921-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobile Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='wvdial'/><title type='text'>Internet Connection in GNU/Linux through Mobile devices</title><content type='html'>&lt;span style="font-size: 100%; font-style: italic;"&gt;Contributors: Manilal K M, Abhilash S, Vinay Kumar (FreeFox Members).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;First published on 18th September 2007 in http://freefolks.blogspot.com(discontinued)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;If you have a GPRS enabled mobile device and connection, accessing Internet in your desktop is a simple and straight forward task. The following tutorial is based on Fedora Core 6 and Nokia 5300 handset. Even though the tutorial is based on Fedora Core, it will work with almost all the GNU/Linux distributions in which wvdial package is installed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Install WvDial&lt;/span&gt;&lt;br /&gt;WvDial is a program that can automatically detect the modem and configure Internet in your GNU/Linux desktop. If you don't have WvDial installed in your desktop, download and install wvdial package from your distro's repository. There are pre-built rpms for Fedora, CentOS, Debian and Ubuntu. If you can manage a working Internet connection, then use yum or apt-get to install wvdial.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2: Connect mobile and personal computer&lt;/span&gt;&lt;br /&gt;Connect your mobile phone and personal computer using USB cable. Switch your handset to "Nokia Mode".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3: Create the wvdial configuration file&lt;/span&gt;&lt;br /&gt;To create the configuration file type the following command in the terminal as &lt;span style="font-weight: bold;"&gt;root&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;# wvdialconf /etc/wvdial.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;You can see the following output in your console&lt;br /&gt;&lt;pre&gt;Scanning your serial ports for a modem.&lt;br /&gt;&lt;br /&gt;ttyS0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud&lt;br /&gt;ttyS0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud&lt;br /&gt;ttyS0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 -- and failed too at 115200, giving up.&lt;br /&gt;Port Scan&amp;lt;*1&amp;gt;: S1   S2   S3&lt;br /&gt;WvModem&amp;lt;*1&amp;gt;: Cannot get information for serial port.&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 Z -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 S0=0 -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 S0=0 &amp;amp;C1 -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0 -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Modem Identifier: ATI -- Nokia&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 4800: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 9600: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 19200: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 38400: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 57600: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 115200: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 230400: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Speed 460800: AT -- OK&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: Max speed is 460800; that should be safe.&lt;br /&gt;ttyACM0&amp;lt;*1&amp;gt;: ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0 -- OK&lt;br /&gt;&lt;br /&gt;Found an USB modem on /dev/ttyACM0.&lt;br /&gt;Modem configuration written to /etc/wvdial.conf.&lt;br /&gt;ttyACM0&lt;info&gt;: Speed 460800; init "ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0"&lt;br /&gt;&lt;/info&gt;&lt;/pre&gt;The &lt;span style="font-weight: bold;"&gt;/etc/wvdial.conf&lt;/span&gt; will look like this :&lt;br /&gt;&lt;pre&gt;[Dialer Defaults]&lt;br /&gt;Modem = /dev/ttyACM0&lt;br /&gt;Baud = 460800&lt;br /&gt;Init1 = ATZ&lt;br /&gt;Init2 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0&lt;br /&gt;ISDN = 0&lt;br /&gt;Modem Type = USB Modem&lt;br /&gt;; Phone = &lt;target&gt;&lt;br /&gt;; Username = &lt;your&gt;&lt;br /&gt;; Password = &lt;your&gt;&lt;br /&gt;&lt;/your&gt;&lt;/your&gt;&lt;/target&gt;&lt;/pre&gt;Edit the file and supply the Dialing code, Username and Password. The dialling code is usually *99# and the Username and Password will supplied by your provider. If your connection (Eg unlimited plans) doesn't require a Username and Password, then put a null string in single quotes. Don't forget to remove the leading ';' before saving the file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step  4: Dialling to the Phone&lt;/span&gt;&lt;br /&gt;Once the configuration is done, run the command wvdial to dial to the phone and to get connected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;[root@triveni ~]# wvdial&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;--&amp;gt; WvDial: Internet dialer version 1.54.0&lt;br /&gt;--&amp;gt; Cannot get information for serial port.&lt;br /&gt;--&amp;gt; Initializing modem.&lt;br /&gt;--&amp;gt; Sending: ATZ&lt;br /&gt;ATZ&lt;br /&gt;OK&lt;br /&gt;--&amp;gt; Sending: ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0&lt;br /&gt;ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0&lt;br /&gt;OK&lt;br /&gt;--&amp;gt; Modem initialized.&lt;br /&gt;--&amp;gt; Sending: ATDT*99#&lt;br /&gt;--&amp;gt; Waiting for carrier.&lt;br /&gt;ATDT*99#&lt;br /&gt;CONNECT&lt;br /&gt;~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&amp;amp;} }*} } g}%~&lt;br /&gt;--&amp;gt; Carrier detected.  Waiting for prompt.&lt;br /&gt;~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&amp;amp;} }*} } g}%~&lt;br /&gt;--&amp;gt; PPP negotiation detected.&lt;br /&gt;--&amp;gt; Starting pppd at Wed Sep 19 11:16:52 2007&lt;br /&gt;--&amp;gt; pid of pppd: 4711&lt;br /&gt;--&amp;gt; Using interface ppp0&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;--&amp;gt; local  IP address 117.97.37.210&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;--&amp;gt; remote IP address 10.6.6.6&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;--&amp;gt; primary   DNS address 202.56.250.5&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;--&amp;gt; secondary DNS address 202.56.250.6&lt;br /&gt;--&amp;gt; pppd: dem&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Troubleshooting Tips:&lt;/span&gt;&lt;br /&gt;1. In Fedora Core you have to manually edit /etc/resolv.conf and set the correct nameserver address. The DNS address will be displayed once you run wvdial.&lt;br /&gt;&lt;br /&gt;2. In CentOS-4 (RHEL-4),  you may get the following error message and got disconnected:&lt;br /&gt;&lt;pre&gt;--&amp;gt; Carrier detected.  Waiting for prompt.&lt;br /&gt;--&amp;gt; Connected, but carrier signal lost!  Retrying...&lt;br /&gt;--&amp;gt; Sending: ATDT*99#&lt;br /&gt;--&amp;gt; Waiting for carrier&lt;br /&gt;&lt;/pre&gt;You can fix this issue by adding the follwoing line to /etc/wvdial.conf&lt;br /&gt;&lt;pre&gt;Carrier Check = No&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://alumnit.ca/wiki/?WvDial"&gt;WvDial @ Alumnit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://open.nit.ca/wiki/?WvDial"&gt;WvDial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thinkdigit.com/forum/showthread.php?t=49242"&gt;http://www.thinkdigit.com/forum/showthread.php?t=49242&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-2932693964802828604?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/2932693964802828604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=2932693964802828604' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/2932693964802828604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/2932693964802828604'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2008/04/internet-connection-in-gnulinux-through.html' title='Internet Connection in GNU/Linux through Mobile devices'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-77906117125897936</id><published>2007-11-30T01:42:00.000-08:00</published><updated>2010-09-19T01:24:15.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Smarty'/><category scheme='http://www.blogger.com/atom/ns#' term='ADOdb'/><category scheme='http://www.blogger.com/atom/ns#' term='Xajax'/><title type='text'>Developing AJAX Application using Smarty and Xajax</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;b&gt;Update&lt;/b&gt; 19th Sep 2010: The Xajax project website is changed to &lt;a href="http://www.xajax-project.org/"&gt;http://www.xajax-project.org&lt;/a&gt; due to the following &lt;a href="http://www.xajax-project.org/en/development-blog/xajaxproject-org-stolen"&gt;reason&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt; AJAX&lt;/a&gt;, which stands for Asynchronous Javascript and XML, increases user friendliness and speed of the web applications by transferring only small chunks of data from the web server. Essentially, AJAX is a group of technology which comprises of HTML, XHTML, CSS, XML, Javascript. The whole idea behind AJAX is the XMLHttpRequest object which transfers the data between the web server and web browser in the XML format. Developing AJAX applications for the web is a challenge due to it's inherent issues about security and browser compatibility. To overcome this disadvantage and to increase the modularity of web applications, the Open Source community have come up with various AJAX libraries for different server-side scripting languages.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://php.net/"&gt;PHP&lt;/a&gt;(Pre-Hypertext Processor) is one of the prominent web scripting tools which is used in heterogenous environments. PHP applications are highly portable and easy to develop. Initially, developing AJAX applications in PHP was really a pain. The development of open source AJAX libraries simplified this issue and now there are more than a dozen of PHP-AJAX libraries are available. &lt;a href="http://www.xajaxproject.org/"&gt;Xajax&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://phplivex.sourceforge.net/"&gt;PHPLiveX&lt;/a&gt;, &lt;a href="http://sourceforge.net/projects/cajax"&gt;CAJAX&lt;/a&gt;, &lt;a href="http://tigermouse.epsi.pl/"&gt;Tigermouse&lt;/a&gt;, &lt;a href="http://www.modernmethod.com/sajax/"&gt;Sajax&lt;/a&gt;, &lt;a href="http://htmlajax.org/"&gt;HTML_AJAX&lt;/a&gt; are some of them. Xajax is one of the fast developing and robust PHP-AJAX framework which is used in different Open Source Projects. This tutorial primarily deals with how to integrate Xajax, Smarty and &lt;a href="http://adodb.sourceforge.net/"&gt;ADOdb&lt;/a&gt; when it comes into real application development. Even though, Xajax is in the early stages of it's development, it's very stable and is suitable for production environments.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Earlier, in PHP applications, the program logic may be tied-up with the HTML content and it's a difficult task to separate them. &lt;a href="http://smarty.php.net/"&gt;Smarty&lt;/a&gt;, A template engine for PHP, came to the rescue and the development of PHP applications became more simple. By using Smarty, it is possible to slice the HTML contents to be loaded and requests those slices using Xajax.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ADOdb is a popular Open Source Database Abstraction Library for PHP. It is specifically designed for speed and supports multiple datbases like MySQL, PostgreSQL, Oracle, etc..&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In addition to the variety of technical features provided by these libraries, all these libraries have a strong supporting community which contributes to the development. Xajax, ADOdb and Smarty are all licensed under &lt;a href="http://www.gnu.org/copyleft/lesser.html#SEC3"&gt;GNU Lesser General Public License (LGPL)&lt;/a&gt;. This means that you can include them in proprietary applications also, provided the copyright notice and licensing terms are preserved in the source code.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This tutorial will explain how to develop a simple AJAX application using Smarty and Xajax with a simple example. The sample application is developed in a Fedora 7 + Apache-2.2 + MySQL-5 server. In short, the following are the pre-requisites for this tutorial&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;PHP-5.2.3&lt;/li&gt;&lt;li&gt;MySQL-5.0.27&lt;/li&gt;&lt;li&gt;ADOdb-4.94&lt;/li&gt;&lt;li&gt;Xajax-0.2.4&lt;/li&gt;&lt;li&gt;Smarty-2.6.16 &lt;/li&gt;&lt;/ul&gt;&lt;h4 style="text-align: justify;"&gt;Create the database structure&lt;/h4&gt;&lt;div style="text-align: justify;"&gt;The example is based on a student database, in which the personal details of a student are stored. The application simply searches the databse based on certain criteria. This tutorial assumes that the database name is &lt;i&gt;studentdb&lt;/i&gt; and the table name is &lt;i&gt;student&lt;/i&gt;. &lt;span style="color: #cc0000;"&gt;The complete source code and the database schema of the sample application is available &lt;/span&gt;&lt;a href="http://sarovar.org/download.php/1208/xajaxSmartyApp-071130.tar.gz" style="color: #cc0000;"&gt;here&lt;/a&gt;&lt;span style="color: #cc0000;"&gt; (gzipped file, size:416K)&lt;/span&gt;. Here are the MySQL commands to create the database, table and populate it with sample data.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;code&gt;# mysqladmin create studentdb -uroot -p&lt;/code&gt;&lt;br /&gt;&lt;code&gt;# mysql studentdb -uroot -p&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql&amp;gt; CREATE TABLE student (student_id int(11) NOT NULL, student_name varchar(255) NOT NULL, student_major varchar(255) NOT NULL, student_gender varchar(6) NOT NULL, PRIMARY KEY (student_id), KEY student_major (student_major) );&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql&amp;gt; INSERT INTO student VALUES (1,'Anju','chemistry','female');&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql&amp;gt; INSERT INTO student VALUES (2,'Ram','chemistry','male');&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql&amp;gt; INSERT INTO student VALUES (2,'Raju','chemistry','male');&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql&amp;gt; INSERT INTO student VALUES (4,'Hari','commerce','male');&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql&amp;gt; INSERT INTO student VALUES (5,'Kala','mathematics','female');&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;Create the source code layout&lt;/h4&gt;&lt;div style="text-align: justify;"&gt;The source code layout followed for this application is as follows:&lt;br /&gt;&lt;i&gt;index.php&lt;/i&gt; - Gateway script for this application&lt;br /&gt;&lt;i&gt;includes&lt;/i&gt; - This directory contains the third party libraries like Smarty, xajax and ADOdb&lt;br /&gt;&lt;i&gt;query.php&lt;/i&gt; - Contains the methods(functions that interact with the database)&lt;br /&gt;&lt;i&gt;templates&lt;/i&gt; - The HTML templates&lt;br /&gt;&lt;i&gt;templates_c&lt;/i&gt; - compile directory for Smarty.&lt;br /&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;Setup the Configuration&lt;/h4&gt;&lt;div style="text-align: justify;"&gt;Since this is a very small application, the &lt;i&gt;index.php&lt;/i&gt; holds all the configuration parameters and settings for Xajax, Smarty and ADOdb. Include all the necessary libraries into our application, this can be done with the following statements:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&lt;br /&gt;require_once 'includes/adodb/adodb.inc.php';&lt;br /&gt;require_once 'includes/xajax/xajax.inc.php';&lt;br /&gt;require_once 'includes/smarty/Smarty.class.php';&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The core interface functionality is achieved through Xajax. We may have to tweak the xajax core file, so that it can identify the correct path to the Javascript files. Edit the file &lt;i&gt;xajax/xajax.inc.php&lt;/i&gt; and towards line #811, modify the following line so that it should reflect the correct relative path for your application.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;if ($sJsFile == NULL) $sJsFile = "includes/xajax/xajax_js/xajax.js";&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;You may also need to edit line #832&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$sJsFile = "includes/xajax/xajax_js/xajax.js";&lt;/code&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;Using the Application Programming Interface(API)&lt;/h4&gt;&lt;div style="text-align: justify;"&gt;Instantiate the database object and call the &lt;b&gt;Connect()&lt;/b&gt; method to create a database connection with MySQL server.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&lt;br /&gt;$dbObj = ADONewConnection("mysql");&lt;br /&gt;$dbObj-&amp;gt;Connect('localhost','root','xxxxx', 'studentdb');&lt;br /&gt;$dbObj-&amp;gt;SetFetchMode(ADODB_FETCH_ASSOC);&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Create a smarty object, and set the configuration parameters. It is desirable to separate the application specific templates and ccompile directory from the Smarty library. The variables  &lt;i&gt;template_dir&lt;/i&gt; and &lt;i&gt;templates_c&lt;/i&gt; holds the parameters for the HTML templates and the Smarty compile directory respectively.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$smarty = new Smarty();&lt;/code&gt;&lt;br /&gt;&lt;code&gt;$smarty-&amp;gt;template_dir = "templates/";&lt;/code&gt;&lt;br /&gt;&lt;code&gt;$smarty-&amp;gt;compile_dir = "templates_c/";&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Create an instance of Xajax object in the index.php of the application. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;$xajax = new xajax();&lt;/code&gt;&lt;br /&gt;&lt;code&gt;$xajax-&amp;gt;setRequestURI("index.php");&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The setRequestURI() method of the Xajax class sets the URI to which requests will be made. It takes one argument, which is the relative/absolute path of the PHP script executed when a AJAX request occurs. Optionally you can turn on the debug mode in Xajax, to know what's happening in the background. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$xajax-&amp;gt;debugOn();&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now, since all the configuration and settings are done, we will define the application specific functions or methods. There are mainly two AJAX functions for our sample application. These two functions &lt;b&gt;onSelectCategory()&lt;/b&gt; and &lt;b&gt;showResult()&lt;/b&gt;. The onSelectCategory() is called  when the value in the select box is changed. Basically the xajax library generates Javascript functions dynamically from the PHP code. The interface between the written PHP code and Javascript is the XajaxResponse object.  The xajaxResponse class is used to create responses to be sent back to your Web page. The response contains commands to update the web page. Every xajax function should have an instance of XajaxResponse and it should return the XML generated. The getXML() function returns the XML which contains the data to be updated  on the web page. The XajaxResponse object is created using the following code:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$objResponse = new xajaxResponse();&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;and the XML object is returned using :&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;return $objResponse-&amp;gt;getXML();&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;We use the ADOdb binding methods in &lt;i&gt;query.php&lt;/i&gt; to fetch the application specific data from the database. Here is a sample function from &lt;i&gt;query.php&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;pre&gt;function getMajors() {&lt;br /&gt;global $dbObj;&lt;br /&gt;$sql = "select distinct student_major from student";&lt;br /&gt;$result = $dbObj-&amp;gt;Execute($sql);&lt;br /&gt;return $result-&amp;gt;GetArray();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In the  &lt;b&gt;onSelectCategory()&lt;/b&gt; method, we use Smarty's &lt;b&gt;assign()&lt;/b&gt; method to assign the array to the template. The &lt;b&gt;getMajor()&lt;/b&gt; function retrieves the data from the database and we use Smarty &lt;b&gt;assign()&lt;/b&gt; method to embed the data to the HTML template.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;code&gt;$smarty-&amp;gt;assign('majors',getMajors());&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Remember that the template is sliced so that only minimal html is updated in the web page. Once the variable is assigned to the template, we can use Smarty &lt;b&gt;fetch()&lt;/b&gt; method to generate HTML embedded with the data. The following code assigns the values to the template and update the web page using XajaxResponse object. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$objResponse-&amp;gt;addAssign("divcriteria", "innerHTML", $smarty-&amp;gt;fetch('query_id.tpl'));&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The &lt;b&gt;addAssign()&lt;/b&gt; method takes three arguments :  &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;ID- ID of the HTML element which is to be updated (Eg. divcriteria is the id of the &amp;lt;DIV&amp;gt; tag used in this example).&lt;/li&gt;&lt;li&gt;Attribute - Attribute of the HTML element which is updated (Eg. InnerHTML, value, class, etc...)&lt;/li&gt;&lt;li&gt;Data - Data which is to be updated. In the above example, the data is generated dynamically using the Smarty fetch() method.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;The rest of the code in the function is self explanatory. Once the functions are defined, the xajax functions should be registered with the Xajax &lt;b&gt;registerFunction()&lt;/b&gt; method. If the xajax function is not registered, the Javascript interpreter will not identify it as a AJAXfunction. The &lt;b&gt;registerFunction()&lt;/b&gt; method takes two arguments, one of which is a default argument. In our example the following line registers a PHP function with Xajax.:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;$xajax-&amp;gt;registerFunction("onSelectCategory");&lt;/code&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Function - The name of the function which is to be called through Xajax.(Eg. OnSelectCategory)&lt;/li&gt;&lt;li&gt;RequestType - This is an optional argument which defaults to XAJAX_POST. Other possible value is XAJAX_GET. This argument sets the request type of the xajax request.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;An Xajax Request/Response is not complete without the processRequest() method. This is the core interface between the PHP code executed in the server and Javascript executed in the browser. It handles all the Xajax requests and provide suitable responses to the browser. This function should only be called once within a Xajax Request/Response cycle. Otherwise the functions called prior to the last &lt;b&gt;processRequest()&lt;/b&gt; will be ignored.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$xajax-&amp;gt;processRequests();&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The generated Javascript should be assigned to Smarty, so that the Javascript code is embedded within the HTML code. This is attained through the getJavascript() method of the Xajax object.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$smarty-&amp;gt;assign('xajax_js', $xajax-&amp;gt;getJavascript()); &lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Since all the Javascript and the application data are embedded within the Smarty object, we need to call the master template file to display the final output. We use Smarty display() method to show the formatted data in the web browser. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;$smarty-&amp;gt;display('index.tpl');&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;Coding the client component&lt;/h4&gt;&lt;div style="text-align: justify;"&gt;The server component of Xajax and Smarty is completed, and now we have to include the generated Smarty variables in the template. Remember that, the Javascript required for Xajax calls are assigned to Smarty. The master template file is the &lt;i&gt;index.tpl&lt;/i&gt;, which includes the Javascript and the application data. The generated Javascript is placed under the &amp;lt;HEAD&amp;gt; tag in the template.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;HEAD&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;{$xajax_js}&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;/HEAD&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The xajax functions that we defined in the Xajax server component are called with a different nomenclature in the client side. All the functions are prefixed with “xajax_”. To submit the form values to the server we use Xajax getFormValues() method. The getFormValues is a Javascript function which takes a mandatory argument and two optional argument. The first argument specifies the id of the form. The second argument is a boolean value which determines whether to submit the disabled elements and the third argument allows to specify a prefix name for the HTML elements.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Once these steps are completed, you are ready with a working AJAX application which talks with your server.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-77906117125897936?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/77906117125897936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=77906117125897936' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/77906117125897936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/77906117125897936'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/11/developing-ajax-application-using.html' title='Developing AJAX Application using Smarty and Xajax'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-7690044253965276501</id><published>2007-10-24T03:10:00.000-07:00</published><updated>2009-12-01T03:28:23.084-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Anaconda'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Redhat'/><title type='text'>Building a Fedora Core Distribution</title><content type='html'>&lt;span style="font-style: italic;"&gt;(This was an old documentation for building an GNU/Linux distribution based on Fedora Core 1. This documentation may not work with the newer versions of Fedora)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.&lt;br /&gt;&lt;br /&gt;Revised on : 14:33:02 IST ; 22nd August 2005&lt;br /&gt;Revised on : 13:45:02 IST ; 22nd July 2005&lt;br /&gt;Revised on : 11:47:45 IST ; 16th August 2004&lt;br /&gt;Revised on : 10:55:18 IST ; 10th January 2004&lt;br /&gt;Created on : 12:13:13 IST; 23rd December 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 0:&lt;/span&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Fedora Core Installation CD's for i386 (Both RPMS and SRPMS)&lt;/li&gt;&lt;li&gt;i386 Machine installed with RedHat/Fedora Core 1 (Custom installation&lt;/li&gt;&lt;li&gt;with All packages)Minimum 3.6 GB of Hard Disk space&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Step 1&lt;/span&gt;&lt;br /&gt;Copy all the CD's to a suitable location. The work area I chose is /home/fedora/i386. The later part of this documentation is based on this path. If you wish to make only the binary version then no need to copy the SRPMS.&lt;br /&gt;# cp /mnt/cdrom/* /home/fedora/i386/ -rf&lt;br /&gt;you can ignore warnings(if any) of overwriting TRANS.TBL, COPYING, and README files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt;&lt;br /&gt;Install the source rpm of anaconda. I modified only the package anaconda-images.&lt;br /&gt;# rpm -ivh anaconda-images-9.0-3.src.rpm&lt;br /&gt;Modify the anaconda source as desired and rebuild using the rpmbuild utility.&lt;br /&gt;# cd /usr/src/fedora&lt;br /&gt;# rpmbuild –ba SPECS/anaconda-images.spec&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3&lt;/span&gt;&lt;br /&gt;If everything is right we will have new binary in /usr/src/redhat/RPMS/i386 as well as a new source RPM in /usr/src/redhat/SRPMS. Remove the existing anaconda binary in /home/fedora/i386/fedora/RPMS/anaconda-images-9.0-3.src.rpm&lt;br /&gt;# rm /home/fedora/i386/Fedora/RPMS/anaconda-images-9.0-3.src.rpm&lt;br /&gt;Copy binaries into the /home/fedora/i386/fedora/RPMS, working directory;&lt;br /&gt;# cp /usr/src/redhat/RPMS/i386/anaconda-images-9.0-3.src.rpm /home/fedora/i386/Fedora/RPMS/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4&lt;/span&gt;&lt;br /&gt;Run genhdlist to check image.&lt;br /&gt;# /usr/lib/anaconda-runtime/genhdlist --withnumbers --productpath=Kairali /home/fedora/i386/&lt;br /&gt;If the command is successful then there will be files such as hdlist, hdlist2 in the directory /home/fedora/i386/fedora/base. This command may report about the duplicate packages if found.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5&lt;/span&gt;&lt;br /&gt;If you are modifying the package list, then you have to edit the comps.xml file. After editing the comps.xml you have to again run genhdlist and then check with getfullcomps.py&lt;br /&gt;# /usr/share/comps-extras/getfullcomps.py comps.xml /home/fedora i386 &amp;gt; /dev/null&lt;br /&gt;The getfullcomps.py script has been removed from Fedora Core. Download the script from &lt;a href="http://lal.bizhat.com/docs/getfullcomps.py"&gt;here&lt;/a&gt; and copy it to /usr/share/comps-extras.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 6&lt;/span&gt;&lt;br /&gt;Run pkgorder to generate the package order. But before that don't forget to set the PYTHONPATH&lt;br /&gt;# export PYTHONPATH=/usr/lib/anaconda&lt;br /&gt;# /usr/lib/anaconda-runtime/pkgorder /home/fedora/i386 i386 Kairali| tee /home/fedora/pkgorder.txt&lt;br /&gt;This command will generate the pkgorder file at the same time will display all the packages that you have added.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 7&lt;/span&gt;&lt;br /&gt;Build new anaconda installer images&lt;br /&gt;# /usr/lib/anaconda-runtime/buildinstall --comp dist-9 --pkgorder /home/fedora/pkgorder.txt --product 'Kairali Linux' --release 1 --version 1 –prodpath fedora /home/fedora/i386&lt;br /&gt;If everything is OK then you will get messages something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;warning: /home/fedora/i386/fedora/RPMS/anaconda-runtime-9.0-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Building images...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;warning: /home/fedora/i386/fedora/RPMS/anaconda-runtime-9.0-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Assembling package list...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;warning: /home/fedora/i386/fedora/RPMS/anaconda-9.0-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;warning: /home/fedora/i386/fedora/RPMS/anaconda-9.0-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Expanding packages... anaconda-9.0-4.i386.rpm&lt;br /&gt;warning: /home/fedora/i386/fedora/RPMS/anaconda-9.0-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Expanding packages... anaconda-runtime-9.0-4.i386.rpm&lt;br /&gt;warning: /home/fedora/i386/fedora/RPMS/anaconda-runtime-9.0-4.i386.rpm:&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Expanding packages... ash-0.3.8-8.i386.rpm&lt;br /&gt;warning: /home/fedora/i386/fedora/RPMS/ash-0.3.8-8.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Overriding busybox version of xargs&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Overriding busybox version of zcat&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scrubbing trees...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Compressing .mo files in stage2 images...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Creating fontconfig cache&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;/usr/bin/fc-cache: "/usr/share/fonts": caching, 0 fonts, 5 dirs&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;/usr/bin/fc-cache: "/usr/share/fonts/bitmap-fonts": caching, 2 fonts, 0 dirs&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;/usr/bin/fc-cache: "/usr/share/fonts/ja": caching, 0 fonts, 1 dirs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Patching python library...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Removing unused python files in hdimage... done.&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Cleaning ramdisk install images...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Getting package order...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Loading //lib/kbd/keymaps/i386/azerty/be-latin1.map.gz&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;found 7 valid keymaps&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;creating keymap file /tmp/keymaps.9240/be-latin1.map&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Loading //lib/kbd/keymaps/i386/qwerty/bg.map.gz&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;found 9 valid keymaps&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Wrote /home/fedora/i386/fedora/base/hdstg2.img (9936k)...&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Building stage2.img&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Wrote /home/fedora/i386/fedora/base/stage2.img (62628k)&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Cleaning up images&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Size of boot image is 4 sectors -&amp;gt; No emulation&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Total translation table size: 2048&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Total rockridge attributes bytes: 1445&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Total directory bytes: 2048&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Path table size(bytes): 26&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Max brk space used 7000&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;1808 extents written (3 Mb)&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Writing .discinfo file&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;timestamp not specified; using the current time&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hopefully,&lt;br /&gt;we have a new installer. Now this directory can be used for NFS&lt;br /&gt;installation.&lt;br /&gt;The following steps are relevant only if you are&lt;br /&gt;trying to pack the installation CDs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 8&lt;/span&gt;&lt;br /&gt;#/usr/lib/anaconda-runtime/splittree.py --arch=i386 --total-discs=6 --bin-discs=3 --src-discs=3 -–release-string="Kairali Linux" --pkgorderfile=/home/fedora/pkgorder --distdir=/home/fedora/i386&lt;br /&gt;--srcdir=/home/fedora/ --productpath=Fedora&lt;br /&gt;If there are no SRPMS in your buildtree then a warning will raised indicating the failure of packaging SRPMS , which can be ignored if your not bothered about creating source CDs. If you want to reduce the number of CDs, then use the following command&lt;br /&gt;&lt;br /&gt;# /usr/lib/anaconda-runtime/splittree.py --arch=i386 --total-discs=3 --bin-discs=2 --src-discs=1 --release-string="Kairali Linux" --pkgorder=/home/fedora/pkgorder.txt --distdir=i386 --srcdir=SRPMS&lt;br /&gt;--productpath=Kairali&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 9&lt;/span&gt;&lt;br /&gt;The hdlist* files in /home/fedora/i386-disc1/fedora/base/ are hard-linked copies of the original ones in the&lt;br /&gt;/home/fedora/i386/fedora/base/ directory, and are very likely (certain!) not to work properly for cdrom installs. So they need to be re-created. genhdlist is used again to create new hdlist files, but this time referencing the "package order catalogue" and the newly-created i386-disc[123] directory trees...&lt;br /&gt;# rm -f /home/fedora/i386-disc1/fedora/base/hdlist*&lt;br /&gt;# /usr/lib/anaconda-runtime/genhdlist --withnumbers --fileorder /home/fedora/pkgorder.txt /home/fedora/i386-disc[123] --productpath Kairali&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 10&lt;/span&gt;&lt;br /&gt;Make the iso images for all the CD's&lt;br /&gt;#cd /home/fedora/i386-disc1&lt;br /&gt;#mkisofs -b images/bootdisk.img -c boot.cat -v -r -T -J -V Kairali-1.0_D1 -o /home/fedora/KL_D1.iso&lt;br /&gt;/home/fedora/i386-disc1&lt;br /&gt;#mkisofs -JR -l -V Kairali-1.0_D2 -o KL_D2.iso i386-disc2&lt;br /&gt;The output will be something like the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;mkisofs 2.0 (i686-pc-linux-gnu)&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scanning /home/fedora/i386-disc1&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scanning /home/fedora/i386-disc1/dosutils&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scanning /home/fedora/i386-disc1/dosutils/autoboot&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scanning /home/fedora/i386-disc1/dosutils/fips15c&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scanning /home/fedora/i386-disc1/dosutils/fips15c/restorrb&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Excluded: /home/fedora/i386-disc1/dosutils/fips15c/restorrb/TRANS.TBL&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Scanning /home/fedora/i386-disc1/dosutils/fips15c/source&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Excluded: /home/fedora/i386-disc1/dosutils/fips15c/source/TRANS.TBL&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Repeat the step for creating all the other 3 images.&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;-&lt;br /&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Writing: Joliet directory tree&lt;br /&gt;Start Block 85&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;Done with: Joliet directory tree Block(s) 38&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;96.57% done, estimate finish Tue Dec 23 12:06:40 2003&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;98.11% done, estimate finish Tue Dec 23 12:06:40 2003&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;99.64% done, estimate finish Tue Dec 23 12:06:42 2003&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Total translation table size: 43639&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Total rockridge attributes bytes: 64841&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Total directory bytes: 108544&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Path table size(bytes): 248&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Done with: The File(s) Block(s) 326025&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Writing: Ending pad block Start Block 326149&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Done with: Ending pad block Block(s) 27&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;&lt;br /&gt;Max brk space used 82000&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Luxi Sans;"&gt;326176 extents written (637 Mb)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Caveat: In Fedora Core 4 use the following command to create the ISO Image:&lt;br /&gt;&lt;br /&gt;#mkisofs -b  isolinux/isolinux.bin -c isolinux/boot.cat  -J  -p "ost@cdit.org"  -V "Kairali GNU/Linux 1.2"  -r&lt;br /&gt;-T  -v  -A "Kairali GNU/Linux 1.2" -o kairali_12.iso  -no-emul-boot  -boot-load-size  4  -boot-info-table  -l i386&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 11&lt;/span&gt;&lt;br /&gt;Burn the image to the CD using your favourite program (cdrecord, xcdroast or gtoaster) and it's ready for Installation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resources:&lt;/span&gt;&lt;br /&gt;http://www.linuxworks.com.au/redhat-installer-howto.html&lt;br /&gt;http://www.contribs.com/contribs/rsi/howto/SME%20Anaconda%20HowTo.htm&lt;br /&gt;http://www.e-smith.org/docs/howto/howto_modify_e-smith_interface_rpm.php3&lt;br /&gt;http://contribs.org/contribs/dmay/mitel/howto/sme-iso-howto.html&lt;br /&gt;http://www.linuxworks.com.au/PB-rhcd.html&lt;br /&gt;http://rau.homedns.org/twiki/bin/view/Anaconda/AnacondaDocumentationProject&lt;br /&gt;http://www.rpm.org/&lt;br /&gt;http://fedora.redhat.com/&lt;br /&gt;http://fedoraproject.org/wiki/AnacondaBuildDocProject&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-7690044253965276501?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/7690044253965276501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=7690044253965276501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/7690044253965276501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/7690044253965276501'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/10/building-fedora-core-distribution.html' title='Building a Fedora Core Distribution'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-4602941316087030311</id><published>2007-06-12T03:06:00.000-07:00</published><updated>2009-12-01T03:27:30.750-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='Mediawiki'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>MediaWiki Syntax Tips</title><content type='html'>Wikis are becoming very much popular among people who write and publish technical documentation. One of the most prominent example of Wiki is the &lt;a href="http://www.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;, which is the largest knowledge base in Internet. The Wikipedia uses &lt;a href="http://www.mediawiki.org/"&gt;MediaWiki&lt;/a&gt; as the tool to create and manage the contents collaboratively among volunteers around the world.&lt;br /&gt;&lt;br /&gt;Creating and Managing documentation in a Wiki is very easy and simple as long as you are familiar with the Wiki Syntax. Even though wikis also accept the HTML syntax, it's a good convention to strictly follow the Wiki syntax. This article will list some of the tags that I uses frequently to create wiki pages. Please remember that this list is NOT at all comprehensive.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%; font-weight: bold;"&gt;Headings&lt;/span&gt;&lt;br /&gt;There are different levels of headings available in mediawiki syntax. The level headings starts with an '=" sign and ends with the same character.&lt;br /&gt;&lt;pre&gt;First level =Heading=&lt;br /&gt;Second level ==Heading==&lt;br /&gt;Third Level  ===Heading===&lt;br /&gt;Fourth Level ====Heading====&lt;br /&gt;&lt;/pre&gt;Be careful about the number of = preceding and following the Heading.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%; font-weight: bold;"&gt;Table of Contents&lt;/span&gt;&lt;br /&gt;By default if the number of Headings in a page is 3 or more, then a Table of Contents (TOC) will be automatically generated by the wiki. You can avoid the TOC by simply putting a&lt;br /&gt;&lt;pre&gt;__NOTOC__&lt;/pre&gt;in the page, preferably at the top.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%; font-weight: bold;"&gt;Labels for Camel Case Page name&lt;/span&gt;&lt;br /&gt;Most the wiki users use &lt;a href="http://en.wikipedia.org/wiki/CamelCase"&gt;Camel case&lt;/a&gt; style to create wiki pages. This will make the URL shorter but reduces readbality in a page. To provide an alternate text for camel case style page names, use the following syntax&lt;br /&gt;&lt;pre&gt;[[CamelCase|Camel Case]]&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size: 130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Editing the Sidebar navigation menu&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;To edit the Sidebar navigation menu just enter &lt;span style="font-weight: bold;"&gt;MediaWiki:Sidebar&lt;/span&gt; in the Search box and edit the resultant page. The sidebar navigation uses a different syntax. To open a new navigation box, define a title with *. To Create Hyperlinks just start with two asterisks (**).&lt;br /&gt;Eg.&lt;br /&gt;&lt;pre&gt;* Title&lt;br /&gt;** ArticleName| Article name&lt;br /&gt;** http://flossvalley.blogspot.com|FLOSS Valley&lt;br /&gt;&lt;/pre&gt;Reference&lt;br /&gt;&lt;a href="http://www.mediawiki.org/wiki/Help:Contents"&gt;MediaWiki Help&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-4602941316087030311?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/4602941316087030311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=4602941316087030311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/4602941316087030311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/4602941316087030311'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/06/mediawiki-syntax-tips.html' title='MediaWiki Syntax Tips'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-1157197692340434732</id><published>2007-03-04T22:50:00.000-08:00</published><updated>2009-12-01T03:27:07.755-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resources'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Free and Open Source Resources</title><content type='html'>&lt;span style="color: #990000; font-weight: bold;"&gt;News&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.digg.com/"&gt;Digg - http://www.digg.com&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.slashdot.org/"&gt;Slashdot - http://www.slashdot.org&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.newsforge.com/"&gt;Newsforge - http://www.newsforge.com&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fedoranews.org/"&gt;FedoraNews - http://www.fedoranews.org&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: #990000; font-weight: bold;"&gt;Documentation&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://tldp.org/"&gt;The Linux Documentation Project - http://tldp.org&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.howtoforge.com/"&gt;HowToForge - http://www.howtoforge.com&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.kalamazoolinux.org/"&gt;Kalamazoo Linux Users Group - http://www.kalamazoolinux.org/&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://stanton-finley.net/"&gt;StantonFinley.net - http://stanton-finley.net&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ubuntuguide.org/"&gt;UbuntuGuide - http://ubuntuguide.org&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotancohen.com/howto/"&gt;Networking Howto - http://www.dotancohen.com/howto&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.onlamp.com/"&gt;OnLamp - http://www.onlamp.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linuxdevcenter.com/"&gt;Linux Dev Center - http://www.linuxdevcenter.com/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: #990000; font-weight: bold;"&gt;Forums &amp;amp; Support&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://linuxforums.org/"&gt;LinuxQuestions - http://www.linuxquestions.org&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://linuxquestions.org/"&gt;LinuxForums - http://www.linuxforums.org&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-1157197692340434732?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/1157197692340434732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=1157197692340434732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/1157197692340434732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/1157197692340434732'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/03/free-and-open-source-resources.html' title='Free and Open Source Resources'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-8137916115784246317</id><published>2007-03-04T22:06:00.001-08:00</published><updated>2009-12-01T03:26:39.365-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flashplayer'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>64bit Fedora Core 6 and Flash Plugin in Firefox</title><content type='html'>Many people have problems in viewing Adobe/Macromedia flash movies in the Firefox installed in 64bit version of Fedora Core 6. This is due to the fact that Adobe hasn't released a 64bit version of flash player for GNU/Linux. Here is a simple method to get rid of this difficulty.&lt;br /&gt;&lt;br /&gt;First , check whether i386 version of firefox is installed on your system. Run the following commands and analyse the result:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# rpm -qa | grep firefox&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;If 64bit version of firefox is installed, then there will be two instances of firefox listed. If it's not installed, then either download 64bit version of firefox from http://fedora.redhat.com or use the following command.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# yum install firefox.i386&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Normally, after installing 64bit version, the system will always load the 64bit version of firefox. To disable it, you need to edit the /usr/bin/firefox script and load the i386 libraries instead of 64bit libraries. Open the file in vi or vim and the find the following lines:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MOZ_LIB_DIR="/usr/lib"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if [ -x "/usr/lib64/firefox-1.5.0.10/firefox-bin" ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;  MOZ_LIB_DIR="/usr/lib64"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;fi&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Modify the line &lt;span style="font-weight: bold;"&gt;MOZ_LIB_DIR="/usr/lib64" &lt;/span&gt;to &lt;span style="font-weight: bold;"&gt;MOZ_LIB_DIR="/usr/lib"&lt;br /&gt;&lt;/span&gt;Save the file and quit. Now install flash player and check whether you can see the flash movies.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-8137916115784246317?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/8137916115784246317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=8137916115784246317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/8137916115784246317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/8137916115784246317'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/03/64bit-fedora-core-6-and-flash-plugin-in.html' title='64bit Fedora Core 6 and Flash Plugin in Firefox'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-2595049198067976101</id><published>2007-03-04T22:04:00.000-08:00</published><updated>2009-12-01T03:25:52.102-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenLDAP'/><title type='text'>Getting started with OpenLDAP</title><content type='html'>&lt;pre&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;1.Pre-requisites:&lt;/span&gt;&lt;br /&gt;Fedora Core 4&lt;br /&gt;openldap-servers-2.2.23-5&lt;br /&gt;openldap-clients-2.2.23-5&lt;br /&gt;openldap-devel-2.2.23-5&lt;br /&gt;openldap-2.2.23-5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Edit the configuration file: /etc/openldap/slapd.conf&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;database bdb&lt;br /&gt;suffix "dc=libregeek,dc=net"&lt;br /&gt;rootdn "cn=root,dc=libregeek,dc=net"&lt;br /&gt;rootpw xxxxxx&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;b&gt;3. Check whether it works.&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: times new roman;"&gt;Start the LDAP server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;#/etc/init.d/ldap start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;b&gt;4. Check whether it works.&lt;br /&gt;Run the command :&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Sans L; font-size: 100%;"&gt;&lt;b&gt;# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;The output will be like this :&lt;br /&gt;[root@triveni ~]# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts&lt;br /&gt;# extended LDIF #&lt;br /&gt;# LDAPv3 # base &amp;lt;&amp;gt; with scope base # filter: (objectclass=*)&lt;br /&gt;# requesting: namingContexts #&lt;br /&gt;# dn: namingContexts: dc=libregeek,dc=net&lt;br /&gt;# search result search: 2 result: 0 Success&lt;br /&gt;# numResponses: 2&lt;br /&gt;# numEntries: 1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;b&gt;5. Add initial entries to the ldap directory:&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt; &lt;/span&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;b&gt;&lt;br /&gt;Create an ldif file with the text editor(vi) : &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;dn: dc=libregeek,dc=net&lt;br /&gt;objectclass: dcObject&lt;br /&gt;objectclass: organization&lt;br /&gt;o: FreedomFox&lt;br /&gt;dc: libregeek&lt;br /&gt;dn: cn=root,&lt;br /&gt;dc=libregeek,dc=net&lt;br /&gt;objectclass: organizationalRole&lt;br /&gt;cn: root&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;b&gt;6. Run the command :&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt; &lt;/span&gt;&lt;span style="font-family: Nimbus Sans L; font-size: 100%;"&gt;&lt;b&gt;&lt;br /&gt;#ldapadd -x -D "cn=root,dc=libregeek,dc=net" -W -f libregeek.ldif&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;The output will be:&lt;br /&gt;[root@triveni ~]# ldapadd -x -D "cn=root,dc=libregeek,dc=net" -W -f libregeek.ldif&lt;br /&gt;Enter LDAP Password:&lt;br /&gt;adding new entry "dc=libregeek,dc=net"&lt;br /&gt;adding new entry "cn=root,dc=libregeek,dc=net"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Roman No9 L; font-size: 100%;"&gt;&lt;b&gt;7. Check whether it works :&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Sans L; font-size: 100%;"&gt;&lt;b&gt;# ldapsearch -x -b 'dc=libregeek,dc=net' '(objectclass=*)'&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;br /&gt;the output will  be:&lt;br /&gt;[root@triveni ~]# ldapsearch -x -b 'dc=libregeek,dc=net' '(objectclass=*)'&lt;br /&gt;# extended LDIF #&lt;br /&gt;# LDAPv3 # base &lt;dc dc="net"&gt; with scope sub&lt;br /&gt;# filter: (objectclass=*)&lt;br /&gt;# requesting: ALL #&lt;br /&gt;# libregeek.net dn: dc=libregeek,dc=net&lt;br /&gt;objectClass: dcObject&lt;br /&gt;objectClass: organization&lt;br /&gt;o: FreedomFox&lt;br /&gt;dc: libregeek&lt;br /&gt;# root, libregeek.net&lt;br /&gt;dn: cn=root,dc=libregeek,dc=net&lt;br /&gt;objectClass: organizationalRole&lt;br /&gt;cn: root&lt;br /&gt;# search result&lt;br /&gt;search: 2&lt;br /&gt;result: 0&lt;/dc&gt;&lt;/span&gt;&lt;span id="formatbar_CreateLink" style="display: block;" title="Link"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;dc dc="net"&gt;Success&lt;br /&gt;# numResponses: 3&lt;br /&gt;# numEntries: 2&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Nimbus Roman No9 L;"&gt;More Resources:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Nimbus Roman No9 L;"&gt;&lt;a href="ftp://ftp.kalamazoolinux.org/pub/pdf/ldapv3.pdf"&gt;ftp://ftp.kalamazoolinux.org/pub/pdf/ldapv3.pdf&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Nimbus Roman No9 L;"&gt;&lt;a href="http://www.openldap.org/doc/admin23/quickstart.html"&gt;http://www.openldap.org/doc/admin23/quickstart.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Nimbus Roman No9 L;"&gt;&lt;a href="http://www.openldap.org/doc/admin23/dbtools.html"&gt;http://www.openldap.org/doc/admin23/dbtools.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fedoranews.org/mediawiki/index.php/How_to_setup_and_maintain_OpenLDAP_server_for_your_network"&gt;http://fedoranews.org/mediawiki/index.php/How_to_setup_and_maintain_OpenLDAP_server_for_your_network&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.trustix.org/wiki/index.php/OpenLDAP"&gt;http://www.trustix.org/wiki/index.php/OpenLDAP&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linuxjournal.com/article/6266"&gt;http://www.linuxjournal.com/article/6266&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zytrax.com/books/"&gt;http://www.zytrax.com/books/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.openldap.org/faq/data/cache/52.html"&gt;http://www.openldap.org/faq/data/cache/52.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sapiens.wustl.edu/%7Esysmain/info/openldap/openldap_configure_acl.html"&gt;http://sapiens.wustl.edu/~sysmain/info/openldap/openldap_configure_acl.html&lt;/a&gt;&lt;/span&gt;&lt;/dc&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-2595049198067976101?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/2595049198067976101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=2595049198067976101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/2595049198067976101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/2595049198067976101'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/03/getting-started-with-openldap.html' title='Getting started with OpenLDAP'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8691817687240349402.post-8121371465547465545</id><published>2007-03-04T21:51:00.000-08:00</published><updated>2009-12-01T03:25:16.355-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='IPtables'/><title type='text'>IP Routing in Fedora Core 3</title><content type='html'>The following describes how to set up a Router on the Fedora Core Linux. This configuration may help you if you have an ISP, in which the IP Address is assigned via DHCP.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Configure the two network interfaces according to the network&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ifcfg-eth0&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;DEVICE=eth0&lt;br /&gt;ONBOOT=yes&lt;br /&gt;BOOTPROTO=static&lt;br /&gt;IPADDR=192.168.102.50&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;ifcfg-eth1:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;DEVICE=eth1&lt;br /&gt;ONBOOT=yes&lt;br /&gt;BOOTPROTO=dhcp&lt;br /&gt;HWADDR=00:E0:4D:02:60:30&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;2. Enable the IPV4 Routing (both static and dynamic)&lt;/span&gt;&lt;br /&gt;2.1 static :&lt;br /&gt;Edit &lt;span style="font-style: italic;"&gt;/etc/sysctl.conf&lt;/span&gt;&lt;br /&gt;change "&lt;span style="font-style: italic;"&gt;net.ipv4.ip_forward = 0&lt;/span&gt;" to "&lt;span style="font-style: italic;"&gt;net.ipv4.ip_forward = 1&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Run the following command:&lt;br /&gt;# &lt;span style="font-weight: bold;"&gt;echo  1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Configure the IP tables&lt;/span&gt;&lt;br /&gt;3.1 Flush all the current rules:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# iptables -F -t nat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3.2 Set the Masquerading&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Check your connectivity by pinging to both the networks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8691817687240349402-8121371465547465545?l=flossvalley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flossvalley.blogspot.com/feeds/8121371465547465545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8691817687240349402&amp;postID=8121371465547465545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/8121371465547465545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8691817687240349402/posts/default/8121371465547465545'/><link rel='alternate' type='text/html' href='http://flossvalley.blogspot.com/2007/03/ip-routing-in-fedora-core-3.html' title='IP Routing in Fedora Core 3'/><author><name>മണിലാല്‍ കെ എം : Manilal K M</name><uri>http://www.blogger.com/profile/14100215846279058433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
