Thursday, January 15, 2009

Tuesday, October 14, 2008

Saturday, April 26, 2008

Being out of the Box!




There has been a great boom for the Undergraduate Engineering courses in India. Especially since the last 2 decades. We have seen great organizations booming up with the ambit of IT services across the globe. The global need for people literate about Business and IT combined has reached it peaks. The unemployment graph has been observed to have a remarkable downfall. This certainly means the GDP, Economy and the Indian Currency are getting stronger! So we Indians are getting rich! Wow! This is what I felt when I looked at the BSE (Bombay Stock Exchange) market position. Looking at the 20,000 mark being reached from the depths of pathetic 1500 points. One would never imagine that the markets in India could boom up to that extent. We have the Golden Bird with us again! I feel proud of it!

So what makes me get worried about the future. Is it because of countries like China emerging with the IT industry? Or is it because of the shrinking and sinking US markets.Well the answer is None of these.
The ultimate worry is the standards we possess.

I have experienced a great blow of something called as "Tradition to Reject Change". Well its my perspective. I joined my undergraduate course in 2005. The first day I had a great conversation with the Principal of my Institute. I felt overwhelmed with the way he approached towards the proper educational needs of a student. Later, I realized that it was only him in the institute to have that bent.

Rest were people who were like doing wonders without knowing its baseline. In short they could not speak out what they were doing. I could find people talking about Maxima and Minima; but when asked about why should I use it, their faces turned dull as they had no answers for it. Am I in the wrong shoes??

Then I realized that my world was with stuffs that are really practical today. And obviously I found it to be the Linux based systems. I brought SuSE Linux 9.2 (audio driver did not work as there were some h/w issues). Then I felt to know more about Linux ( the kernel). I spoke to my departmental Head regarding the same. He felt I could bring a few things that were to the next level. We had a 2 day workshop @ our campus by the FSF-AP officials. That turned the wheels of thoughts into a new direction. Although it was taken by none.

I have seen people mugging up the answers for questions and later the forget both. For them some shit is their duty, but in my world this has been my religion. When I speak about Free Software/ Open Source Software, they start digging deep. Not onto the philosophy but on my academics (like Is he a college topper, Can he be placed, Does he possess some dignity, Does he give respect to faculty members,etc).

I have seen an idiot who boasts himself as a Leader for tomorrows' business but am afraid as he does noting that boasting himself. He speaks about projects and does nothing on its development. Few of them are interested in gathering a pile of certificates that may help them crack interviews. And it ends there.

I met a friend of mine, I felt him to be a technology evangelist but he turned out to be a buffoon. We had a contest as "Go-Alive Challenge" held by Microsoft Corporation, India. It was all about creating email ids for students ( that was not a big deal) and a college website running on MS Technologies. He was very firm about doing it but rejected it at the final moments stating that "THERE ARE NOT CERTIFICATES AWARDED FOR IT". I said " QUALITY NEVER NEEDS A PRAISE, BULLSHIT DOES". But I was wrong there... that bastard just didnt agree to that and we lost it as a whole. I feel I missed a great opportunity for both me and my Institute.
There has been a great boom for the Undergraduate Engineering courses in India. Especially since the last 2 decades. We have seen great organizations booming up with the ambit of IT services across the globe. The global need for people literate about Business and IT combined has reached it peaks. The unemployment graph has been observed to have a remarkable downfall. This certainly means the GDP, Economy and the Indian Currency are getting stronger! So we Indians are getting rich! Wow! This is what I felt when I looked at the BSE (Bombay Stock Exchange) market position. Looking at the 20,000 mark being reached from the depths of pathetic 1500 points. One would never imagine that the markets in India could boom up to that extent. We have the Golden Bird with us again! I feel proud of it!

So what makes me get worried about the future. Is it because of countries like China emerging with the IT industry? Or is it because of the shrinking and sinking US markets.Well the answer is None of these.
The ultimate worry is the standards we possess.

