Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Saturday, April 23, 2011

PC Gaming on Linux

Many people consider Linux as a serious OS for computing, but there is a fun aspect to it that is not really known as there is no marketing done for these games. However, for a moderate gamer, linux platform is satisfying especially if you are looking for playing games for your amusement without going too heavy on your wallet. Linux has also improved on the UI front considerably as now we can have some seriously GPU intensive graphics through out of box programs like compiz.
Cool 3D Desktop with Compiz
Those looking for a quick solution can use http://live.linux-gamers.net that allows you to create and start gaming from the live CD/USB directly.

In addition to the point and click games(like card based games),  you can have some serious fun with 3D games that PC gamers have become familiar with. Be it a fast paced action game like AssaultCube or a racing game like TuxKart, there are options for everyone.
TuxKart  : Funny racing game
AssaultCube : Fast paced action, a la Quake3 style

Thanks to ID software's initiative of providing a linux binary(and their stand on DirectX framework), we can install and play a game like DOOM3 on Linux http://sites.google.com/site/lgmscripts/scripts/games/doom-3 (which is definitively on my TODO list:)

There are certain caveats to this excercise too. Since my laptop has a Nvidia GeForce 8200MG card, I had to use a non open source binary driver as the cannonical one was not working well on Ubuntu. If you consider the freedom and the non presence of any cost/license, it forms a good overall personal entertainment package.

Wednesday, February 24, 2010

Open-Source Content Management Systems that You can Use to build the website of your dreams

Terms and conditions (unfortunately) apply

Gone are the days when people used to turn towards developers to create content and feature rich websites for them. The developers, in turn, created large groups and used (almost religiously) different programming languages/platforms to build the web application of their choice. But specialized software have made this process largely automated today for general purpose websites.
These are called Content Management Systems (CMS), and are highly customizable web applications. To put in other words, a CMS is a fully built web application that is just waiting for you to customize it.
A CMS features a dynamic website, complete with different modules, types of users, extensibility/add-on options, exporting, tagging, commenting, etc that can be created by a web based GUI. Technically, a CMS website has a two tier architecture involving the website and the database. Generally, there is little or no support for middleware, web services and other subtleties. As most of these are written in PHP with MySql as the database, knowledge in these areas definitively help. However, for purists in other language platforms, there are CMSs written other platforms too.
However, the use of CMS doesn’t mean that there would be end of customized (conventional) websites that are created by programmers today. CMS is largely targeted towards creation of web content for individual use and by small and medium scale organizations. What you need is just a basic set of skills like knowledge of servers, etc to get it up and running. Occasionally, you might run into problems and might search from the web based resources and communities for your problem redressal. This process might also involve some hacking inside the application, but broadly speaking, one person having some, if not all, knowledge in website maintenance can easily cater to a large number of such applications.
Broadly speaking, CMSs can be categorized into the following categories:-

