Sunday, October 28, 2007

Amazing 3D view of linux kernels..



A guided tour of Linux-2.4.5: 9 MB MPEG (384x288, 2000 frames).

From 1.2.0 to 2.4.1: 12 MB MPEG (384x288, 1400 frames).
From 1.2.0 to 2.4.1: 4 MB MPEG (320x240, 1200 frames, low motion).

These are 3D renderings of dependencies in the Linux kernel source code.

Grey boxes are files.
The green tree is the directory structure. The two main hubs are "fs" and "net". The "drivers" tree is not rendered.
Blue lines are function dependencies.
Red lines are variable dependencies.
Yellow flashes show file size modifications.
Green flashes show files being moved across directories.
Red flashes show new files.

How this is done

For each kernel source tree, C files are preprocessed and parsed. Functions and static variables are cross-referenced. The resulting data structures (about 1MB each) are written to disk before rendering.
This takes up to 15 minutes for a recent kernel.
Some C files are excluded manually:
files which do not belong in the kernel (gentbl.c, skeleton.c, scripts, tools, ...)
arch/alpha, ... (only i386)
architecture-dependent drivers
C files which are #include'd (mmap_avl.c, ...).
Layout is done with trivial spring-based techniques. Links are weighted according to how often functions are used. This is why kernel/printk.c, kernel/sched.c etc get placed outside the core.
Color effects are computed by diff'ing successive versions.
The custom 3D renderer uses transparency effects rather than polygons and textures. It runs at interactive frame rates on small kernels.