I have experienced a great blow of something called as "Tradition to Reject Change". Well its my perspective. I joined my undergraduate course in 2005. The first day I had a great conversation with the Principal of my Institute. I felt overwhelmed with the way he approached towards the proper educational needs of a student. Later, I realized that it was only him in the institute to have that bent.

Rest were people who were like doing wonders without knowing its baseline. In short they could not speak out what they were doing. I could find people talking about Maxima and Minima; but when asked about why should I use it, their faces turned dull as they had no answers for it. Am I in the wrong shoes??

Then I realized that my world was with stuffs that are really practical today. And obviously I found it to be the Linux based systems. I brought SuSE Linux 9.2 (audio driver did not work as there were some h/w issues). Then I felt to know more about Linux ( the kernel). I spoke to my departmental Head regarding the same. He felt I could bring a few things that were to the next level. We had a 2 day workshop @ our campus by the FSF-AP officials. That turned the wheels of thoughts into a new direction. Although it was taken by none.

I have seen people mugging up the answers for questions and later the forget both. For them some shit is their duty, but in my world this has been my religion. When I speak about Free Software/ Open Source Software, they start digging deep. Not onto the philosophy but on my academics (like Is he a college topper, Can he be placed, Does he possess some dignity, Does he give respect to faculty members,etc).

I have seen an idiot who boasts himself as a Leader for tomorrows' business but am afraid as he does noting that boasting himself. He speaks about projects and does nothing on its development. Few of them are interested in gathering a pile of certificates that may help them crack interviews. And it ends there.

I met a friend of mine, I felt him to be a technology evangelist but he turned out to be a buffoon. We had a contest as "Go-Alive Challenge" held by Microsoft Corporation, India. It was all about creating email ids for students ( that was not a big deal) and a college website running on MS Technologies. He was very firm about doing it but rejected it at the final moments stating that "THERE ARE NOT CERTIFICATES AWARDED FOR IT". I said " QUALITY NEVER NEEDS A PRAISE, BULLSHIT DOES". But I was wrong there... that bastard just didnt agree to that and we lost it as a whole. I feel I missed a great opportunity for both me and my Institute.

Sunday, September 30, 2007

Using PDFedit in Kubuntu


I’m over the moon. So far over, that I’m somewhere out near Neptune at the moment.

You see, I love books. Long ago I picked out PDFs as the best digital equivalent and I’ve collected tens of thousands of free books in my digital libraries. One of the only bits of proprietary (sort of) software on my computers is Adobe, simply because it’s the best reader.

When Open Office started improving their PDF writing ability, I started having more and more fun creating my own PDFs out of my own documents and out of various HTML sources I was interested in. I’d take free Gutenberg books and turn them into PDFs complete with pictures and everything. However I couldn’t do anything to edit PDFs that had already been created when I downloaded them. That’s why I’m now somewhere out in space: because I can now edit those PDF files using free software.

I was going through howtoforge and I came across one for installing Modifying PDF Files With PDFedit On Ubuntu Fiesty Fawn.

At the moment PDFedit has to come from the getdeb site, but when Ubuntu Gutsy Gibbon comes out in October, PDFedit will be included in the repositories.

I just followed the easy howto procedure and PDFedit installed itself into Kubuntu with no trouble at all. I had to use the KDE installer instead of the Gnome package installer used in the howto, but that worked just the same way.

With PDFedit now in the Graphics section of my menu as PDF Editor, it was time to turn to page two of the howto so I could try out some editing.

Using the howto instructions, I opened “Great Fortunes From Railroads” from my historical section, because I knew it was full of typos. A few minutes later a page-full of typos were gone.

As simple as that.

There’s a bundle of other features I haven’t tried yet:

  • PDF to XML
  • line width
  • colour background
  • highlight text
  • strike-through
  • text size and font
  • add text
  • draw rectangle, lines, arrows
  • remove page
  • extract text
  • system font
  • page metrics
  • rotate
  • embedded command line
  • add/remove object

