in

Lady Gaga goes gaga over Ubuntu

- - 25 comments
After enthralling the techies at Google last week, Lady Gaga has given her geek fans another reason to smile. In a press conference this Monday, the Grammy award-winning singer confessed that she is an avid fan of Ubuntu, the Linux-based operating system. Since then, Ubuntu has seen a massive surge in its popularity; particularly among teenagers.

When asked if she was a PC or a Mac, the ultra glamorous pop star replied “Well you know, I'm neither into PCs or Macs, first of all. Secondly, I don't like either of them; it's like everybody uses them these days. I'm more into this thing called Ubuntu. Two months ago, a buddy of mine told me to use it to avoid getting hacked, and I've loved it since then. It's really fun to use!”

To another reporter asking if there was any particular reason for choosing Ubuntu, she responded, “I love Ubuntu because it's unique, it's so like me and my little monsters – we're different, but we're awesome!“. Afterwards, when asked about her thoughts on the Free and Open Source Software (FOSS) philosophy, she said “It's great when things are free. I think it kinda really helps people who can't buy computers on their own.. I'd love to see Apple doing something like that … they make such great products but not everyone can buy them”.

After this statement by Lady Gaga, a website has claimed that Ubuntu's desktop market share has shot up from 1 percent to 7 percent in just two days. Furthermore, due to a huge rise in traffic, Ubuntu's website suffered a downtime of about 8 hours on Tuesday. Ubuntu fans and developers are already enjoying this 'viral' popularity. “This is a giant leap for the Linux community, and we'll always be grateful to Lady Gaga for that”, said an overjoyed Jane Silber, who is the current CEO of Canonical.

Keep Reading
in

Fedora 15 vs. Ubuntu 11.04: The Battle for Linux Desktop Supremacy

- - 13 comments
In a few weeks from now, latest versions from two of the finest Linux distributions will be unleashed, bringing along some major changes to the traditional desktop. Ubuntu 11.04 is expected to be released this coming April 28, while Fedora 15 will be out on May 24, 2011. The two will battle it out for Linux desktop supremacy.

What makes these editions special is the fact that both distributions will be offering two completely new user interfaces. Here is a detailed look at how these two veteran distros stack up against each other.

The Desktop:

Since the dark ages of Linux desktop, both Fedora and Ubuntu have sported the overly familiar GNOME 2 look. It goes without saying that the simple, clean and fast desktop environment enjoys a heavy fan base in the Linux world. However as time went on, many people agreed that GNOME was in need of something fresh, something completely new. Hence, developers started working on a totally revamped user interface, now known as GNOME 3 or GNOME shell. This newly designed shell interface was also supposed to be the default desktop environment for Ubuntu 11.04.
Due to philosophical differences between Canonical and the GNOME team, Ubuntu ditched GNOME 3 and started working on their own desktop environment called Unity. Since this announcement, Unity has received some heavy criticism from the Linux community. GNOME 3 too has had its share of bad feedback following some major UI decisions like removing minimize and maximize buttons. Despite these early apprehensions, both projects have managed to bring a much-needed burst of freshness to the stagnating Linux desktop.

But how does this whole GNOME 3 vs. Unity battle affect Ubuntu and Fedora users?

Well, Ubuntu team is working assiduously to prove that their decision to stick with Unity was the right one. On the other hand, GNOME team is making sure it remains the most widely used desktop environment. Hence, the release of Ubuntu 11.04 and Fedora 15 will be the perfect platform to decide which desktop environment wins.

Here's a quick comparison of features offered by GNOME 3 and Unity:


Music Players:

Fedora will be sticking with Rhythmbox, while Ubuntu will be using Banshee as the default music player. The decision, however, hasn’t gone down well with many FOSS supporters as Banshee brings along mono libraries to the Ubuntu code pool. Nevertheless, Ubuntu users will be happy to see many new features like Amazon Mp3 store, Audiobooks support and metadata fix up giving Banshee an edge over Rhythmbox.

Software management:

Natty will include an updated version of Ubuntu Software Center allowing users to rate and review applications. Fedora on the other hand will stick with the traditional Add/Remove Software.

Performance:

Both Fedora and Ubuntu will be using the latest kernel bringing along a lot of performance improvements. Behind the scenes, Fedora will now replace Upstart and SystemV with Systemd that provides a slightly faster bootup (especially on SSDs). In the graphics department, people have raised concerns over GNOME's use of Mutter, which had compatibility issues with many graphic cards; however, Ubuntu’s decision to go with Compiz has been readily welcomed by users.

Security:

This is an area where Fedora will beat Ubuntu hands down. Fedora 15 will come with an optional dynamic firewall daemon based on dbus. Moreover, Fedora already includes SELinux thus making it one of the most secure user-oriented distros around.

Unique features in Ubuntu 11.04:

* Revamped UbuntuOne: Natty will include Ubuntu One with a revamped user interface making it more easy-to-use.
* More indicator applets: GNOME’s traditional panel applets won’t be supported thus making way for more indicator applets.
* 100 papercuts project: This is a great initiative by the Canonical team that aims to fix small usability bugs, which often go unnoticed.
* 2D unity: Ubuntu is also developing a Qt-based 2D desktop for low-end graphic cards so that users with older PCs won’t have any problems upgrading.

Unique features in Fedora 15:

* Improved Power Management: Fedora 15 will include PowerTOP 2.x containing a daemon that tunes system settings dynamically to balance the power consumption and performance.
* Indic Typing Booster: Indic typing booster is a predictive input method for ibus platform that provides word completion for Indic languages. This will enable users to create content in their native language with enhanced speed, accuracy and ease.
* Robotics suite: This is a collection of software that will allow users to try out robotics in a simulation environment.

Common Features:

Though Natty and Lovelock have taken different directions, there are some great new features they'll both offer.
* Firefox 4: Both Ubuntu and Fedora will ship with the latest and greatest version of Firefox that is Firefox 4. The open source browser comes with a boatload of new features that make browsing better, secure and faster.
* Libreoffice: Openoffice will be replaced by its fork Libreoffice thus putting a smile back on the faces of all FOSS supporters.
* KDE 4.6: Fedora users who prefer KDE as well as Kubuntu fanatics will get their hands on the latest version of KDE freshly baked from the oven.

Conclusion:

Despite some radical decisions made by GNOME and Canonical, there are some positive expectations from the Linux community. Along with the much-needed freshness to the Linux desktop, these changes bring along a fresh set of challenges for the Linux community. Moreover, the conspicuous yet exaggerated creative differences among the different teams fosters a healthy competition, thus making Linux desktop ready for the bigger challenges. Though Fedora and Ubuntu have taken contrasting approaches, they'll both offer the new-to-Linux user two high quality choices.


This article was written by Abhishek, a TechSource contributor and longtime FOSS advocate.

Keep Reading
in

How to Create an Android Tablet that Can Beat the iPad

- - 1 comment
We can't deny the fact that the iPad is currently the best tablet computer available. Although a good number of leading manufacturers have already come up with their own tablets, it seems like it is hard to topple Apple’s baby.

Android 3.0 Honeycomb may have significantly boosted many of the iPad-competitors' chance of succeeding, but a lot of skeptics don't think that it is compelling enough to attract a wide range of consumers. And now that Apple has stepped up its game by releasing the more refined and still drool-worthy iPad 2 with equally drool-worthy applications such as GarageBand and iMovie, Android-based tablets are struggling to keep up.

Is it possible to beat the iPad? How do we create an iPad-slaying Android-based tablet computer?

Anything is possible, and the iPad can be easily beaten. To do it, manufacturers must work closely with Android/Google developers to create and focus on essential features that the iPad is currently lacking and make a tablet computer that can truly serve as a laptop or netbook replacement. So what are these features?

In terms of hardware, some of the latest Android tablets such as the Motorola Xoom and the upcoming Samsung Galaxy Tabs are already equipped with several key features like built-in SD card slot, micro USB port, and HDMI port, which are all absent on the iPad. Of course there is always room for innovation, and Android tablets must continually strive to stay ahead of the game.

One of the keys to beating the iPad is software -a software that is polished and is tightly integrated with the hardware. Despite the fact that Android 3.0 (Honeycomb) is loaded with exciting features, it does not offer a more fluid user experience when compared to Apple's iOS. Let us hope future software update aimed at refining Android 3.0 will come sooner rather than later.

Now, let us talk about apps. The iPad may already have plenty of applications and is way ahead of Android in terms of number, it is never too late. Developers still have time to create some useful apps that should be pre-installed on every Android tablet. Some of the handy applications that should be included for free are office suite, image editor, and audio/video editors, among others. If possible, they should take advantage of the popularity of Google Chrome web browser by supporting it on the Android platform. Imagine running a full-featured Chrome browser on your tablet with support for apps, extensions, and themes.

I believe Android tablets will eventually win the war against Apple's iPad, but some of the things I've mentioned above are keys to achieving victory the faster way.

What do you think?

Keep Reading
in

Which do you think is the best Relational Database Management System for Linux?

- - 1 comment
Which do you think is the best Relational Database Management System for Linux? - After featuring here some of the best Relational Database Management System (RDBMS) for Linux (5 of the Best Relational Database Management System for Linux, 5 (More) Relational Database Management System for Linux), it is time once again to ask for our readers' participation.


So for those of you who have used a few of the RDBMS that we have previously mentioned, you may cast your votes below:

If you have something to add, please do so via comment.

Keep Reading
in

Sad Day at Linux Today

- - 1 comment
If you are a frequent visitor of the popular Linux news aggregator site Linux Today, you may have noticed the lack of updates during the last few days. Upon checking it this morning, it already has a couple of posts and one of which is an "Editor's Note". It has been my favorite section of the site but I noticed something different this time. –Linux Today’s long-standing Senior Managing Editor, Carla Schroder, did not write the post.

In her place is Michael Hall, a former Managing Editor of LT. Hall informed everyone that Carla no longer works for the site and for its parent company, but gave no further comments as to why she was laid off. However, he provided us a link to a recent post by Carla at LXer.

Although I don't know the whole story or any of the internal details, I think that Schroder's absence will be a big loss to Linux Today. She already has a lot of followers including myself, and her posts always resulted in interesting discussions. I am also grateful for her for featuring some of my articles at LT, which really helped take this site to a whole new level. I'm certain that through the years she has also given a lot of other small sites or blogs a chance to shine.

Niki Kovacs, a 43-year old IT professional living in South France, commented, "I'm sorry Carla Schroder wasn't given a chance to say goodbye here, among the community she's been part of for years. This is not only a shame, but most likely a sign that something's terribly wrong with Linux Today."

As Schroder says, "a rising tide lifts all boats, and the more successful any individual site is the better for all of us". So despite all these issues, I hope Linux Today will continue to post relevant, updated, and interesting news feeds for all of us.

I wish Carla all the best. I know that her talents as a writer and as an all-around Linux geek will take her to new heights and bring her more success in the future. See you at LXer :)

Keep Reading
in

New Samsung Galaxy Tab Android Tablets Ready to Stop the iPad 2 Madness

- - 4 comments
Samsung recently unleashed not one but two Android tablet computers that have the potential to derail the iPad 2 train. The two new tablets, simply called Galaxy Tab 8.9 and Galaxy Tab 10.1 are loaded with exciting features that could give Apple a run for its money.

At 8.6 millimeters (.33 inches) thin, the Samsung Galaxy Tab 8.9 and 10.1 are considered as the world's thinnest mobile tablets beating the iPad 2 by just a hairline in terms of slimness. They are also very light, weighing only around 470 grams and 595 grams respectively.