1. Portals or General Purpose
These are the most generic versions of CMSs and can be used by non-technical users to publish their own content. Various community websites (like osum.sun.com), online resumes, etc can be created using these. They support plug-in architecture, which is used to add specific feature into them. The top CMS solutions for these are: - Joomla(http://www.joomla.org) and Drupal(http://www.drupal.org)
2. Blogs
Specialized versions of CMS are there that are aimed towards ease of creation and usage for weblogs or blogs. As millions of people use different kinds of blogs today, there is need for ease of creation of these blogs. Best known CMS in this category that comes into my mind is Wordpress (http://www.wordpress.org)
3. E-Commerce
Even after the dot com burst, there is a steady demand for e-commerce as internet is the way of future. By and large, e-commerce websites provide facilities for product inspection and purchase. This involves both the buyer and seller party in different aspects. So, there exists a well defined category of expectations in this area.Magento(http://www.magentocommerce.com) alongwith many others offer easy e-commerce website creation.
4. Wikis
Given the popularity of Wikipedia (http://www.wikipedia.org) and usage of wikis, both internally and externally. It is not a surprise that wikis are an integral part of Web 2.0 technologies. For ease of creation of wikis, there are a large number of specialized CMSs like MediaWiki(http://www.mediawiki.org) and DokuWiki(http://www.dokuwiki.org) alongwith others.
5. Forums
Searching for problems over internet aren’t limited to googling or yahooing (or whichever mutant you decide upon), but involves a community oriented approach. Most of the websites today offer forums and some are even dedicated towards running of these forums. One of the reason Ubuntu is so compelling to use is that for almost any Google search involving ubuntu problems, there is a link to ubuntu forums. Having said that, I'd like to point towards JForum(http://www.jforum.net) and MyBB(http://www.mybboard.net), whose implementations I use almost every other day.
6. E-Learning
This is also a facet of society that is going to be affected by internet. Usage of this avenue is still in a nascent stage. However, like BPO, this is also expected to pick up and has a large potential, especially from Indian IT Industry point of view. Some of the CMSs that came to my knowledge are Dokeos(http://www.dokeos.com) and Moodle(http://www.moodle.com)
7. Collaboration
Information Systems (IS) begin inside an organization. In order to build a successful intranet, various organizations have gone on that extra mile and created/purchased an in-house solution for themselves. However, open source CMS solutions are also there for the technology and budget constrained crowd. These are also specialized versions of their counterparts and can be used to collaborate between different IS within an organization like MIS and ERP, and between different departments like production, marketing and HR. Alfresco(http://www.alfresco.com) and Nuxeo(http://www.nuxeo.com) are some of the well-known CMSs aimed at enterprise collaborations.

Thus there are a large number of CMS that are waiting to be used (with minimal of programmer intervention) and are available free of cost. These are also open source software, so if you are interested, then you can see how they are actually coded and can tweak to your needs. Being open sourced also has the added benefit of a community driven approach that helps people to learn and help troubleshoot their problems.

After reading this, I am sure that you must be itching to get started. Wishing you the best of Luck, go add some wings (or webs ?) to your dreams.

Tuesday, July 28, 2009

Why open source is needed

When it comes to softwares, a typical user thinks about Windows OS, MicroSoft Office as it is, by and large, the de-facto interface for the most people while computing.
However, such softwares' source code(that is the primary information to how these things work) is protected from the users due to proprietary copyrights and self-centered motives, thereby, effectively stopping all of us to give 'shape' to it in order to enhance it further. Basically, all proprietary stuff owned by big companies like Microsoft, Apple, Oracle, and so on is available only after paying them money in addition to being limited by the technical constraints of their products. So people, and developers, that use them are basically dancing to the companies' tunes.

I am not cribbing about these technologies. Sure, I really appreciate the way Windows has shaped up personal computing, Mac OS makes me drool, the list is quite huge. But it is really demeaning to observe that these cos. do a lot of unethical practices to promote their stuff. Interestingly, Microsoft always claim that their Windows is faster, safer, and so on, which is a big piece of lie, and people have seen it again and again with each release of their windows OS that it is not the case. Similarly, Mac has put an Iron Curtain around their Iphone Application development, limiting innovation and at the same time, squeezing out moolah from their customers, who have to pay exorbitant prices for using any application.

While it is initially skeptical from the perspective of a non-technical person to use a seemingly 'Free' technology due to its hacked-assembled manner as well as the complexity involved in its use, the landscape is fast changing. We are seeing user-friendly Linux distros like Ubuntu, increasingly useful applications for a variety of tasks and at the same time, increasing reliance, particularly amongst the biggies mentioned above, to cast on to the benefits of open sourced stuff.

To contribute in a open source software, I have repeatedly said, and would reiterate that you do not need to have a guru like knowledge in any computer field. Most of the FOSS projects also require skills like creativity in form of graphics, animation as well as in stuff like language translation.

The future
Its a turning point for businesses and industries (we are coming out of the recession corner), and people are looking again for constant innovation. Be it LAMP in small businesses or open sourced SOA in big ones, FOSS is the way to go for the entire business community as it is the cost-effectiveness that has being noticed in an important way. Thus, for the time to come, FOSS would continue its meteoric rise in importance amongst all types of softwares.

Endnote
Please note that the above views are my own and may not be solely constructed as truth without further consultation. So basically, don't come after me with a lawsuit based on what I've posted above.

Saturday, February 28, 2009

Open-Sourced Programming

Phew!
One of my desired goal has been achieved. I've started contributing actively in open soured projects.
This was essential for me to get some experience and exposure in developing software.

On sourceforge website(http://sourceforge.net), I've been a member for quite a bit of time but was unable to join the desired projects.So here are some of my recommendations for starting up:


1. Look for a project of your interest that you can contribute in. For example, if you are comfortable in 'C' programming language, then look for a 'C' programmer requirement.
2. Not all projects require programming skills. So my advice is to arm yourself with all of your knowledge. You never know, when your documentation skills, for example, may be required.
3. Be honest and truthful about yourself.Well, this hardly merits a note, but again, t is quite important to be so.
4. READ the project details.
Yes! this is most important as project details by the admin determine what exactly, he or she is looking for. This is also important to stimulate your imterest in the project.
5. Do look for a nice project, not just the technology you want.
6. Lastly, i'd say as in every organization, you will start from the lowest rung of the ladder.


Having said that, I followed these principals somewhat loosely and have started as a GUI Developer in the Pundict project (https://sourceforge.net/projects/pundict/)
This is a Punjabi~English translation dictionary which uses the XDXF format (which is xml based) for maintaining its data.
The beauty of this application is that it runs on any platform ( as it is java based) and through its open-sourced dictionaries in XDXF format, it is extensible to a very large extent.
The implications of my application are that it can be used as a tool to learn new languages, and, in process, save many languages from becoming extinct.
Initial view of the dictionary