...and more.

Just about anything you could want to do to a PDF, PDFedit can do.

Open Office should take a look at adding this functionality to their PDF options, it’s the real ridgey-didge.

History of glibc and Linux libc


The “Linux libc” fork of the GNU C Library is now a mostly forgotten event. The fork lived from 1994 to 1997/8—just before my time—but I’ve found interesting accounts of it by others.

The main sources of information are:

Reasons

According to Wheeler’s appendix, the fork occurred just after February 1994, and the motivations were procedural/organisational: “the Linux kernel developers thought that the FSF’s development process for the C library was too slow and not responding to their needs”. This ties in with Bruce Perens’ comment in 2000 that the Linux libc fork “went on for years while Linux stabilized” (from the article Forking: it could even happen to you).

Moen’s article says the reason was technical: “they decided that FSF’s library (then at version 1-point-something) could/should best be adapted for the Linux kernel as a separately-maintained project”. Both reasons could have contributed.

During the fork

H. J. Lu is mentioned by a few people as being the maintainer or main contributor to Linux libc.

Elliot Lee’s article says that while the Linux kernel developers were using their fork, glibc development stalled for a time. This coincides with the time that FSF spent working on version 2.0, during which there were no official releases for two years. The development progress during this time is noted in the twice-annual GNU’s bulletins that FSF published throughout the 90s.

From the NEWS files, it seems Cygnus Solutions hired Ulrich Drepper to work on it from late 1995 onwards since the January 1996 GNU’s bulletin mentions that Drepper has contributed a lot “in the last few months”.

Glibc 2.0

It looks like glibc 2.0 was released in January or February 1997 (from the dates in the GNU ftp site, from the January 1997 GNU’s bulletin, and from some mailing list discussion archives).

By all accounts, glibc-2.0 surpassed Linux libc on features, standards, and code cleanliness. Elliot Lee’s article goes into most detail on this, citing features such as POSIX compliance, internationalisation support, multithreaded support, IPv6, and 64-bit data access, and library version migration support.

There is an 1998 interview with H.J. Lu about libc5 and glibc. The interview mostly focuses on technical differences and the transition. H.J. is quite positive about glibc 2.0.

Ending

Bruce Perens’ one line comment about the aftermath is that the projects “re-merged”, however, while the communities and contributors may have merged, according to Stallman, little or no code did. According to Stallman, the Linux libc had insufficient records of authorship or copyright ownership for the code they distributed (something the GNU project has always been very strict about), and the Linux libc maintainers were unwilling to sort this out.

In 1997 through 1998 nearly all GNU/Linux systems switched from libc back to glibc. Red Hat migrated in December 1997, and Debian was planning their migration at that time too, according to Lee. And so ended a story that is now rarely mentioned.

Managing your iPod without iTunes

Using free software to unlock your iPod's potential

While iTunes is a powerful application, it does have its limitations, mostly stemming from both Digital Rights Management (DRM) restrictions and the Recording Industry Association of America’s (RIAA) interest in preventing unauthorized copying of music, regardless of fair use and personal flexibility. The free software community believes that the ability to freely copy content you own between your iPod and a computer is a right, not a privilege. In this article, I’ll discuss how to fully manage the content on your iPod using completely free software.

The free software community believes that the ability to freely copy content you own between your iPod and a computer is a right, not a privilege

Other than purchasing content, what other base functionality of iTunes is commonly used? Copying content to your iPod, maintaining playlists, and subscribing to podcasts. If we’re switching applications, we don’t want to lose any basic functionality!

I used a FAT formatted fourth generation 20 GB iPod Version 3.1.1 for testing, so I can’t attest to video functionality. I used Ubuntu 6.10 x86 for my test system, so any installation notes will apply to that context. By default, Ubuntu comes with Rhythmbox, which didn’t work properly with my iPod, so I just removed it.

iPod Managers