Like the highly publicized Motorola Xoom, the new Galaxy Tabs runs Android 3.0 Honeycomb. However, its user interface is heavily customized using Samsung's TouchWiz UX, which aims to enhance the home screen by adding certain functionalities like the Mini Apps Tray and Live Panel. It is worth noting that Samsung has utilized the TouchWiz UI on some of its smartphones that include the slick i9000 Galaxy S.

In addition to the tweaked user interface, the Galaxy Tab 8.9 and 10.1 are pre-installed with Readers Hub and Music Hub, enabling users to easily access more than 2.2 million books, 2,000 newspaper in 49 languages, 2,300 magazines in 22 languages, and over 13 million songs. They also come with Samsung's Social Hub that could aggregate email, contacts, calendar, instant messaging (IM), and social networks into a unified interface.


Looking at the hardware specifications, the latest Galaxy Tabs are fully equipped with features that could easily compete with or probably beat some of the latest Android-powered tablet PCs. Both are equipped with 1GHz dual-core processors (possibly NVIDIA Tegra 2), a 3-megapixel rear-facing camera and 2-megapixel front camera, and will be available in 16GB or 32GB configurations. The camera at the back has a built-in LED flash and can record high-definition (HD) videos at 1080p. Although the two Galaxy Tabs have different screen sizes, their display resolutions are similar at 1280 x 800.

To get you all pumped up, here is a video of the unveiling of the Samsung Galaxy Tab 8.9 and 10.1:



As seen on the video above, the suggested retail prices of the new Galaxy Tabs are as follows:

8.9 (WiFi):

16GB - $469
32GB - $569

10.1 (WiFi):

16GB - $499
32GB - $599

Unlike the Motorola Xoom, the Samsung Galaxy Tab 8.9 and 10.1 are priced aggressively that those of you are planning to buy the iPad 2 should now think twice. In addition, the new Galaxy tabs have essential features that are absent on the Apple tablet such as microSD slot and Adobe Flash support, so I think their prices are really worth it.

Without doubt, the Samsung Galaxy Tab 8.9 and 10.1 are among the top Android tablet computers released to date and would likely stop the iPad 2 madness.

What do you think?

Keep Reading
in

Load Balancing your JBoss App Servers with Apache

- - 3 comments
If you have your web application deployed on an application server and you need it to be online with a good uptime you should know that applications servers are not always very reliable. That's why it is a good idea to run two or more application servers and load balance them so that you can share the load, thereby reducing the dependence on one server and also handling the load better.

A single instance of the Apache web server can handle a large number of simple requests for files to be served quite well. However, a single instance of an application server such as JBoss can handle far fewer requests for applications to be run. There's a big difference between just handing someone a piece of data and having to work out something complicated to answer a question. So we'll use the Apache web server as a load balancer between two instances of JBoss, running the same application.

I'll assume that you have three servers; real server or virtual servers are fine. You will need to run your JBoss instances on two of these servers. You can alternatively run both instances of JBoss on the same server. However, make sure that they are both operating on different ports and not the same one. The default port on which JBoss run is 8080. Once both of your instances are up and running run a simple test to make sure things are running fine on both server. Launch your web browser and go to http://host:8080. I'll assume that the IP addresses of the two JBoss servers are 192.168.0.10 and 192.168.0.20.

Now we'll setup Apache. You can use the standard installation of Apache that shipped with your Linux distribution, or install it using a standard binary. We will be using a specific Apache module, mod_jk, to do the load balancing. This module does not usually ship with a copy of Apache and would need to be downloaded and setup separately. Installing mod_jk is pretty straightforward:

1. Download the module from http://apache.inetbridge.net//tomcat/tomcat-connectors/jk/binaries/.

2. Copy the .so file into /usr/lib/apache2/modules/mod_jk.so. This location may differ from distribution to distribution.
3. Now execute the following "# echo LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so" > /etc/apache2/mods-available/jk.load".
4. And "# touch /etc/apache2/mods-available/jk.conf".
5. And "# touch /etc/apache2/workers.conf".
6. "# a2enmod jk".
There you go. mod_jk should now be all setup. Just make sure you don't receive any errors while executing any of the steps shown above. I'll assume you have the web server running on 192.168.0.1:80. so our setup looks something like the following:

Apache Web Server: 192.168.0.1:80 - lb1
JBoss App Server 1: 192.168.0.10:8080 - app1
JBoss App Server 2: 192.168.0.20:8080 - app2
Next create the file /etc/apache2/workers.conf in the lb1 machine. Enter the following content into it:

# Defining the workers list:
worker.list=loadbalancer,status
# first worker properties, we use the AJB13 connection type:
worker.worker1.type=ajp13
worker.worker1.connection_pool_size=20
worker.worker1.host=app1-host
worker.worker1.port=8080
worker.worker1.lbfactor=1
# second worker properties, we use the AJB13 connection type:
worker.worker2.type=ajp13
worker.worker2.connection_pool_size=20
worker.worker2.host=app2-host
worker.worker2.port=8080
worker.worker2.lbfactor=1
# No we set the load balancing config
worker.loadbalancer.type=lb
worker.loadbalancer.sticky_session=true
worker.loadbalancer.balance_workers=worker1,worker2
worker.status.type=status
Replace 'app1' and 'app2' with the names of your app server machines. Next up edit or create the file '/etc/apache2/mods-available/jk.conf' to look like this:

<IfModule mod_jk.c>
# The Jk shared mem location
JkShmFile /var/log/apache2/mod_jk.shm

# Jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Jk loglevel
JkLogLevel info
# Jk logformat
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# Our workers config
JkWorkersFile /etc/apache2/workers.conf