Timing currently reflects version numbers, not release dates.
Some structure information (e.g. macros) is lost through preprocessing.
Dependencies in __asm__ arguments are ignored.
Preprocessing errors and warnings are ignored.
CFLAGS in local Makefiles are ignored.
Some files in old kernels used to include headers from /usr/include (e.g. stdio.h). They are not processed correctly.
Some drivers won't compile without a proper combination of CONFIG_ #defines. They are not processed correctly.
The parser might be buggy because of unconventional side-effects and remaining reduce/reduce conflicts (i.e. I haven't tested it for any other application).

Interesting facts

There are files with CR/LF carriage returns in some old kernels.
Parsing C is fun. The following code demonstrates exciting features of GNU C used in old versions of Linux:
int a, b;
typedef int t, u;
void f1() { a * b; }
void f2() { t * u; }
void f3() { t * b; }
void f4() { int t; t * b; }
void f5(t u, unsigned t) {
switch ( t ) {
case 0: if ( u )
default: return;


The State of the Linux Gaming Industry

When I read reports on the Linux gaming industry, I can't help but wonder where the Linux gamers are at? Can we find them on the Nintendo Wii or perhaps the Playstation 3 (PS3)? After all, I have heard that PS3 actually works rather well with Yellow Dog Linux.

Now, I fear that if we plan to see the level of acceptance we are seeing with Ubuntu, the Linux gaming industry is going to have to make some tough choices. This will involve the licensing game developers choose, goals and profit models for those who remain open source, and of course, competing with the mega-giants like EA, who is happily working with Apple on the OS X platform .

Enter Loki: The One Best Hope At Porting Popular Windows Games to Linux. Even when considering the number of popular titles in Windows, it was nice to know that we had Loki pulling for the Linux users just a few years ago. Today, they are out of business due to bankruptcy. The remaining players in the non-open source Linux gaming world include " id " ( for now anyway ), Epic Games and others.

Some will argue that this is what these companies get for daring to bring forth a non-open source product to the Linux landscape. Personally, I find this attitude to be elitist and unfortunate as these games were not running on the slow moving mess laughingly called Cedega . No, they ran natively, and many of them ran quite well.

To be fair, it has been over a year since I've tried Cedega on a variety of different distros, but when Cross Over Office is providing me with better results than this option designed for gaming, something is seriously wrong. However, latest reports suggest that things are improving with Cadega.

A Fantastic Game for the Open Source At Heart. If you are tired of playing games like SuperTux and are ready to step up to something with 3D acceleration, great graphics and a gaming engine that offers everything you could want from a first person shooter, look no further. The 'Cube' gaming engine is the first thing to come out of the open source community that actually shows enough detail, a big enough fan base and interest in further development that it could quickly become a cult classic.

Offspring from the Cube Gaming Engine. Already, the Cube engine has generated enough interest to where three popular 'mods' (modifications from the original Cube) have taken shape.

Cube 2: Sauerbraten : This mod is a little less about glamor in gaming and more about a trip back to old-school gaming.

Cube 2: Eisenstern : To some limited degree, I see this as evolving into something even more than a basic single player game. With a little time, money and know-how, we might one day see this evolving into a World of Warcraft type clone. This would likely happen with another mod, though.

AssultCube : Perhaps the mod that will gain the most attention for gamers in the Linux world looking for the most realism in their first person shooter title. AssultCube is a very clean, well designed mod of Cube.

Finding Games, Open Source And Closed. For the uninitiated, locating great games to enjoy in Linux can be a bit troubling. I used to buy mine from Loki. Today, we continue to see two great resources that have weathered the pressures of the Windows gaming industry.

The Linux Game Tome : An old but valued resource that has stood the test of time. Despite the lack of clear gaming categories, this remains the king of gaming sources in my world.

Liberated Games : A resource that provides games for multiple platforms, some of which may already appear on the 'Tome' above. Liberated Games is still a good place to check out to see if anything has been released that is worth checking out.

All in all, the state of the Linux gaming industry is improving substantially, but it will take sometime before gaming giants, such as EA, focus on Linux and take it seriously as a platform. In the meantime, just like with everything in Linux, it's up to the community to band together and show enough demand for the heavyweights, or at least open source developers, to take notice.

Wednesday, October 24, 2007

FreeBSD 7.0-BETA1 Available

FreeBSD® is an advanced operating system for x86 compatible (including Pentium® and Athlon™), amd64 compatible (including Opteron™, Athlon™64, and EM64T), UltraSPARC®, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX® developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.

Download AMD64 version

Saturday, October 20, 2007

Top 10 Colleges for Gaming

The folks at Global Gaming League have compiled a very impressive list of the top 10 colleges that excel at gaming. They actually did a survey of students at many universities, so this is a real and factual list. We’re not talking about universities that teach gaming, rather ones with strong gaming culture among students with gaming clubs, frequent LAN tournaments, a fast campus Internet connection and other factors that embrace such tech trends.

But a growing number of students are choosing colleges based on their compatibility with video gaming. Super hi-speed connections and dedicated servers, big-screen TVs in lounges, gaming-related classes, social events centering around LAN parties and perks like free download licensing are increasingly part of the lure of certain schools.

That video gaming is now a consideration should not be surprising. These students grew up on video games and grew accustomed to a large part of their entertainment being delivered by multiplayer games instead of television, movies, books or other media They are an elusive, fickle and important demographic in today’s advertising markets, and choosey gamers are now an established subculture on U.S. campuses.

You can read the full list of details at GGL but here are the top 10.

1.University of Texas - Austin, Texas
2.Penn State University - State College, Pennsylvania
3.Rochester Institute of Technology - Rochester, New York
4.University of California at Los Angeles - Los Angeles, California
5.Digipen Institute of Technology - Redmond, Washington
6.University of Southern California, Los Angeles, California
7.Georgia Institute Of Technology - Atlanta, Georgia
8.University of Minnesota, Twin Cities campus - Minneapolis, Minnesota
9.University of Michigan, Dearborn Campus - Dearborn, Michigan
10.Full Sail Real World Education - Orlando, Florida

It’s no surprise that UT at Austin is on the list. Many of my friends from Houston attend UT and I know first hand what the gamer community is like there. With over 50,000 students, it’s impossible to avoid having a strong gaming environment. I was also pleased with the fact that Georgia Tech made it on the list. At the beginning of every year they hold a LAN party in the library for the freshmen. Many students at Georgia Tech are gamers as well, even the frat guys and sports jocks.

If that wasn’t enough to convince you that Tech is a top ten gaming school, consider its blazing Internet connection. Tech’s connection is so good that another local university piggybacks off its backbone. The reality is that the only thing keeping Tech out of the top five is its poor geographical location. The Atlanta gaming scene is fairly barren.

As far as a design curriculum, Tech has signed on as part of Microsoft’s new XNA development scheme, a new set of tools provided by the software giant to facilitate game design for its console and PC platforms. Tech will begin incorporating some of the development tools for the Xbox 360 into its classes this fall, but it did not have a very well-established game development program prior to this year.

Wednesday, October 17, 2007

Seven steps to increase Linux security

Ask a network administrator in any large organisation to compare Linux with network operating systems like Windows NT or Novell Open Enterprise Server, and chances are he'll admit that Linux is an inherently more stable and scalable solution. Chances are he'll also admit that when it comes to securing the system from outside attack, Linux is possibly the most difficult of the three to work with.

This perception is not an uncommon one -- many network administrators new to Linux find it hard to transition from a point-and-click security configuration interface to one based on editing complicated and hard-to-locate text files. Most administrators are well aware of the need to manually put in roadblocks and obstacles to trip up would-be hackers and ensure that your company's data stays secure; it's just that in the unfamiliar Linux world, they're not completely sure of their bearings or where to start.

That's where this document comes in. It outlines some easy things administrators can do to make their Linux server more secure and significantly reduce the risk they face. This tutorial lists seven such items.

1. Protect the root account
The root, or superuser, account on a Linux system is like a backstage pass at a Stones concert -- it allows you access to anything and everything. For this reason, it's well worth taking extra steps to protect it. Start by setting a hard-to-guess password for this account with the passwd command, change it on a regular basis, and restrict knowledge of the password to a few (ideally, only two) key people in the organisation.

Next, restrict the terminals that can be used for root access, by editing the file /etc/securetty. To avoid users leaving a root terminal "open", set a timeout for inactive root logins by setting the TMOUT local variable, and ensure that the root command history file (which might contain sensitive information) is disabled by setting the HISTFILESIZE local variable to 0. Finally, enforce a policy of using this account only to perform specific administrative tasks, and discourage users from logging in as root by default.

Tip: Once you've closed these holes, the next step is to require that every normal user account must have a password and ensure that passwords do not use easily-recognisable heuristics such as birthdays, user names or dictionary words.

2. Install a firewall
A firewall lets you filter data packets travelling in and out of your server and ensures that only those packets matching pre-defined rules are permitted to enter or exit. A number of excellent firewalls are available for Linux, and firewall code can even be compiled directly into the kernel. Begin by defining input, output and forwarding rules for packets leaving and entering your network, using the ipchains or iptables commands. Rules may be specified on the basis of IP addresses, network interfaces, ports, protocols or combinations of these attributes; these rules also specify what action (accept, reject, forward) to take when a match occurs. Once the rules are installed, test the firewall extensively to ensure that no holes exist in it. A good firewall is your first line of defence against common attacks like the distributed denial of service (DDoS) attack.

3. Use OpenSSH for network transactions
An important issue in client-server architecture involves the security of data being transmitted over the network. If network transactions take place in plaintext, it is possible for a hacker to "sniff" the data packets being transmitted and thus gain access to sensitive information. You can close this hole by using a secure shell utility like OpenSSH to create a secure encrypted "tunnel" for your data to pass through. Encrypting your connections in this manner makes it extremely hard for unauthorised users to read the data going back and forth between network hosts.

4. Disable unwanted services
Most Linux systems are installed with a wide variety of different services enabled, such as FTP, telnet, UUCP, ntalk and so on. In most cases, these services are rarely used and leaving them active is like leaving your windows open for a burglar to slip in. You can disable these services by commenting them out in the /etc/inetd.conf or /etc/xinetd.conf files and then restarting the inetd or xinetd daemon. Additionally, some services (for example, database servers) may start up by default during the boot process; you can disable these by editing the /etc/rc.d/* directory hierarchy. Many experienced administrators disable all system services, only leaving SSH communication ports open.

5. Use a spam and anti-virus filter
Junk e-mail and viruses annoy your users and can sometimes cause critical network failures. Linux is surprisingly resistant to viruses, but client machines running Windows may be more susceptible. Therefore, it's a good idea to install a spam and virus filter on your mail server itself, to "defang" suspicious messages and reduce the risk of a chain of collapses.

Begin by installing SpamAssassin, a leading open-source tool that uses a combination of different techniques to identify and flag spam; the program also supports user-based whitelisting and graylisting for greater accuracy. Next, install procmail for user-level filtering based on regular expressions; this tool allows automatic filtering of received email into mailboxes, at both a user and system level. Finally, install Clam Anti-Virus, a free anti-virus toolkit that integrates with sendmail and SpamAssassin and supports on-access scanning of email attachments.

6. Install an intrusion detection system
Intrusion detection systems (IDS) are early warning systems that let you know if changes occur on your network. They're a great way to identify (and prove) attempts to break into your system, although at the cost of increased resource consumption and potential red herrings. There are two fairly well-known IDS' you can try: tripwire, which tracks file signatures to detect modifications; and snort, which use rules-based directives to perform real-time packet analysis and search and identify attempts to probe or attack your system. Both packets can generate e-mail alerts (among other actions) and are useful when you suspect your network is being compromised but need definitive proof.

7. Perform regular security audits
When it comes to securing your network, this final step is possibly the most important. Here, you put on a black hat and do your best to circumvent the defences you erected in the previous steps. Doing this provides you with an immediate and objective assessment of how hard your system really is, and identifies potential vulnerabilities that you should fix.

A number of tools are available to help you in this audit: you can attempt to hack your password files using password crackers like Crack and John the Ripper; you can use nmap or netstat to look for open ports; you can sniff the network using tcpdump; and you can try exploiting publicised holes in your installed programs (Web server, firewall, Samba) to see if they offer a way in. If you do manage to find a way past your obstacles, rest assured that others will too; take immediate measures to close the openings.

Protecting your Linux system is an ongoing task, and so you shouldn't rest easy once you've done the steps above. Visit the Linux security forums for more security tips, and be proactive in monitoring and updating the security of your system. Good luck!

Tuesday, October 16, 2007

25 Reasons to Convert to Linux

Businesses, educational institutions, governmental agencies and other organizations around the world are converting1 their computer operating systems from Microsoft Windows to Linux at an increasing pace. They are likewise converting their application programs from commercial software to free software (also referred to as open source software). There are at least 25 reasons for this situation, including:

(1) Because it is licensed under a free software license2, Linux (as well as other free software) is available at no cost. It can be downloaded from the Internet for free, and it can be purchased in disk or box form at trivial cost. One copy can be used on as many computers as desired with no restrictions. This is in sharp contrast to Microsoft Windows, which can easily cost US$100 or more per computer.

(2) Because it is free software, Linux is also free in the sense that anybody is permitted to modify it, including its source code, in any way desired. If modified versions are not redistributed (i.e., given away or sold outside of an organization), they can be kept secret. This is also in sharp contrast to Microsoft Windows, for which modification of the software is generally not permitted. Source code is the original version of a program as it is written by a programmer using a programming language and before being converted by a compiler into a form such that its instructions can be understood directly by a computer's CPU (central processing unit); it is generally necessary to have the source code in order to be able to make changes to a program. This ability to freely experiment with and modify the source code, and to do so without disclosing the modifications to outsiders, has been a very important consideration for a number of large organizations3.

(3) High quality support for Linux is available for free on the Internet, including in newsgroups and other forums. Some people claim that this support is at least as good as that provided for proprietary (i.e., commercial) operating systems for a fee. Linux support can also be purchased on a commercial basis if desired. Among the types of support that can be required for operating systems are help with customization, assistance in installing new programs, patches to cope with new security threats and patches to fix newly discovered bugs (i.e., defects). Fortunately, the need for the last two types is relatively infrequent for Linux.

(4) There is little possibility that support for Linux will be discontinued at some future date due to planned obsolescence or for any other reason. This is because the source code will always be available to anyone who wants it, including individuals who provide support for free over the Internet and businesses which provide it for a fee. In contrast, with Microsoft Windows and other proprietary software for which the source code is usually kept secret, obtaining support becomes difficult (from both a technical and a legal point of view) if the developer decides to withdraw it (for example in order to try to force users to pay for upgrades to newer versions).

(5) There is little or no fear of major obsolescence, planned or otherwise, with Linux. This is because the UNIX architecture on which it is based has been exhaustively tested and refined for more than 35 years and has proven to be extremely efficient, robust and secure. Improvements continue at a rapid pace, but new versions remain basically compatible with the underlying UNIX architecture.

(6) There are no forced upgrades4 for Linux users. This because older versions continue to be supported (e.g., with the development of new security patches and device drivers) and because newer versions, if desired, are available for free (as is all free software) and are typically highly compatible with older versions. The developers of proprietary software, however, have strong financial incentives to engage in planned obsolescence, namely, in order to induce users of earlier versions to spend money to buy or lease new versions.

(7) Should a user decide to upgrade to a newer version of Linux, there are no licensing fees or other software costs if the user selects a free distribution (i.e., version). Moreover, the training, program modification/conversion, hardware acquisition and other costs associated with upgrading to a new version are also relatively low due to the compatibility with earlier versions.

(8) Linux has no onerous requirements for keeping track of licenses. In a company with hundreds or thousands of computers, a number of full time personnel can be required just to make sure that all of the computers in use are in compliance with the complex licensing terms of the EULAs (end user license agreements) for Microsoft Windows, Microsoft Office and other proprietary software. And for Linux users there is no fear of surprise audits by the BSA (Business Software Alliance)5, with possible severe penalties for minor license violations.

(9) Linux features superior security, including a very low rate of infection by viruses, trojans, worms, spyware and other malware. This is because UNIX and all of its descendants (including Linux) been designed from the ground up with security in mind, rather than having attempts at security tacked on as an afterthought. For example, users do not routinely use the system as the root (i.e., administrative) user, thereby protecting key system files even in the event of a break-in by a malicious intruder. Also, a robust firewall is included in major distributions and it is enabled by default. Another important factor is the free availability of the source code, which allows thousands of people around the globe to search for security vulnerabilities in it6.

(10) Linux is highly resistant to system crashes and rarely needs rebooting (i.e., restarting). This can be very important for large organizations for which even a few minutes of down time can result in a substantial cost. The reason is that Linux has been designed from the ground up to be an extremely stable and robust operating system, incorporating all that has been learned about attaining these goals from the more than 35 years of history of Unix-like operating systems.

(11) Although the number and variety of application programs for Linux are not yet as large as those available for the Microsoft Windows operating systems, an extensive selection already exists and it is continuing to increase rapidly as more and more developers start creating programs for Linux. Most Linux applications are also free software (including nearly all of the most popular ones), and many have features and performance equal or superior to those of comparable applications for use with Microsoft Windows. In fact, users often find that all the applications that they want are freely available on the Internet and that it is no longer necessary to purchase any commercial software.

(12) There is a choice of numerous distributions (several hundred) of Linux, each with its own unique set of characteristics but all basically compatible with each other. This allows users to select the versions which best meet their specific requirements. It also means that if one provider of Linux were to go out of business, there would still be many others from which to choose. Moreover, it fosters a healthy competition among them, thereby contributing to the continuous improvements in Linux's quality and performance. If the choice seems overwhelming, it is usually difficult to make a mistake by selecting one of the most popular distributions, such as Red Hat or SuSE.

(13) Linux features a high degree of flexibility of configuration, and a great deal of customization can be accomplished very easily and without having to modify the source code. For example, it is a simple matter to configure Linux during installation so that it will be optimized for use as a workstation, desktop computer, notebook computer, web server, database server or a router. Likewise, the appearance and behavior of the desktop, including icons and menus, can be configured in an almost infinite number of ways, according to user tastes or requirements. They can even be made to resemble Microsoft Windows. Should this not be enough, the ability to freely access, revise and recompile the source code allows virtually unlimited flexibility of configuration.

(14) Linux and other free software uses open format file formats. These are formats for word processing, spreadsheet and other file types that conform to industry-wide standards and which can be used by any developer of software to create compatible programs, in contrast to the closed formats commonly used by some proprietary software. This eliminates the problem of lock-in to proprietary standards, with the consequent difficulty and expense of switching to other software in the future. It allows the user to have complete control of its data, particularly in the event that at some future date the developer who originally created the software goes out of business or stops supporting its earlier software.

(15) Linux is generally faster for a given set of hardware specifications. This is due to greater optimization of the source code, including far less code bloat.

(16) Linux features a high degree of compatibility with other operating systems. For example, it can read, write, copy, erase and otherwise manipulate data that resides on Microsoft Windows partitions on the same hard disk drive (HDD), act as a Windows server for a network containing Windows clients, format disks for use with Windows, and even run Windows programs directly if necessary. In contrast, the Microsoft Windows operating systems cannot access HDD partitions that contain other operating systems, cannot format disks for other operating systems, etc.

(17) Very high ethical standards are maintained for Linux and other free software, in large part due to the very openness of their development process and the free availability of the source code. Linux has never been convicted in a Federal court of violation of U.S. antitrust laws or other crimes, nor has it had to pay penalties for the unauthorized copying of technology developed by other companies. Antitrust refers to government policy to regulate or break up monopolies in order to promote free competition and attain the benefits that such competition can provide to the economy and to society as a whole.

(18) Linux reduces the need to upgrade or replace hardware when upgrading to newer versions. This is because its code is very efficient and compact, thus allowing it to work effectively on older computers that are not suitable for the newest versions of Microsoft Windows.

(19) Linux is capable of operating on a wide variety of platforms (i.e., processor and system types), rather than just being limited to Intel-compatible processors and computers. It scales well and is well suited for use on a diverse array of equipment ranging from supercomputers to industrial robots to electronic medical equipment to cell phones (and can even run on a wristwatch).

(20) Linux is a superior choice for use in academic institutions for a number of reasons. Among them is the fact that there are no secrets (in sharp contrast to proprietary software), thereby providing students the opportunity to study how computers really work rather than to just learn how to use them. Many educators are convinced that it is far more important for students to study computer science fundamentals than to practice specific applications (such as Microsoft Word or Microsoft PowerPoint). One reason is that computer science fundamentals will still be valid many years from now, whereas the specific application programs, especially the proprietary ones that do not conform to industry-wide standards, are constantly changing and those currently in use will likely become obsolete in a few years7.

(21) For governmental agencies, Linux and other free software allows for transparency of data because it stores the data in formats consistent with industry-wide standards. This is in contrast to the proprietary, closed formats characteristic of commercial software. Such transparency is important for maintaining an effective democracy. Keeping non-secret data in standards-compliant formats allows anyone to access it without having to purchase expensive proprietary software. Also, storing secret data in standards-compliant formats is widely regarding as being more secure than keeping it in proprietary formats.

(22) With Linux and other free software there is little reason to fear the existence of backdoors, in large part because all of the source code is available for inspection. A backdoor is a secret method for obtaining remote access to a computer. There is a (not unjustified) concern by many foreign governments and corporations that back doors have been covertly inserted into proprietary software that could allow the software developer and agencies of other governments to snoop into their most confidential data.

(23) Using and advocating Linux helps foster a healthy diversity and increased competition throughout the software industry. Such competition can promote technological advance, improve performance and lower costs for open source software and proprietary software alike. Both economic theory and hundreds of years of real-world experience clearly show that monopolies have little incentive to innovate, tend to produce shoddy products, charge inflated prices and tend to corrupt the political system.

(24) Linux and other free software have not only caught up with, or some cases surpassed, their proprietary counterparts, but they are also developing at a faster pace8. This trend will accelerate as demand for such software continues to grow and more and more individuals and organizations become actively involved it its development.

(25) Linux and other free software provide the opportunity for users to contribute to the advance of software technology because the source code is freely available to study, improve, extend and redistribute. This has been fairly common, and the most notable corporate example has been IBM. In addition to giving back to the software community and being a virtue in itself, such contributions can have great public relations value.

(26) There are actually more than 25 reasons that organizations around the world are converting to Linux and other free software. A twenty-sixth reason is that with Linux, in contrast to the Microsoft Windows operating systems, there is no need to defragment HDDs. Fragmentation, which is the spreading of data into non-contiguous locations on a hard disk drive, can reduce the efficiency of data storage and slow down computer operation. Defragmentation is not difficult, but it can be an annoyance to have to do it periodically, and it is unnecessary with a well designed operating system.

There are also several situations in which businesses and other organizations might benefit from converting their operating systems from Linux to Microsoft Windows:

(1) An organization that is downsizing its operation and already has valid but unused licenses for Microsoft Windows might be able to reduce personnel costs by replacing its Linux experts with Windows administrators, as the latter can generally be hired for significantly less than Linux administrators.

(2) Were Microsoft to offer an organization an extremely low cost incentive package, including providing long-term licenses (and upgrades) at nominal cost, paying for new hardware and providing free training and support, this could be a very attractive proposition. In fact, it could be a win-win situation because of the great publicity value that could accrue to Microsoft from a company or other organization converting from Linux to Windows.

Sunday, October 7, 2007

Urchin Fans are Getting Impatient with Google

A major upgrade to Google Inc.'s Urchin Web analytics server software is almost three years late and customers who bought the product worry that Google's silence and inaction may mean it will be discontinued.

Google acquired Urchin Software two and a half years ago, and since then has focused mostly on its hosted software-as-a-service (SAAS) product and apparently little on its packaged server software, upsetting the latter's customers.

One concerned company is United Diamonds Inc., which spent about US$10,000 for the core Urchin software, additional modules and a support contract several months before Google acquired Urchin in March 2005.

For the Sun City, California, diamond vendor, which has about 25 employees, this was a significant expense, said United Diamonds principal Bruce Larsen.

Still, the company justified the purchase because its Web site is its primary sales channel and it needed a clear view into its usage by visitors and potential customers, Larsen said.

Companies use Web analytics software to track, measure and analyze their Web sites' traffic. This information can help a company decide how to modify its site's layout to increase sales, as well as evaluate the effectiveness of online advertising campaigns.

In addition to Urchin's technology, United Diamonds also liked that, as a vendor, Urchin seemed like a good partner, Larsen said. Unfortunately, things didn't turn out as Larsen expected.

A major upgrade to the software -- Version 6.0 -- due in late 2004 still hasn't been released. Even worse, Google won't say when, or even if, version 6.0 will ship.

"We are constantly looking at ways to improve our products and functionality, but we have nothing further to announce at this time," said Brett Crosby, Google Analytics senior manager, in a statement e-mailed by the company's public relations department.

Version 6.0 was the primary motivation behind United Diamonds' decision to spend extra on the support contract, which included upgrades at no extra charge. United Diamonds didn't renew that contract because it didn't receive the 6.0 upgrade.

Moreover, Larsen finds it very difficult to communicate with Google, particularly after his Urchin sales contact left. Google invariably addresses his queries about version 6.0 and product plans with vague answers.

"It was a major investment, and we were looking to establish a long-term relationship with Urchin. I didn't imagine [this would happen] only a few months after that purchase," Larsen said.

Shawn Lee, an applications support specialist in the University of Illinois' Administrative IT Services department, is also uneasy about Google's silence over the product road map. Lee's department also bought the Urchin software before Google's acquisition.

"I wish Google would disclose their plans instead of keeping their current customers in the dark," Lee said via e-mail. "They are completely mum about release timelines."

An assortment of complaints from customers about Urchin 6.0's delay can be found in blogs and forums, including this discussion thread.

Google prefers the SAAS hosted model over the traditional packaged software model. In the SAAS model, vendors host software, saving customers from having to install and maintain applications, a benefit Google often touts when promoting its hosted products.

This preference for the SAAS model probably explains why Google has done seemingly little with the Urchin packaged software, while releasing regular upgrades and improvements to the product's hosted version, which is now called Google Analytics and is free.

However, Larsen and Lee prefer the packaged software version, which they call a fantastic, solid product, although at version 5.7 it hasn't been upgraded since 2005. Urchin 5.0 shipped in mid-2003.

United Diamonds chose the packaged version because it allows the company to keep customer data in its own servers. "We feel more secure knowing the data is protected by us," Larsen said.

Moreover, having the software on the company's premises gives United Diamonds more control over it, like the ability to tweak it as needed, Larsen said.

In a September 2004 news release announcing version 6.0 of the hosted software, Urchin promised to deliver the 6.0 packaged version upgrade by "late 2004."

A Google spokeswoman said that, since the acquisition, Google itself has never given Urchin customers even a "ballpark" shipping date for the 6.0 upgrade.

Google declined to say how many businesses use the Urchin packaged software. Prior to the acquisition, Urchin, which was founded in 1995, claimed over 20 percent of Fortune 500 companies as clients.

Google's Crosby acknowledged that "there is still a lot of demand for Urchin in the marketplace," and the company markets Urchin 5.7 by offering a 30-day free trial license.

Google refers customers to its channel partners if they want to buy the software.

Monday, October 1, 2007

Top 27 cool apps to install on Ubuntu..

Ubuntu 7.04 is undoubtedly one of the most popular Linux distribution especially for Linux newbies , now overall it is extremely usable and good but a very limited number of applications are by default shipped with Ubuntu 7.04 .In this article we look at a number of really good applications that are not shipped by default with Ubuntu as well as instructions on installing them : -

Installing/Enabling additional Repositories

                    Now many applications need additional repositories to be installed or some to be enabled in Synaptic package manager so before trying out steps given below ensure that repositories in order.

launch Synaptic Package Manager (System -> Administration -> Synaptic Package Manager ) , then in Synaptic package manager go to (Settings -> Repositories ) you will find window like this .

    Ensure that all the check boxes are marked leaving source code(if you want to you can enable this also but you are not going to need this unless you are software developer) the dialog box should look like this .

Now you have to add additional repositories , close synaptic package manager and type the following command in the terminal window (Application -> Accessories -> Terminal )

wget -q -O- | sudo apt-key add - ¨


sudo wget -O /etc/apt/sources.list.d/medibuntu.list

after completing above steps type

                                            ¨ sudo apt-get update ¨

Now your system should be ready for installing extra codecs .

1.Deluge-Torrent Client

Deluge is a nice Bittorrent client for Linux and Unix , it has been created using Python and GTK+ . It was created with intentions of providing a full featured bit torrent client for GTK based environment like Gnome and XFCE infact it was initally called gTorrent but then name wa slater changed as gTorrent gave indications it was only Gnome based torrent client .
Some of the features of Deluge Torrent is : -
  • Torrent creation built into main client
  • Plugins implemented as modules
  • Encryption in many ways at many levels
To install type the following command in the terminal window : -
                               sudo dpkg -i deluge-torrent_0.5.2-1_i386.deb
However if u find some dependency error type
                                                   sudo apt-get -f install
To correct dependencies
After completing above step launch deluge from (Application -> Internet -> Deluge Bittorrent Client )

2.Wine doors

                                Wine Doors is an application that is still in early stage of development but allows easy installation and managing of Windows application on Linux desktop .
This what Wine Doors Website has to say : -
Wine-doors is an application designed to make installing windows software on Linux, Solaris or other Unix systems easier. Wine-doors is essentially a package management tool for windows software on Linux systems.
Since Wine-Doors is basically to manage applications installed through wine and simplify their installation through wine so installing wine is must (provided you dont have wine installed already)
 To install Wine : -
                              sudo apt-get install wine
And after completing above step type the following command in the terminal window to install Wine-Doors
                                         sudo dpkg -i wine-doors_0.1-1_all.deb

After completing above steps launch Wine-Doors from Applications -> System-Tools -> Wine-Doors .Now Wine-Doors would download and install some necessary apps and when all this inital confiuguration is over you would find a dialog like this providing you a easy way of installing a number of popular windows application.


This is the WinAmp alternative for the Linux platform and has been in existence for quiet some time now , it is based on mpg123 library for playing mp3 files . The application has look similar to winamp application and can be beautified with a number of skins , also XMMS supports a large number of plugins that add extra functionality to the player. Besides having ability to play mp3 files it can be used for plying WMA files also by installing external plugin.(
To install XMMS type the following command in the terminal window :-
                                   sudo apt-get install xmms
and after completing above step launch XMMS from (Applications -> Sound & Video -> XMMS )


                     Synfig is open source 2D animation and graphics program , Synfig allows easy creation of animation on Linux platform . It is still in early stages of development but still feature set it provides now is very impressive .
Text taken from Synfig website : -

2D Animation has traditionally been very expensive because every frame must be drawn by hand. Even with today's digital inking and painting software, the process still relies on individuals hand-drawing each frame. This laborious task is called “tweening”.

Our animation technology eliminates the task of manual tweening, producing smooth, fluid motion without the animator having to draw out each frame individually.

This allows you to produce 2D animation with fewer people while producing a product of a higher quality.

                To install Synfig type the following command in the terminal window : -
                                           sudo apt-get install synfig
                                        sudo apt-get install synfigstudio

and after completing above step launch Synfig from (Applications -> Graphics -> Synfig Studio )

                               Songbird is a extremely user friendly music player based on
on Mozilla's XULRunner platform and is cross platform it has a number of really good features and also has integrated web browser .

6.Quod Libet : -
                    Quod Libet is an extremely versatile music player based on GTK+ that is extendible via plugins , has a rich feature set and has really unique feature of building playlist by searching for particular kind of music files based on search terms or regular expression . It has been programmed in Python programming language and hence it's plugin are also created in Python. A number of plugins are available including ones that help in copying songs to digital audio players , plugin , advanced editing features and many more .
Quod Libet uses GStreamer framework of GNOME to play audio files and hence integrates quite well the the GNOME desktop environment , also audio format supported would be same as the one supported by GStreamer so you may want to install mp3 support since by default many linux distributions these days dont come with mp3 support installed.
To install Quod Libet type the following command in the Terminal Window : -
                                                       sudo apt-get install quodlibet
and after completing above step launch quod-libet from (Application -> Sound & Video -> Quod Libet )

Quod Libet Website : -


                             Inkscape is very powerful vector graphics editor available on Windows , Linux and Mac OS X . It is free and open source . Its stated goal is to become a powerful graphic tool while being fully compliant with the XML, SVG and CSS standards.
Inkscape is an Open Source vector graphics editor, with capabilities similar to Illustrator, Freehand, CorelDraw, or Xara X using the W3CScalable Vector Graphics (SVG) file format. Supported SVG features include shapes, paths, text, markers, clones, alpha blending, transforms, gradients, patterns, and grouping. Inkscape also supports Creative Commons meta-data, node editing, layers, complex path operations, bitmap tracing, text-on-path, flowed text, direct XML editing, and more. It imports formats such as JPEG, PNG, TIFF, and others and exports PNG as well as multiple vector-based formats. standard

                                To install inkscape type the following command : -
                 sudo apt-get install inkscape
and after completing install launch inkscape from (Application -> Graphics -> Inkscape Vector Illustrator )

visit their website :-

                     aMSN is a MSN Messenger clone for Linux operating system , it tries to emulate look and feel of MSN messenger as close as possible allowing linux newbies to use aMSN easily .
aMSN has features not present in MSN Messenger. Users can set alarms, are able to see others who have removed them from their contact list, and are able to open many profiles at once. It is also very customizable, with extensions and themes available at the main site.
To install aMSN type the following command in the terminal window : -
          sudo apt-get install amsn
and after completing installation launch aMSN from (Applications -> Internet -> aMSN )


GIMPshop is a modification of the free/open source graphics program GNU Image Manipulation Program (GIMP), intended to replicate the feel of Adobe Photoshop. Its primary purpose is to make users of Photoshop feel comfortable using GIMP.
This is what developer had to say : -
"My original purpose for GIMPshop was to make the Gimp accessible to the many Adobe Photoshop users out there. I hope I’ve done that. And maybe along the way, I can convert a Photoshop pirate into a Gimp user."

GIMPShop tries to replicate Photoshop's interface as close as possible , hence many tutorials designed for Adobe Photoshop could be followed for GIMPshop !! . Now besides all the interface change it adds naming convection similar to photoshop to Gimp . Other than this all the features of GIMP are preserved .Like GIMP which is crossplatform and runs on Windows , Linux , OS X ,Solaris GIMPshop too is crossplatform .

Since GIMPshop is based on GIMP so it has all the features of GIMP .
To install GIMPShop type the following command in the terminal window : -
sudo wget
 sudo dpkg -i gimpshop_2.2.11-1_i386.deb
   in the terminal window.


Comical is extremely user friendly comic reader allowing you to read CBR and CBZ comics easily on your linux desktop . It has been created using wxWidgets .
To install Comical type the following command in the terminal window : -
          sudo dpkg -i comical_0.4-1_i386.deb


TuxPaint is extremely simple graphical bitmap editor for children as young as 3 years old . The user interface is intuitive with bright icons , audible feedback, textual hints and brightly colored. Also there is cartoon Mascot to keep children interested .
It has a number of really interesting features , including one which allows teachers to turnoff certain features of TuxPaint . Also there is an option for allowing slideshow to be seen as flip book animation .
To install Tuxpaint type the following command in the terminal window :

sudo apt-get install tuxpaint

and after completing above step launch tuxpaint by typing tuxpaint in the terminal window .


Audacity is open source cross platform software for recording and editing sound files . The Graphical interface of Audacity was created using wxWidgets library .

some of Audacity's features include:
  • Importing and exporting WAV, AIFF, MP3 (via the LAME MP3 Encoder, downloaded separately), Ogg Vorbis, and other file formats
  • Recording and playing sounds
  • Editing via Cut, Copy, Paste (with unlimited Undo)
  • Multi-track mixing
  • Digital effects and effect plug-ins. Additional effects can be written with Nyquist
  • Amplitude envelope editing
  • Noise removal
  • Support for multichannel modes with sampling rates up to 100 kHz with 24 bits per sample
  • The ability to make precise adjustments to the audio's speed, while maintaining pitch, in order to synchronise it with video, run for the right length of time, etc.
  • Large array of plug-ins available

To install Audacity type the following command in the terminal window : -
 sudo apt-get install audacity
After completing install launch audacity from (Applications-> Sound & Video -> Audacity )


GCompris is a educational software for children and has a number of activity to keep children engaged , activities like : -
  • omputer discovery: keyboard, mouse, different mouse gesture, ...
  • Algebra: table memory, enumeration, double entry table, mirror image, ...
  • Science: the canal lock, the water cycle, the submarine, electric simulation, ...
  • Geography: place the country on the map
  • Games: chess, memory, connect 4, oware, sudoku ...
  • Reading: reading practice
  • Other: learn to tell time, puzzle of famous paintings, vector drawing, cartoon making, ...
To install type the following command in the terminal window : -
        sudo apt-get install gcompris
After completing above step launch GCompris from (Application -> Games -> Educational Suite GCompris )

14.Adobe Reader
                 On Ubuntu/Linux a number of good pdf reader exist that are quite functional and less resource hungry as compared to Adobe Reader , However if you still want to install Adobe Reader 7.0. you can either download package from adobe website or type the following command in the terminal window .

However note ,
the following command would only work if Medibuntu repositories are configured properly so be sure you have installed it correctly as described in the beginning of article .

                                        ¨sudo aptitude install acroread ¨


        Nvu is one of the most popular
WYSIWYG HTML editor available on Windows and Linux and is open source and free . Nvu is based on Composer component of Mozilla Application Suite . Nvu allows novice or beginners who have little or no knowledge of CSS/HTML to create attractive web pages .Nvu was started by Linspire . As of now Nvu development has ceased and there is a project called Kompozer which if fork of Nvu and is unoffical bug-fix release of Nvu .

To install Kompozer type the following command in the terminal window : -

wget -c
   tar -xvzf kompozer-077-i686.tgz

sudo mv kompozer /opt/
sudo ln -s /opt/kompozer/kompozer /usr/bin/kompozer

After completing above steps
type kompozerIn the terminal window to launch Kompozer .

16.Google Earth
                                  To install Google Earth type the following command in the Terminal Window (Application->Accessories -> Terminal ),keep in mind that googleearth is downloaded from Medibuntu repositories and not Ubuntu hence be sure you have activated the repositories correctly as described in first step of this article.
sudo aptitude install googleearth"

After downloading is over you will get a screen like this press ¨Yes¨ to accept the license agreement and complete software installation.

Now you can launch Google Earth from (Application -> Internet -> Google Earth)


Realplayer is one of the most popular cross platform media player available on Windows,Linux , Mac OS and a number of other platform . RealPlayer plays popular .rm ,rmvb,.mp3 and other media formats.
To install RealPlaye r first download RealPlayer10GOLD.bin file from the following website assuming you have downloaded it to your home directory .

After installation is over type
¨chmod +x RealPlayer10GOLD.bin¨

¨sudo ./RealPlayer10GOLD.bin¨

for installation to begin . Follow the instructions as presented to complete installation .
After installation is over you can launch Real Player from (Application -> Sound & Video -> Real Player 10 ).


This is also a lightweight PDF viewer that is based on poppler library ( Same library that xpdf uses for rendering of PDF files), it's interface is neat and fast and renders pdf files quickly .
To install ePDFView type the following command in Ubuntu : -
       " sudo apt-get install epdfview "

after above step is completed you can launch epdfview from (Applications -> Office -> ePDFViewer) .


Abiword is a lightweight word processor created using GTK libraries , it is part of Gnome Office and have been available on Linux platform for a long time . It is crossplatform and is available on Windows , MacOS X ,BeOS and other Operating System . It's interface is similar to Microsoft Word and new users of Abiword should not have any significant difficulty in moving from Microsoft Word to AbiWord.

AbiWord is packaged with several import/export filters, including Rich Text Format, HTML, OpenDocument and LaTeX (export only). Plug-in filters are available to deal with many other formats, notably WordPerfect (wpd) documents. The native file format uses XML .

To install AbiWord
  sudo apt-get install abiword

After completing above step launch abiword by going to (Application -> Office -> Abiword Word processor) .

AbiWord is also included with many lightweight linux distributions like Xubuntu and DSL.

Abiword supports the following features:
  • Speed and size efficiency.
  • Microsoft Word-like interface.
  • Support for tables, footnotes, and endnotes.
  • Support for tables of contents.
  • Equation editing.
  • Grammar checking.
  • User interface and spell checking in 49 languages.

20.PCMan File Manager : -

PCMan File Manager is extremely small and Fast file manager that supports Tabbed Browsing , it may not be as feature rich as Nautilus however it does the job of file manager well . It has been created using GTK2 Libraries and it's website claims it can start in one second .
Here is the list of features (Taken from it's website ) :-
  • Extremly fast and lightweight
  • Can be started in one second on normal machine
  • Tabbed browsing (Similiar to Firefox)
  • Drag & Drop support
  • Files can be dragged among tabs
  • Load large directories in reasonable time
  • File association support (Default application)
  • Basic thumbnail support
  • Bookmarks support
  • Handles non-UTF-8 encoded filenames correctly
  • Provide icon view and detailed list view
  • Standard compliant (Follows
  • Clean and user-friendly interface (GTK+ 2)
To Install PCMan File Manager download the debian package from here : -
Now You can install it graphically by double clicking it and launching the Graphical installation tool or issuing the following command in the terminal window after moving into directory where you have downloaded the debian package : -
Graphical installation of PCMan File Manager

or from Terminal window
 " dpkg -i pcman* "

Now launch PCMan File Manager by going to (Applications -> System Tools -> PCMan File Manager )

Gnumeric is part of Gnome Office and provides Spreadsheet capabilities , Gnumeric is a lightweight alternative to OpenOffice Spreadsheet program , besided occupying very less amout of memory it's installation files are only 2-3 Megabytes in size , based on GTK Libraries it integrates well with Gnome Desktop .Gnumeric was created and developed by Miguel de Icaza , and is now maintained by Jody goldberg .
Gnumeric has the ability to import and export data in several file formats, including Applix, CSV, Data Interchange Format, Microsoft Excel, HTML, LaTeX, Lotus 1-2-3, MultiPlan, GNU Oleo, OpenDocument, 1.x, Plan perfect, Quattro Pro, SpreadsheetML, Xspread and Xbase. Its native format is the Gnumeric file format, an XML file compressed with gzip
To install Gnumeric type the following command at the Console Window(Applications->Accesories -> Terminal)
  " sudo apt-get install gnumeric "
After installation is over click (Application -> Office -> Gnumeric Spreadsheet) to launch Gnumeric Spreadsheet.


                             Bluefish is a free software/open source text editor Its use is suitable for many programming and markup languages, with particular focus on their use for web development. Bluefish is extremely useful for making webpages from scratch using HTML/CSS and other markup language. Bluefish has been created using GTK2 and uses GTK libraries .
To install Bluefish type the following command in the terminal window : -
 sudo apt-get install bluefish
and after completing above step launch Bluefish from (Application -> Programming -> Bluefish Editor ) 

23.Opera Web Browser

Opera is a excellent web browser available on a number of different platforms including Windows,Linux and Mac OS X . Now opera has a number of really good features it includes a download manager , bit torrent client has a excellent rendering engine and a number of other really good features .

To install opera type the following command in the terminal (Application -> Accessories -> Terminal ) window : -

  sudo aptitude install libqt3-mt

sudo dpkg -i opera_9.20-20070409.6-shared-qt_en_i386.deb

  After completing above step launch opera from (Applications -> Internet -> Opera )

24.Downloader For X

                  Downloader for X is a nice download manager that allows downloading files from Internet , pausing them and downloading them later . It also supports splitting file into number of segments so that files could be downloaded quickly . However one thing that i didn't like about is it's interface is somewhat difficult as compared to some of the download manager available on Windows.
Anyways to install " Downloader for X " type the following command in the terminal window.
         ¨sudo aptitude install d4x "

After installation is over launch ¨Downloader for X¨ by typing ¨d4x¨ in the terminal window , or by going to (Applications-> Internet -> Downloader for X )

              Skype is a popular VOIP application , allowing one to make voice calls over the internet . To install Skype type the following command in the Terminal Window (Application->Accessories -> Terminal ),keep in mind that Skype is downloaded from Medibuntu repositories and not Ubuntu hence be sure you have activated the repositories correctly as described in first step of this article.

sudo aptitude install skype

After completing above step you could launch skype from (Applications -> Internet ->Skype)


Scribus is one of the most impressive Desktop Publishing application that is free and cross platform . Scribus is available on Windows , Mac OS X , Linux , OS/2 etc . It is highly suited for preparing file for professional quality image setting equipment .It has high end page layout features of the kind found in Adobe PageMaker, QuarkXPress and Adobe InDesign.
It can also create animated and interactive PDF presentations and forms. Example uses include writing small newspapers, brochures, newsletters, posters and books.
Anyways , to install scribus type the following command in the terminal (Application ->Accessories -> Terminal )
sudo aptitude install scribus
and after completing above step launch scribus by typing "scribus" in terminal window.

27.VLC Media Player

                                           VLC Player is another of popular video player available under Linux . It is released under GNU General Public license and is available for different platform including Windows,Linux,BeOS,Mac OS X etc. VLC player is based upon free open source libraries like libdvdcss,FFMpeg for decoding various video formats.
One Important feature of VLC Player is it's ability to play files over NetWork Protocols. The Frontend of VLC player is created using wxWidgets toolkit and it's appearance can be changed by using different skins. One Popular feature of VLC Player is it's ability to play files that are incomplete/broken or partially downloaded , making it useful for previewing file while downloading on file-sharing networks.
To install VLC Player type the following command in the terminal window : -
                                             sudo apt-get install vlc