There are three applications for managing the contents your iPod that rise to the top: gtkpod, Banshee, and Amarok. While gtkpod is primarily just an interface to the iPod, Banshee and Amarok are fully functional audio players. I’ll concentrate on iPod management rather than a full review of all their features.

gtkpod

gtkpod—Cross-platform iPod interface with a smart playlist editor

gtkpod—Cross-platform iPod interface with a smart playlist editor

gtkpod is a cross-platform interface for the iPod, with support for all iPods through the 5G and iTunes mobile phones. It features a smart playlist editor.

I had no issues with the installation; no configuration was needed, and the iPod showed up correctly. The main view displays a comprehensive, sortable playlist editor. To use, you click the Read button to read the iPod’s iTunesDB, make your changes, then Sync. If you choose, you can also sync specific files, directories, or playlists. Copying music from the iPod to your computer is as simple as right-clicking and selecting “Copy Tracks to Filesystem”. The resulting files were nicely named based on the tags. I copied files by simply dragging and dropping the folder onto the gtkpod window. When I ejected the iPod and checked my changes, everything was there without corruption, and the newly copied files and playlists worked without issue.

By default, gtkpod offers playback of files using XMMS. You can change the command under Preferences→Tools→Play.

gtkpod also comes with a few system utilities. You can also normalize the volume level of your audio files, but as I trust the engineers and producers to set their levels appropriately (let’s not get into compression, that’s a rant unto itself), I wouldn’t recommend it for normal use. I tried it, and it seemed to work. Other useful utilities include a scan for orphaned and dangling files and a quick overview of disk utilization.

Overall, I really like this utility because of its logical interface, ease of use, and lack of bloat.

Amarok

Amarok—GNU/Linux audio player with support for many audio devices

Amarok—GNU/Linux audio player with support for many audio devices

Amarok is a GNU/Linux audio player. While developed initially for KDE, it’s currently desktop independent. One of its advantages is support for many audio devices, including iPod, iRiver, etc. Upon the first run, you’re given the opportunity to set up your library. Unfortunately, out of the box on Ubuntu 6.10, the iPod wasn’t detected, but a quick configuration change made all the difference: Settings→Configure Amarok→Media Device→Add Device→Plugin (Apple iPod), name (iPod), and mount point (/media/ipod).

One of [Amarok’s] advantages is support for many audio devices, including iPod, iRiver...

Copying music from the iPod is as simple as right-clicking and selecting Manage Files→Copy Track to Collection. As it adds files to Amarok’s library, the file is neatly named and placed in an appropriate folder (you’re given the option of which folder naming scheme you’d like). Copying to the iPod from your collection is similarly easy: right-click, Transfer to Media Device, select the Media Device and click Transfer. Amarok automatically checks for duplicate tracks, which is nice. The album cover function works quite nicely, fetching the image from Amazon or another external source. Playlists also work quite well.

Overall, Amarok is a strong tool, and definitely worth considering if you’re looking for both iPod and Library management.

Friday, September 28, 2007

GNU/Hurd--The Free Kernel

Introduction to the Hurd

The GNU Hurd is the GNU project's replacement for the Unix kernel. The Hurd is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux).

Currently, the Hurd runs on IA32 machines. The Hurd should, and probably will, be ported to other hardware architectures or other microkernels in the future.

Advantages of the Hurd