# The most important:
# We will send eveything (/*) to our loadbalancer (set in JkWorkersFile)
JkMount /* loadbalancer
</IfModule>
Restart your Apache web server with the command "# service httpd restart" or whatever works for your distribution. Now if you hit "192.168.0.1" or lb1 in your web browser you should be able to see the results from one or the other app server. You should put in unique pages on each server to make sure it is the case. We have chosen two app servers in this case. However, this is not a limitation. You can choose to have more servers if you like.


Sukrit Dhandhania wrote this article for TechSource

Keep Reading
in

5 (More) Relational Database Management System for Linux

- - 2 comments
5 (More) Relational Database Management System for Linux: We have already featured here some of the best relational database management system (RDBMS) for Linux. However, there are other excellent RDBMS that we have not yet mentioned. So today, we are giving you another round of some of the best relational database management system for Linux.


Firebird is an open source relational database management system that offers superb concurrency, high performance, and powerful language support for stored procedures and triggers. It provides many ANSI SQL-99 features and has a complete set of command line utilities that enable users to make databases, recover database statistics, execute SQL commands and scripts, run backups and restores, and more. Firebird 2.5 is the most recent stable version, which features enhanced multithreading, regular expression syntax, and the ability to query remote databases. Version 3.0 is already under development and is anticipated to support stored procedures in languages such as Java and C++, and SQL window functions that restrict query results.

Here are some of the other basic features of Firebird:

* Full ACID compliant transactions
* Referential integrity
* Multi Generational Architecture
* Third party tools, including GUI administrative tools and replication tools
* Support for External Functions
* SQL activity can send asynchronous notification events to clients
* Careful writes - fast recovery, no need for transaction logs
* Incremental backups
* Full cursor implementation in PSQL


H2 (Hypersonic 2) is a relational database management system based on Java and supports a subset of the SQL standard. Although it also supports using the PostgreSQL ODBC driver by acting like a PostgreSQL server, its main programming APIs are SQL and JDBC. H2 can run in the client-server mode or can be embedded in Java applications. It runs fast and has a very small footprint having only around 1 MB jar file size. With H2, users can create both in-memory tables, as well as disk-based tables. Its security features include role-based access rights and encryption of the password using SHA-256 and data using the AES or the Tiny Encryption Algorithm, XTEA. It provides protection against SQL injection by enforcing the use of parameterized statements. H2 offers embedded web server with a browser-based console application. It also has command line tools to start and stop a server and for backing up and restoring databases.


Forked from MySQL 6.0, Drizzle uses SQL as its primary command language and has client/server architecture. Developers call it a smaller, slimmer and faster version of MySQL. Drizzle is aimed at the web-infrastructure and cloud computing markets. Some of its main features such as the query cache and authentication system are now plugins to the database, which follow the general theme of pluggable storage engines that were launched in MySQL 5.1. It currently supports logging to files, syslog, and remote services such as RabbitMQ and Gearman via its plugin system. Drizzle is written in C++, and stores its string data in UTF-8 format. All operating systems that conform to POSIX and have a working implementation of the GNU Autotools are supported.


Virtuoso Universal Server (also known as OpenLink Virtuoso) is a middleware and database engine hybrid that is designed to take advantage of operating system threading support and multiple CPUs. It integrates the effectiveness of a traditional RDBMS, ORDBMS, RDF, XML, virtual database, free-text, web application server and file server functionality in a single system. Instead of having dedicated servers for each of the previously mentioned functionality areas, it allows a single multithreaded server process that applies various protocols. Virtuoso offers transparent real-time access to various data sources (ODBC, JDBC, XML, and Web Services), and transparent integration of different application logic (e.g. Mono ECMA-CLI and J2EE integration). Its extensive protocol support enables it to provide Web, File, and SQL database server functionality alongside native XML storage, and Web services platform features as part of a cohesive single. For exploiting recent technology advances in realms such as Web Services, RDF Data Management, XML Data Management, Object-Relational Data Management, and Unified Storage, it offers a cross-platform workbench.


LucidDB is considered as the first and only open source relational database management system designed from the ground up to power data warehouses, OLAP servers and business intelligence systems. Because of its purpose-built architecture, it usually performs faster than standard row store databases, without any additional tuning. LucidDB is based on architectural foundations like column-store, bitmap indexing, hash aggregation, and page-level multi-versioning. It supports many advanced features from SQL:2003, which include SQL/MED and user-defined transformations written in Java. All components of LucidDB were designed with the requirements of flexible, high-performance data integration and complex query processing in mind. Additionally, completeness within the center scope of its architecture means simplicity for the user: no DBA needed.

Keep Reading
in

Highly Useful Resources for Android App Development

- - 1 comment
The current global demand for mobile apps can only mean booming business for developers. The Android and iOS platforms are currently the dominant platforms in this sector and developers are busy coming up with the next 'big apps' to hit the market.

Being new to mobile app development can be a challenging affair if you don't have previous experiences in this field. Furthermore, every platform is unique and requires some patience to learn and get your way around.

For Android, a good number of tools have already proved to produce quality apps and it would be worthwhile getting a little background information on some of these tools.


This should be the starting point for any aspiring developer. The site gives updates on the ever-improving Android versions, access to the Android SDK, a comprehensive Developer Guide and the Android API reference. On top of this, there is a video section and a blog section that would help developers better understand some concepts of Android development. The page also shows developers how they can publish their apps to the Android market and enables them to contribute to the growing online community of Android developers.


Android code is basically coding in Java. Eclipse is an IDE that is most known for its Java friendly environment and is probably among the first tools one needs to download as they start out developing on the Android platform. Google, the creator of the Android platform, have done an excellent job getting the Android SDK to run with Eclipse. The two are almost synonymous to developers. Eclipse gives developers an easy time in getting their code in sync with facilities such as debugging, the DDMS perspective, and a host of other important tools available in the Android SDK kit. On the surface level, Eclipse makes Android development a whole lot better - the object oriented code is easy to write and manage, plus you can get a design view of layout files such as XML based files used in Android code.


At one point or another, developers tend to need to use web technologies such as HTML and Javascript in their Android Apps. PhoneGap is a free and open source framework or build that gives developers access to native web technology based APIs. Based on HTML5, PhoneGap leverages web technologies developers already know best - HTML and JavaScript. So powerful is the web framework, that it enables apps to access the devices Accelerometer, Camera, Contacts, Geo-location and many other resources. As is a characteristic of any good developer’s resource, PhoneGap is well documented and its API reference is accessible on their website.


Designing Android applications might not be as easy as many new developers think. GreenDroid is a development library for the Android platform. It is intended to make UI developments easier and consistent through your applications. Although GreenDroid is a work in progress library, it has already made a name for itself as one of the best libraries intended to help design Android apps. Coding on the Android platform can often lead to doing the same things over and over again. One of GreenDroid's aims is to prevent developers from doing mistakes and copy&pastes. Secondly, GreenDroid comes with some easy to implement and resource conscious resources such as styled tabs and Action bars, which are seen in popular apps such as the Facebook for Android App. The App needs a little bit of polishing up but looks quite promising to Android developers.


Other than the above resources, there are numerous blogs and online communities specifically for Android development. It is always wise to join such communities and discussions to share your experiences and challenges as well as download sample Apps written by other Android developers. Taking a look at sample Apps can shorten ones learning curve and can avoid 're-inventing the wheel' by writing code to solve problems already solved.

Keep Reading
in

Why the Linux Desktop is Still Not #Winning

- - 19 comments
Let's face it; Linux's chance of winning the desktop war is now slimmer than ever. Mobile devices like tablet computers and smartphones have started to pull a lot of people away from using traditional PCs. But I think we shouldn't blame the fate of the Linux desktop solely on these devices because personal computers are far from being irrelevant and is still preferred by many, including myself, for getting things done. So why do I think Linux is still not winning in the desktop space?

Before I'll answer that question, I would like to explain that winning doesn't necessarily mean beating Windows and Mac in terms of market share. We all know that those two tech titans have all the money in the world to get what they want. For me, the Linux desktop is already winning if it could reasonably increase its usage share. I know it is quite hard to measure the desktop market share accurately, but the way I see it, Linux is moving at a very slow pace.


The main reason why the Linux desktop is still not winning is the lack of "focus". Looking at the Linux desktop right now is like watching a person with attention deficit hyperactivity disorder (ADHD). To know what I mean, let's take a look at Ubuntu.

Considered by many as the most popular Linux distribution, Ubuntu is a favorite among new-to-Linux users and for those of us who want a hassle-free desktop distro. In a span of a few years, it has successfully improved the whole Linux desktop experience by keeping things simple, fast, stable and usable, and by providing a good online technical support, forums, and documentation.

I still love Ubuntu but the project's lack of focus is frustrating. Instead of moving forward, I think they are moving the opposite way. The last two releases and the upcoming version of Ubuntu gives too much attention on tweaking/modifying and beautifying the desktop user interface instead of simplifying and improving performance and stability. Also, it seems like it is always starting from scratch with every releases by constantly changing the default UI, IM client, photo viewers, etc.

Before, I have criticized Ubuntu for trying to become like a cheap imitation of Mac OS X. Now, seeing the Natty Narwhal (Ubuntu 11.04) with its Unity shell interface made me think that I was indeed right.

I think it is not wrong to copy Apple if you only copy the way they do things and not the actual things or products that they do. The Ubuntu team could imitate how Apple slowly enhanced or polished the Mac desktop environment to perfection while focusing on performance and intuitiveness without sacrificing simplicity and without rushing to drastically change things. A lot of users love the GNOME desktop environment for its speed and simplicity so why not try to make it even more simple and faster instead of adding bulk like the Unity shell just to make it feel and look more like Mac OS X.

One of the best advantages of Ubuntu and other Linux distributions over Mac and Windows is that it can integrate or preinstall useful desktop applications like office suites, graphics editors, multimedia applications, and many others without cost. So why not focus on helping develop and improve those applications so that users won't have to look elsewhere.

I could go on and on with my semi-rambling but I hope you get my point by now. Forgive me if I put too much emphasis on Ubuntu. We can't deny the fact that it is the face of the Linux desktop at the moment hence it is only significant to show it as an example.

Why do you think the Linux desktop is still not winning? You may share with us your thoughts via comment.

Keep Reading
in

Social Media Apps on the Android Platform

- - No comments
Over the past 5 years, social media has changed the landscape of the Internet and the way we communicate. The need to connect with friends and family and maintain social networks on the web has impacted almost every user who logs on to the Internet today. The Android platform has itself been at the forefront in bringing social media to the hands of users by integrating their mobile devices with popular social media sites and enabling them to join their social networks on the go. Android users connect to the ever-buzzing social networks more conveniently and easily than ever before. This is made possible by the presence of creative apps on Android markets making the choice on which apps are best at accessing one's favorite social media network a tasking affair.


Facebook is by far the largest social network in the globe, having recently surpassed 500 million active users. It therefore comes as no surprise that the official Facebook for Android app is among the most popular Android apps out there. The app enables real time chat, messaging, access to news feeds, access to one's Facebook profile and almost everything else the average Facebook user would access from their PC's web browser. Those who've used earlier releases of the app will have noticed that every release gets better and better in terms of performance and features offered. The chat facility, for instance, was an addition that wasn't available in previous releases but is now present. Facebook itself is constantly growing and new features like 'Facebook Places' are being rolled out in phases.



Twitter is an immensely popular social media website that many consider to be the future of social media. The official Twitter for Android app was long overdue when it launched in mid 2010. The app has a clean design and is relatively easy to use. Though not as old as other social network apps such as the Facebook for Android, the app is yet to get a consistent feel that is similar to the web version of Twitter. Notably, every major release of this app has taken positive steps by revamping some key features to improve usability. Nevertheless, the Twitter for Android app is a convenient way to send and receive your tweets or direct messages. The Android market has quite a number of confusing third party apps so using this official Twitter for Android app provides some relief to Android users.



Seemsic is arguably the best social media experience available on the Android platform - providing a one-stop app for accessing the major social media networks such as Facebook, Twitter and Google Buzz. Seesmic is most known for its excellent Twitter experience, a benchmark it set by taking advantage of some weaknesses in the official Twitter for Android app. Seemsic also launched their app well before Twitter launched an official app. One of Seemsic's strengths is the ability to switch from one social network to another seamlessly or to manage multiple accounts on the same platform. The app is also easy to use and has a great user interface.



Social media has been taking different dimensions in its early years. Location awareness is one such relatively youthful dimension. Foursquare is an online service that is founded on connecting people based on their location. The official Foursquare for Android app makes full use of GPS capabilities and other location components that are inbuilt into nearly all Android devices. With a few taps, the app enables user to check in to venues, add new venues and share their location with their friends. Mobility makes the Foursquare for Android app a more interesting experience as compared to using the web-based service on PC.



Aside from the mentioned apps, there are numerous widgets available for download and even more apps customized to meet the diverse needs of social media users globally. It is advisable to use apps provided by official or approved Android markets since security is vital in social media.


You may also check out our list of productivity-enhancing Android apps.

Keep Reading
in

Quick and Easy Way to Mount an FTP Location on Your Local Linux Box

- - No comments
If you transfer files to an FTP server frequently using your Linux computer, there is a cool trick you can perform to make things a bit easier for yourself. Using the free tool "curlftpfs" you can easily mount this remote FTP location as a local drive and drag and drop files and folders to it to upload them. The steps involved are pretty straightforward and take just a few minutes. Let's look at how to do this.

If you are using Ubuntu like me, you need to first install curlftpfs before you can begin using it. To install it, execute the command "# sudo apt-get install curlftpfs". On other Linux distributions the step involved in installing curlftpfs may not be too different. Check your distribution's application installer for more information on it.

Once you have curlftpfs installed you need to create a new directory where you will mount your remote server. I like to create this directory under /media where all my devices are usually mounted. So execute the command "# sudo mkdir /media/ftpserver" to create this directory. Now we can proceed to mounting the remote directory. At this point you will need to collect the information required to establish an FTP connection to your remote server. This will usually include an FTP server address, a username, and a password.

The command we will use to mount this server locally will be structured like this:

# sudo curlftpfs -o allow_other ftp://username:password@ftp.yourdomain.com localdir
The actual command to mount your remote server locally would look something like this. Replace "calvin", "h0bb3s", "ftp.cnh.com", and "ftpserver" with the credentials of your own setup.

# sudo curlftpfs -o allow_other ftp://calvin:h0bb3s@ftp.cnh.com ftpserver
Open your file browser and go into the /media/ftpserver folder. You should now be able to see the contents of your remote server. Try copying a file into this folder. You should find that it copies a lot slower than it does when you copy to other folders on your desktop. This is because it is uploading the file to your FTP server.

After you are done playing with this fantastic feature, make sure that you unmount it. To unmount it, you can use the usual unmount command:

# sudo umount /media/ftpserver
If you plan on using this feature often it can get a bit cumbersome to use the above shown command all the time. It might be easier to create an entry in the fstab file, which deals with the mounting of all the devices on your computer. Open the file in your favorite editor using a command like "#sudo vim /etc/fstab" and enter the following in a new line:

curlftpfs#calvin:h0bb3s@ftp.cnh.com /mnt/ftpserver fuse allow_other,rw,user,noauto 0 0
Make sure you enter the credentials for your own server. Save the file and quit the editor. If you are an advanced user you might note that we have not used the noauto option. This is because you might not be connected to the Internet at all times, and mounting it automatically might create some problem sometimes. So the next time you reboot you will need to execute a command to mount the FTP server locally. It is a lot smaller than the command you executed earlier:

# sudo mount /media/ftpserver
NOTE: Please note that you might not want to set this up at a public computer, as the password for your FTP server is visible.

Keep Reading
in

5 Productivity-Enhancing Android Apps

- - 4 comments
5 Productivity-Enhancing Android Apps: With the number of apps available on the Android market growing by the minute, selections of apps have steadily proved to be among the most productive Android apps. These apps, already in use by millions of Android users are simply must-have apps.


One can hardly mention the word productivity without having to think about an Office Suite. Being able to access documents while on the move is a big bonus in today’s fast paced society. Documents To Go 2.0 lets you do exactly that and is, by far, the Office Suite of choice for Android devices. The app lets users do all their word processing, spreadsheet manipulation, slideshows and PDF viewing on their Android devices. Basically, users of the app can use their Android devices to do everything a normal PC would do in Microsoft Office, Open Office or any other serious office suite.

The Android platform has been heavily criticized for lacking an efficient way for users to easily manage their files. With the advanced possibilities that today’s mobile device offers, users have every right to store numerous files on their devices as if they were actual PCs. This requires an app that gives users the power to manage files and directories on their Android devices, a problem well solved by Astro File Manager. Astro lets you copy, move, delete and rename files. The app goes a step further by providing a file explorer, archive manager and backup utility.

This multipurpose app that lets you remember and recall almost anything that happens in your life. Billed mainly as a note-taking app, Evernote lets users take notes, jot down ideas, and capture snapshots and recordings for later retrieval. One of the Evernote’s biggest features is that that it allows users to instantly synchronize all their notes, images and recordings to and from phone, to the Web, to PC.



Keeping your battery life as long as possible when on the move is something everyone strives to do. Android’s ability to multitask, which sometimes leads to having unnecessary apps running in the background and taking up processor power and battery life, make Advanced Task Killer an important app to have. Advanced Task Killer is developed to free up the processor and battery life of your android device. The app works by closing any unnecessary apps from your devices system to ensure that you have enough memory to run important and productive apps.



The DropBox app is the mobile version of the popular DropBox Service that allows users to sync content between multiple devices and multiple platforms remotely. The app allows users to:

Upload from an Android device to their DropBox
Download files from their DropBox
Share links of your files to different people
Ability to auto upload images as you take them

On top of that, the app offers other added functionalities such as excellent searching capabilities and free 2GB of cloud storage for your files and media that make the app worthwhile.



The creativity of Android apps is continuously growing; every new version of Android opens up with new possibilities that will eventually be exploited to form the next generation of productive apps on the Android platform. For this reason, Android users should download the apps listed above, and even try out more apps, to get their personal opinion on what their most productive Android apps are. You may also check out the list of best free Android apps posted by Jun Auza.


Noah Amolo wrote this article especially for TechSource.

Keep Reading
in

Mozilla Firefox 4 "RC1" is Now Available for Download

- - No comments
The stable version of Mozilla Firefox 4.0 is coming real soon. For those of you who can't wait, the first RC (Release Candidate) version of Firefox 4 is now available for download. Linux users can download Firefox 4.0 RC1 directly from HERE. If using Windows, you may get it fromHERE, and if you are a Mac user, download it from HERE.


Firefox 4, codenamed "Tumucumaque", offers new features and enhancements, showcasing a redesigned user interface and faster overall browser speed. Based on Gecko 2.0 engine, it provides improved support for HTML5, CSS3, WebM, and WebGL. Firefox 4 is powered by a brand new JavaScript engine called JägerMonkey, which helps boost start up times, graphics rendering, and page load speed. Other features include enhanced notifications, Firefox Panorama, application tabs, a redesigned extension manager, integration with Firefox Sync, support for multi-touch displays, and better XPCOM APIs.

For a more comprehensive list of Firefox 4 features, you may go HERE.

Are you excited about Firefox 4? Or, have you already switched to Google Chrome and would never look back?

Keep Reading
in

Get Cracking with Cron

- - 1 comment
Cron is an age-old UNIX program that allows you to schedule your tasks. The command line application that ships with just about every flavor of Linux can be used to schedule things such as backups, syncing your system clock, and other tasks. If you are a system administrator or maintain a Linux server, cron can be your new best friend. The great thing about it is that it is both flexible yet quite easy to setup and use. Let's take a look at what's under the hood of this wonderful tool and how you can use it to make your life easier.

The cron application consists of a few files. There's the binary, which usually sits in your default system path. Then there are a few configuration files such as /etc/contab where you can configure your tasks, /usr/lib/cron/cron.allow and /usr/lib/cron/cron.deny where you can assign which items can access cron and which cannot. For most part, you can just stick to using the /etc/crontab file to schedule tasks. There are also some folders under the /etc directory called cron.hourly, cron.daily, cron.weekly and cron.monthly where you can place your executable scripts to have them run at the said times.

Before you begin using cron make sure that the cron daemon is running. Execute the command "# ps -ef | grep cron" and check to see if you get something in the output that looks like "username 2179 2153 0 15:56 pts/0 00:00:00 grep --color=auto cron". If not, you can start it by executing the command "# sudo service cron restart". On most systems though, cron is started by default, so unless you have disabled it for some reason it should be already running.

There are a number of ways to schedule your tasks using cron -three ways to be precise. You can either make an entry into the /etc/crontab file, drop an executable script into the cron.hourly, cron.daily, cron.weekly and cron.monthly folders, or use the cron command to add your task. There is a slight difference between the three. We'll get to that shortly.

Let's look at each of these methods. The simplest way to add a task to cron is to create a shell script, make it executable using the command "# chmod +x script.sh" and drop it into one of the cron folders under the /etc directory. So, if you drop your backup script into the cron.hourly folder, it will be executed at the stoke of the hour every hour. The same goes for the cron.daily. Your script will be executed at midnight. The limitation with this approach is that it does not offer users the flexibility to execute a script 15 minutes into the hour.

A better approach is to made an addition to the /etc/crontab file. This offers you a great deal of flexibility in terms of scheduling, but it comes at a cost - it is a bit more complicated. An example of a crontab entry is "30 3 * * fri /opt/script/backup_webserver.sh". The format for a cron entry is "minute hour day month dayofweek command". So, in plain English this entry would execute the script /opt/script/backup_webserver.sh at three thirty in the morning of every Friday.

The entries in cron are very flexible in accepting dates. You can enter numerical values, the name of days, and many more things. Use the asterisk sign if you want to it to be executed on every cycle of that particular column. Here's a more detailed list of what goes where:

minute - any number from 0 to 59.
hour - any number from 0 to 23.
day - any number from 1 to 31 (It's a good idea to keep it less than 28 to make sure you cover all months of the calendar).
month - any number from 1 to 12 (or the short name of the month such as jan and feb).
dayofweek - any number from 0 to 7, where 0 or 7 represents Sunday (or the short name of the week such as sun or mon).

The third method you can use to make a cron entry is to use the command "# crontab -e". This opens up an editor-like interface where you can make your entry. It should usually use your default text editor to allow you to make your entries. The format is similar to the one in the /etc/crontab entry.

There you go. That was three ways to use cron to schedule your tasks. Just make sure that you make the cron entries carefully, as getting it wrong could sometimes have bad results, such as a disk full of backups, or a system that hangs or freezes because of too much load.

Keep Reading
in

Android vs. iOS: A Developer's Perspective

- - 15 comments
Recent statistics estimate that 300,000 Android devices are being activated everyday. This increasingly growing number of Android users is perhaps the biggest motivation to Android app developers as it provides them with one of the widest markets for users to access their apps. The steady adoption of Android by device manufacturers that produce tablet computers, smartphones, and other gadgets serve as an assurance that the platform is here to stay and developers can prepare for greener pastures in the near future.

As a developer on any platform, you want to develop your applications at the lowest cost, utilizing free resources as often as you can. The Android platform, unlike iOS, is an open source platform and this fact has made developers take a liking to the Android platform, as compared to the iOS platform. Google develops Android and the company has taken huge steps in open-sourcing the technology and knowledge resources developers need to build apps on their platform. This includes Android documentation, which is very extensive and exposes developers to nearly everything. Unlike the iOS documentation that hides important aspects from developers. Furthermore, Android code is Java based, meaning the millions of already existing Java programmers have an easy time adopting the platform. These factors, coupled with the online support that most open source technology enjoys, makes the Android development learning curve much shorter than that of an iOS developer.

There are more than 50 Android phones in the market from more than ten manufacturers. This excludes other hardware that also runs Android, such as tablet computers and televisions. This is a huge number given that iOS, Android's most competitive rival, runs strictly on Apple manufactured devices. Apple's devices are roughly 10 in type. Android users are therefore somehow 'spoilt for choice' and these variations mean there is an Android device suitable for almost everyone. This is a big boost to Android developers since it guarantees that their apps can run on cheap and relatively expensive devices unlike Apple manufactured devices that tend to be rather costly.

For most developers, revenue generation obtained from sale of their apps or from advertisement plans is the reason they develop apps in the first place. They want as many markets as possible and the more users can gain access to their apps, the better for them. The Google Android market is now accessible via the web, a big stride taken by Google to add to the market app that already ships with all Android devices. Furthermore, Android developers can now post their apps to a variety of other popular markets, such as Amazon, where their apps get a global audience. The same cannot be said for apps developed for iOS since they must be accessed from Apple's market, which many consider to be restrictive in ways the Android market isn't.

Lastly, garbage collection is an important aspect of development. When building an app, you want to free up as much memory as you possibly can, given the limited capabilities mobile devices have. iOS development forces a developer to learn the details of memory management and when to free it. Android on the other hand, has efficient and automated garbage collection capabilities.


In a nutshell, Android development is easy to learn, makes use of open source technologies and has a growing online community that constantly provides examples of working code that developers can modify or adopt into their own applications. It is worth mentioning that the Android OS is itself an embedded operating system that is based on the Linux kernel for core system services.

Keep Reading
in

5 of the Best Relational Database Management System for Linux

- - 12 comments
A Database Management System (DBMS) is described as a set of computer programs that manages the creation, maintenance, and administration of a database. It is a system software package that supports the use of unified collection of data records and files known as databases. A DBMS could utilize any of a variety of database models, such as the network model or relational model.

A relational database management system (RDBMS) is a DBMS in which data is stored in the form of tables, and the relationship among the data is stored in the form of tables as well. Nowadays, majority of popular commercial and open-source databases are based on the relational database model.

For those of you who are interested, I have here a list of some of the best Relational Database Management System (RDBMS) for Linux (in no particular order):


MySQL
MySQL is a central component of the widely used LAMP (Linux, Apache, MySQL, Perl/PHP/Python) web application software stack. It is a common choice of database in web applications and is used in many well-known websites, including Google, Facebook, Wikipedia and YouTube. In addition, free software projects that need a full-featured database management system often use MySQL. Some of the popular free software projects using it are WordPress, MyBB, Drupal, and Joomla. MySQL is written in C and C++. Its SQL parser is written in yacc, and a home-brewed lexical analyzer named sql_lex.cc. The main features of MySQL include SSL support, query caching, embedded database library, True Varchar support, updatable views, and more. It also provides features that other RDBMS systems may not, such as multiple storage engines (native, partner-developed, and community-developed storage engines) and commit grouping.


Apache Derby
Apache Derby is an open source relational database management system (RDBMS) that is based on Java, JDBC, and SQL standards. The project's main aim is to provide a data management system that is easy to install, deploy, and use. Apache Derby has a 2.6 MB disk-space footprint, which contains the base engine and embedded JDBC driver. And since it provides an embedded JDBC driver, you could easily place it in any Java-based solution. Apache Derby supports the more standard client/server mode with the Derby Network Client JDBC driver and Derby Network Server. The network server maximizes the reach of the Derby database engine by allowing traditional client server operation. It also allows clients to connect over TCP/IP using the standard DRDA protocol and enables the Derby engine to support networked JDBC, ODBC/CLI, Perl and PHP.


PostgreSQL
PostgreSQL (also known as Postgres) is a free and open source object-relational database management system (ORDBMS) that has evolved from the Ingres project. With over 15 years of active development and a tested architecture, it is renowned for its dependability, data integrity and accuracy, and is widely considered as the most full-featured open-source database system. PostgreSQL has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, among others. It offers state of the art features such as Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions (savepoints), online/hot backups, a sophisticated query planner/optimizer, and write ahead logging for fault tolerance. It also supports international character sets, multibyte character encodings, Unicode, and it is locale-aware for sorting, case-sensitivity, and formatting.


HSQLDB
Written in Java, HSQLDB (Hyper Structured Query Language Database) is a relational database management system that supports a huge subset of SQL-92 and SQL:2008 standards. It provides a small but fast database engine that provides both in-memory and disk-based tables. HSQLDB offers tools such as a minimal web server, command line and GUI management tools, and several demonstration examples. It can run on Java runtimes from version 1.1 and above, including free Java runtimes like Kaffe. Some of the high-level features of HSQLDB include user-defined SQL procedures and functions, updatable views, arrays, schemas, datetime intervals, lobs, full and lateral joins and set operations. A lot of non-standard functions such as TO_CHAR and DECODE are also supported, and extensions to Standard SQL incorporate user-defined aggregate functions.


Ingres
Ingres is an SQL relational database management system that is aimed to support massive enterprise and government applications. Although commercially supported, it is fully open source with an ever-increasing global community of contributors. Ingres started as a research project at the University of California in the early 1970s and has since spawned a number of commercial and open source database applications that include Sybase, Microsoft SQL Server and Postgres. Originally funded by U.S. defense agency and the National Science Foundation, it has been steering the industry with pioneering technology for decades and has helped handle the most challenging enterprise applications of a number of Fortune 500 companies. Some of the main features of Ingres include fully transactional DBMS, ACID, and unlimited database and table size.


If you know of other excellent Relational Database Management System (RDBMS) for Linux, you may share them with us via comment.

Keep Reading