The Hurd is not the most advanced kernel known to the planet (yet), but it does have a number of enticing features:
it's free software
Anybody can use, modify, and redistribute it under the terms of the GNU General Public License (GPL).
it's compatible
The Hurd provides a familiar programming and user environment. For all intents and purposes, the Hurd is a modern Unix-like kernel. The Hurd uses the GNU C Library, whose development closely tracks standards such as ANSI/ISO, BSD, POSIX, Single Unix, SVID, and X/Open.
it's built to survive
Unlike other popular kernel software, the Hurd has an object-oriented structure that allows it to evolve without compromising its design. This structure will help the Hurd undergo major redesign and modifications without having to be entirely rewritten.
it's scalable
The Hurd implementation is aggressively multithreaded so that it runs efficiently on both single processors and symmetric multiprocessors. The Hurd interfaces are designed to allow transparent network clusters (collectives), although this feature has not yet been implemented.
it's extensible
The Hurd is an attractive platform for learning how to become a kernel hacker or for implementing new ideas in kernel technology. Every part of the system is designed to be modified and extended.
it's stable
It is possible to develop and test new Hurd kernel components without rebooting the machine (not even accidentally). Running your own kernel components doesn't interfere with other users, and so no special system privileges are required. The mechanism for kernel extensions is secure by design: it is impossible to impose your changes upon other users unless they authorize them or you are the system administrator.
it exists
The Hurd is real software that works Right Now. It is not a research project or a proposal. You don't have to wait at all before you can start using and developing it.

What the Hurd means

According to Thomas Bushnell, BSG, the primary architect of the Hurd:
`Hurd' stands for `Hird of Unix-Replacing Daemons'. And, then, `Hird' stands for `Hurd of Interfaces Representing Depth'. We have here, to my knowledge, the first software to be named by a pair of mutually recursive acronyms.

Status of the project

The Hurd, together with the GNU Mach microkernel, the GNU C Library and the other GNU and non-GNU programs in the GNU system, provide a rather complete and usable operating system today. It is not ready for production use, as there are still many bugs and missing features. However, it should be a good base for further development and non-critical application usage.

The GNU system (also called GNU/Hurd) is completely self-contained (you can compile all parts of it using GNU itself). You can run several instances of the Hurd in parallel, and debug even critical servers in one Hurd instance with gdb running on another Hurd instance. You can run the X window system, applications that use it, and advanced server applications like the Apache webserver.

On the negative side, the support for character devices (like sound cards) and other hardware is mostly missing. Although the POSIX interface is provided, some additional interfaces like POSIX shared memory or semaphores are still under development.

All this applies to the current development version, and not to the last release (0.2). We encourage everybody who is interested to try out the latest development version, and send feedback to the Hurd developers.

GNASH

The days of Macromedia Flash Playes are gone!!! Get GNASH the latest flash player.



Introduction

Gnash is a GNU Flash movie player. Previously, it was only possible to play flash movies with proprietary software. While there are some other free flash players, none support anything beyond SWF v4. Gnash is based on GameSWF, and supports many SWF v7 features.

The main developer's web site for Gnash is located on the Free Software Foundation's Savannah project support server. This site allows you to file bugs, or view the sources in CVS.

Features

Runs standalone
Gnash can run standalone to play flash movies.
Browser plugin
Gnash can also run as a plugin from within most Mozilla derived browsers, such as Firefox. Gnash also has support for Konqueror.
SWF v7+ compliant
Gnash can play many current flash movies.
Streaming Video
Gnash supports the viewing of streaming video from popular video sharing sites like Lulu.tv or YouTube.com.
XML Message server
Gnash also supports an XML based message system as documented in the Flash Format specification.
High Quality Output
Gnash uses OpenGL for rendering the graphics on the desktop, and AntiGrain (AGG) for embedded framebuffer only devices.
Free Software
Gnash is 100% free software. For more information on the GPL, go to the Free Software Foundation web site.
Better Security
Gnash pays extra attention to all network connections, and allows the user to control access.
Extensable
Gnash supports extending ActionScript by creating your own. You can write wrappers for any development library, and import them into the player.

Microsoft .net framework (What a load of crap)...The emerging Technology DotGNU is here

Free Software for Webservices and for C# Programming


The DotGNU project aims to be for webservices and for C# programs what GNU/Linux is rapidly becoming for desktop and server applications: the industry leader and provider of Free Software solutions.

DotGNU currently consists of three main development projects (further components will be added over time):

  • DotGNU Portable.NET, an implementation of the Common Language Infrastructure (CLI), more commonly known as ".NET", includes everything that you need to compile and run C# and C applications that use the base class libraries, XML, and Systems.Windows.Forms. Currently supported CPUs: x86, ppc, arm, parisc, s390, ia64, alpha, mips, sparc. Supported operating systems: GNU/Linux (on PCs, Sparc, iPAQ, Sharp Zaurus, PlayStation 2, Xbox,...), *BSD, Cygwin/Mingw32, Mac OS X, Solaris, AIX. [Intro] [Download] [Install]
  • phpGroupWare, a multi-user web-based GroupWare suite, which also serves to provide a good collection of webservice components, all of which can be accessed through XML-RPC so that you can easily integrate them into webservice applications of your own.
  • The DGEE webservice server is also moving forward nicely

Major motivations for being involved in DotGNU include:

  • A desire to prevent Microsoft from achieving their stated goal "that the era of 'open computing,' the free exchange of digital information that has defined the personal computer industry, is ending". Read the quotation in context and learn how the Free Software movement works to prevent this disaster. The contribution of the DotGNU project might turn out to be important.
  • A technical interest in webservices, bytecode systems, and compiler construction.
  • A business strategy of using DotGNU, and contributing to DotGNU. DotGNU is part of GNU and thereby protected from coming under the control of any single company.

What is a Free Software?

While many people would still consider this term to mean any "free of cost", or "free as in free beer" software, in the truly *free* software world this terms represents software that comes with the freedoms to use, copy, study, modify and redistribute both modified and unmodified copies of software programs. We usually say "free as in freedom" to emphasize what it is all about.


n contrast to proprietary software, free software can be altered, re-distributed or even re-sold, by anyone. The free software movement (www.fsf.org) is as much a political movement as it is a software movement. Advocates of free software believe all software - and information - has a right to be free. That is free as in freedom and not just free as in no-cost. Source code of free software applications is accessible to all.


As defined by Richard M. Stallman and used by the Free Software Movement, this means software that gives users enough freedom to be used by the free software community. Specifically, users must be free to modify the software for their private use, and free to redistribute it either with or without modifications, either commercially or noncommercially, either gratis or charging a [nominal] distribution fee. Free software has existed since the dawn of computing.


Free software, as defined by Richard Stallman and his Free Software Foundation, can be used, copied, studied, modified and redistributed. It is usually available online without charge or offline for the marginal cost of distribution; however, availability at no charge is not part of the definition.

Working with the GNU's GCC compiler collection in GNU/Linux

The GNU's GCC compiler collection is a bit different from various other compilers that people generally know; the most common one being the Turbo C++ compiler for Windows.

The basic C-program in Turbo C++ 3.0 (blue screen appication) is written as follows:
----------------------------------------------------------------------------
#include"stdio.h" //in the entire post i am using (") instead on (< >)
#include"conio.h"

void main()
{
printf("Hello World");
}
-----------------------------------------------------------------------------
the code is written and then compiled and executed using keys like (Alt+F9) and (Ctrl+F9).


the same code can be written in GNU/Linux:
the steps are:

1.goto desktop and create a file and write this code which prints "Hello World"
-------------------------------------------------------------------------------
#include"stdio.h"
//#include"conio.h" -- this header file doesnt exist in GCC
int main(void)
{
printf("Hello World");
}
-------------------------------------------------------------------------------
2.Save this file as hello.c
3.open the terminal
4.goto the Desktop folder
5.type "gcc hello.c -o hello"
6.then type "./hello"--this gives the output.

Recording, Playing and Converting sounds


First, make sure aumix is installed, and use it to set both the record and play volumes, and make sure the microphone is the record device and not muted. Don't use a GUI mixer -- they sometimes get it wrong.

To record a song from the microphone, just do this:

$ rec mysong.au
If you want to change the volume, use -v, which is a float where >1.0 amplifies, and <1.0>$ rec -v2 mysong.au To play it back, do this:
$ play mysong.au
To convert it to a .wav, do this:
$ sox mysong.au mysong.wav
Sox can also amplify, flanger, phaser, echo, and various other effects.