Xenon Alpha released!

An alpha version of the Xenon Desktop has been released. A description of the project follows.

Xenon is a portable web or browser based desktop for netbooks and thin clients, designed to be the easiest desktop ever.

The desktop includes a new GUI stepping away from traditional menus and is optimised for touchscreen and small devices.

The system integrates social networking features and standard desktop features into one software package.

Being browser-based, it is cross platform and cross architecture. It is built on HTML5 and PHP components, and can be run on extremely low-powered machines, allowing for cheap distribution and devices.

The backend can be run online (for users to access their data everywhere), on a personal LAN server, or on a small device, so the system can work offline, or if there are concerns about cloud storage.

An API is available, so anyone can start developing apps to distribute in Xenon's upcoming App Store.

The project's homepage is located at http://hackerlanes.com including the online desktop, ready for instant testing and a download of the alpha image for your server. The actual small footprint OS that will run on netbooks will come later.

We encourage contributions to the project, in the form of code (the languages currently used are (X)HTML, CSS, Javascript, PHP and MySQL), art (eg icons, backgrounds, GUI concepts) or even just ideas.

To send any requests or contributions, or to join the project, please email the head developer at dan.dart@googlemail.com. Thank you!


Sync iPhone/iPod Touch 3G in Ubuntu

A lot of people have been trying very hard to get iPhone and iPod Touch syncing to work correctly in Linux. Some have been doing a FUSE filesystem (which accesses the iPod) and some the database and syncing. Remember this is pre-alpha quality, but I found it synced my tunes nicely from Linux. But due to the database version being old (but quite good enough for the iPod), iTunes does not play nice with it - and will just resync the tracks and may delete them. Also the iPod must have been previosly initialised with a version of iTunes. If you cannot acquire it, or it will not run, contact teuf on #gtkpod in irc.freenode.net. You have been warned!

Mounting support

First, grab iFuse:
Add the following lines to /etc/apt/sources.list as root:

deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main

Then do:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F0876AC9
sudo apt-get update
sudo apt-get install ifuse ifuse-dev

This should install support for reading and writing files.
Create a mount point:

sudo mkdir /media/ipodt/

Add yourself to the fuse group:

sudo useradd -G fuse [your_user_name]

To allow normal users to mount the FUSE filesystems, edit /etc/fuse.conf and uncomment the line (remove the hash from the start of it):


Log out and back in again, or spawn a new login shell. Mount the FUSE filesystem:

ifuse /media/ipodt

You should see that your iPod should be mounted as yourself. You should be able to find the tracks and play them from the computer. They are oddly named and located in iTunes_Control/Music .

Syncing support

To properly sync music (well I say properly), you need to install a special branch of libgpod. You'll need to get it from git. WARNING! THIS WILL OVERWRITE YOUR EXISTING LIBGPOD! Be careful. First install development libraries:

sudo apt-get install git-core build-essential cmake autoconf automake libtool intltool gtk-doc-tools libsqlite3-dev zlib1g-dev

Get teuf's sandbox repository branch:

git clone git://gitorious.org/~teuf/libgpod/teuf-sandbox.git
cd teuf-sandbox
git checkout origin/iphone30
CFLAGS="-g -O0" sh autogen.sh --prefix=/usr
sudo make install

libgpod should now be installed, if all goes to plan.
Create control directories and files:

mkdir /media/ipodt/iTunes_Control/Device

Get the uuid of your device:

lsusb -v | grep -i iSerial

It should be the one that's 40 characters long. From the same teuf-sandbox directory, run:

tools/ipod-read-sysinfo-extended /media/ipodt

Check that a file exists. Do:

cat /media/ipodt/iTunes_Control/Device/SysInfoExtended

This should spew XML at you.
Now, install your syncing program of choice. I chose gtkpod because it works for me.

sudo apt-get instal gtkpod

The program should pick up the device and ask which model it is. There should be your device listed at the bottom (you may have to scroll). Choose it and let it do its thing, and initialise your iPod. Check a file has been created:

ls /media/ipodt/iTunes_Control/Device

If you get nothing, there's a problem. Go ask teuf. If you get that filename returned. all is well. You are able to sync, save files and update the database. Bear in mind that it saves an older version of the database, so if you go to iTunes and back, it will update tracks and the database, but they should still be readable in Linux.

I hope this has been helpful to you!

Here are some helpful references if you get stuck:
iPod Syncing


Best Security Practices For Your Personal Computer

Many of you may be worried or concerned about the security of your computer. With threats of viruses, spyware, bank details being stolen, accounts cracked and vulnerabilities everywhere, it is natural to be paranoid.

Here are some top security practices:

1. Change your passwords.

All of them. Yes, really. It does make a lot of difference to the chances of a cracker being able to track you, monitor you or pretend to be you and not. Normally people advise you change all your passwords every 2 weeks. However don't write them down, and make them long and memorable using capital letters, numbers and symbols.

Also, try not to make your password a dictionary word, or even close to it. Make it look like random garbage. You can use mnemonics to help you remember them. Consider the following sentence:

"Do as I say, not as I do!"

This can help you remember and formulate the password:
You could add numbers, or convert some letters to numbers, etc:

Being 10 characters long, this is a medium strength password.
Try to make a sentence about 14+ letters long for strong security, but remember nothing is unbreakable!

2. Install security software.
A lot of users might think here: "I have a firewall. why do I need this?". The answer is simple: Just because you can stop things coming into your computer and going out, it doesn't make it invulnerable to threats such as downloaded malicious files or bad web pages. I recommend Windows users install Avast Antivirus for free. Linux users should install rootkit checkers, such as rkhunter and chkrootkit.

3. Update your system regularly.
This is one of the worst things you can leave out. If you do not update every single piece of your system, using update managers and such, vulnerabilities may be discovered in older versions of your software. Once you have a vulnerability, anything you could do (e.g. visiting a web site, opening a PDF) might give intruders access to your system. So remember to patch, and turn automatic updates ON!

4. Install a firewall.
You may have one already, but some dismiss them. Make sure they're turned on! If you have Windows turn Windows Firewall on, and make sure there are little to no exceptons (aside from the things that you REALLY need). On Linux you can alter iptables via a GUI like Firestarter if you wish.

5. Change your browser.
If you use Internet Explorer, you might do better to switch. It is well known for being particularly vulnerable to attack. There have been more security holes in Internet Explorer than any other browser, and they have been more slowly patched as well. Firefox and Google Chrome are good alternatives. Check Secunia and SecurityFocus for more details. There is also a table of known vulnerabilities in the latest versions of many browsers on Wikipedia.

6. Start over
While many things may get in the way, you have tried your best to rid your computer of viruses, but there is a good chance that the viruses you have obtained have not been removed, as they may be too new for the database, or are too malicious. (Remember the stories about Conficker, the massive Windows malware, that you couldn't remove with antivirus?). If all else fails, the best way to remove any threats is to wipe your disk completely. Do a complete reinstall. There are many tutorials available, just google for them, or follow the guides for Windows XP and Windows Vista.If you have a recovery disk that came with your computer, then use this instead. In any case, remember to back up!

7. Back up your sensitive data.
Anything you do not wish an intruder to get at would be best removed or moved to portable storage. Encrypted is best!

8. NEVER save bank/paypal details to your computer!
If an intruder gets in, they can recover your passwords (regardless of whether they're locked out) and recover your bank details. Ouch.

9. If you have to do banking, do it on a Linux Live CD
As this Washington Post article says, you can avoid the risk of Windows malware, spyware, trojans, viruses, etc completely if you use a Linux Live CD to bank online with. I would recommend you download Ubuntu and burn it to a CD-R using DeepBurner (using Burn ISO to disk option) or CD recording software of your choice, then boot from it. Here's how:

Reboot your computer.
If you see the Ubuntu boot screen, then select your language and press Enter at the next prompt.
If you don't, see if there is a message to press a button to select boot device. Press it and select the CD or DVD device.
If there is no message, find the message that says to press a button to enter SETUP. From there navigate to Boot devices and put priority on your CD/DVD device (method may vary). Finally save changes and exit.

10. Install Linux alongside Windows.

If you like the CD, you can install it permanently so that you can install more software, by selecting the Install option on the desktop of Ubuntu, making sure to resize the Windows partition to whatever size you need. (Don't panic if resizing takes ages!)

I hope that this has helped you become more secure. Please comment if you have any suggestions or things I may have left out.


Reflections on the iPod Touch

I just bought a 32GB 3rd generation iPod Touch for £230. It's not bad for what you get:

On opening the box, you get the device, a syncing USB cable, a resizing thing for stabilising the device on an iPod dock, and a ditty pair of earphones.

The device has inbuilt Wifi and Bluetooth capability, voice control, Nike+ support, plus many apps to download.

The earphones were pretty small, and didn't fit well (they would keep falling out of my ear). The sound quality was half decent (better than many like it), and includes a microphone switch attached to the right ear wire for recording your voice, VoIP or for apps (It's supposed to feature a track switcher, but I haven't tried that yet). I found that switching them to my posh pair boasted much better quality but defeated the point of audio apps, as they have no microphone attached (there is ONE socket, designed for headphones or the special headphones/mic combo)

The iPod Touch can be viewed as a bit of a knock off of the iPhone. It's quite like it, except that the microphone has been shifted on the earphone lead, and there is no phone capability or 3G. The speakers are honestly very bad, being even worse than a laptop and having almost no bass whatsoever.

Included in the default app set are Mail (featuring IMAP), Calendar, Photos, Contacts, YouTube, Stocks, Maps, Weather, Voice Memos, Notes, Clock, Calculator, Settings, iTunes, Music, Videos, the Safari browser and the App Store. Everything you do cam also be searched for with the Search application. Note that you can have links to 16 apps on the screen at once, but once you download more, you can scroll left and right to see them all.

The built in App Store claims 15,000 applications, ranging from free to quite expensive (I've found ones that are £15). Some are clever, some are not. For instance I have apps for gaming (a clever plane fighter, a snooker application), fun oddities (drawing, tune maker), audio (Last.fm, Jamendo), communication (SocialBeacon, iDent, Facebook, IM), addictive apps (Yeti Penguin, bubble wrap) plus unique apps (Shaam, a tune recogniser, Bump, a quick information swapper), and Essentials (e.g. Google Earth, featuring double finger zooming and rotation, plus accelerometer field of view). Many of the apps use the inbuilt functionality of the iPod Touch: an accelerometer, the microphone (only if attached) and the multi-touch 3.5" touchscreen (a little bigger than that of a Nintendo DS).

The touchscreen is enough to use apps, and websites with a small footprint, but the Safari browser at least has a zoom feature, plus multidirectional viewing (that is, you can tilt the device to produce a portrait or landscape view). You get bookmarks, multiple "tabs", and fairly good compatibility with modern websites. What you don't get however, is Flash or Java, but there is a YouTube app built in which kicks in when you try to watch a video. However, obviously, this will not work on all videos (think Google Video, Vimeo etc) or let you play Flash games. A flash hack can be installed which gives you access to slightly more video sites (but no game sites) but you have to tinker quite a bit, which involves jailbreaking it.

Jailbreaking is done for the new versions using a utility called blackra1n (www.blackra1n.com) which enables you to install extra apps, hacks, and utilities. I for instance could install Quake, or the aforementioned Flash video hack. Also available are theming, NES and PlayStation emulators and many more. But the problem is that at the moment, it is a "tethered" jailbreak, which means that if you turn it off, or it runs out of batteries, you have to run the application again to start it up from recovery mode.

The Lithium Ion battery is supposed to last you for 6 hours of video or 30 hours of audio. I have not yet tested this claim.

Such media has to be uploaded through Apple's iTunes (currently available only for Windows and Mac OS X. For Linux you can use a Wi-Fi sharing app, but file transfers are slow), with the added limitation that you cannot use it for mass storage (as you can for regular iPods), for instance as a "drive" much like a USB flash disk. But the capability to sync your audio, video, podcasts and apps are available in iTunes (which helpfully converts files to its proprietary AAC format, so you can play them on your iPods, but note FLAC files cannot be converted, I had to use dbPowerAmp for Windows).

iTunes features a built in app to download and buy music and movies to watch directly on the iPod (note that Movies are still restricted by DRM, but with social pressure, music is now DRM free, for more information see defectivebydesign.org). You can also download podcasts, buy educational material from iTunes U, and listen to audiobooks. All of this functionality, plus syncing all of it from your iPod to your PC can be done by the Windows or Mac version of iTunes as well.

I hope that this has been informative, and that I haven't left anything out! I also hope that you will be able to make your decision on whether to buy one!


Xenon Project looking for helpers!

I started a project some time ago, which is for now called "Codename: Project Xenon".

Xenon is a browser-based GUI designed to be implemented on netbooks. The difference between other netbook OSes and cloud systems is that not only can you test it online, it will also be installed on netbooks - which will update from the Web automatically, giving you updates, and ability to use it without being connected to the Internet due to a local web server instance.

It will have a very small footprint - being built on very few programs, and so will run on very low-end systems, so it will bring life to your old computers as well.

We are now looking for helpers to make this project a reality. If you are a designer or a programmer who can program using any combination of (X)HTML, CSS, JavaScript, PHP or MySQL, then we would like you to help us out. We are afraid pay is out of the question at the moment, until we start selling subscriptions to the web service, the budget is zero.

If you have any ideas to help the project along, then please give us feedback!

To apply, simply email: dan.dart@googlemail.com

To visit the main website of the project, click here: http://xenon.kevinghadyani.com
To try out the web based desktop for yourself, click here: Try The Desktop . Please note that it is nowhere near finished at the moment.
To view the SDK and programming procedures to help you, click here: Xenon SDK

Thank you, and have a good day!


Linux Myths Debunked

1. "You can't run games on Linux.".
This is one that annoys me. People claim that Linux does not provide the necessary gaming requirememnts. But look:

There is a list of Linux games at http://icculus.org/lgfaq/gamelist.php which includes many famous and popular games such as Enemy Territory: Quake Wars, Quake 4 and the Unreal Tournament series. These have either been ported from the originals by independent game companies or originally programmed for Linux (as well as many other operating systems). They often run faster on Linux than Windows as the old ETQW system requirements page showed (required 2.8GHz for Windows, 2.0GHz for Linux). For games that are not supported on Linux, there are API layers (NOT emulators) for Linux that can run Windows programs, often faster than Windows can, due to memory usage. Examples are Wine (free libre/gratis), Cedega (subscription) and CrossOver (subscription). I have successfully run many Valve games on Linux such as Half-Life 2, and many mods of it, using the Windows version of Steam under Wine, and they ran great. Also check out http://en.wikipedia.org/wiki/List_of_open_source_video_games for many more cross platform free games.

2. "Linux has bad security".
Anyone who knows security will surely agree with me here. It is in fact widely known that Windows has viruses, trojans, worms, malware and various spyware available for it. The makers of these programs assume you have Windows (as the majority of desktop users have at the moment). New malware is being made all the time and if you get a virus, you will likely not know about it until it has done its damage (unless it's quite old, in which case your virus checker will pick it up). Malware has been made for Linux but most past attempts at it have failed. http://en.wikipedia.org/wiki/Linux_malware
Linux was originally designed for multiple users from the ground up, in contrast to Windows' 1-user original setup. This could factor in too.
The password hashes used by Linux can be Blowfish or MD5. These are known strong algorithms, and they are protected by a "salt" to protect against "rainbow table" password cracking. Unfortunately, Windows uses a hash called "NTLM", NT Lan Manager. These hashes don't have salts, and your password is split into 7 digit segments before being hashed. See http://en.wikipedia.org/wiki/LM_hash . These keys are significantly easier to crack and don't require much time if necessary rainbow tables have been installed.
In the times of Windows XP, no password was set by default for the main user or administrator, Though this has been fixed now, this was a huge security risk.
Exploits in Linux and Windows have been widespread, but Windows has had many more serious ones. In fact in 2008, a Windows server could be compromised by attacking the SMB service in an attack called "ms08_067_netapi". This can gain System user level access to the system.
Linux kernel exploits have indeed been found but have been patched significantly quicker (as open source usually is, as there are many more developers), and cannot be exploited from the outside.
One more reason why Windows computers happen to be less secure is that the users running the system do not know much about security (they are less educated) and as the system is often not tightly locked down enough.

3. "Linux is hard to use".
This is a complete joke in my eyes. I recommend Linux Mint at www.linuxmint.com to anyone to try it. You will find that most if not all of your hardware is auto detected (Windows does not have this, it needs drivers, and the only reason it works for you is that they have been prepackaged along with your computer), and it's simple.
To install software all one needs to do is to go to the Install Software or Package Manager button in the menu and search for software. Repositories like this have been checked for malware so there is a very slim chance user programs will do harm.
Ubuntu and Mint are world renound for their ease of use, and that means there is no reason not to check them out!

4. "Linux won't play my media/DVD/etc"
It is likely that your distribution does not come with necessary media codecs (for legal reasons). That is why I recommend Mint (to anyone in a country where the software is legal, get the Main edition). This includes software to play DVDs and almost all media formats. Though it is not hard to install it in Ubuntu, the media players prompt you to choose a codec and install it!

5. "Linux is all command line".
Proof enough are these pictures:


Linux is not ready for the mainstream

Caught your eye?

The reason I say this is not that Linux isn't quality - of course it is.
It's not that Linux isn't ready to be used by the mainstream - it is.

The problem here is that Linux doesn't want to be for the mainstream. A wide variety of developers exist, and quite a few don't wish there to be a standard. To me, a standard is what defines a product to market. But the main idea of Linux is to be free, not in the traditional cost-less sense (gratis) but in a freedom sort of way (libre). This means that people are free to do what they wish with it, and to keep it free if distributing it.

To really make it, a product should be the same on all sides, easy to use, and have a common way of working. With the ridiculous amount of desktop environments (KDE...GNOME, etc) and text editors, this standardisation idea has become a laughing stock in the face of freedom. People want different things, they work in different ways. Some will want DEB, some will want RPM. That is why there will always be a million and one different flavours of Linux. And that is why marketing Linux is always going to be difficult. Open source is all well and good (Look how well Firefox did) but only in small, controlled packages such as these. If you let rip an OS designed to be free, then freedom will come, and you will not get one marketable product.

That is why, sadly, while the individual people who use Linux may like it, but Linux is simply too free to be for the mainstream.

To try to solve this, an ongoing project to create a standard easy-to-use small whole system, primarily for new small less-powerful devices, merging the gap between your computer and the cloud is encouraging developers to come and join. It is called Xenon, and is located at http://xenon.kevinghadyani.com . And it has absolutely nothing to do with Linux.


A * For That

My goodness. First it was I'm a PC/Mac... obviously you're a bloody human.... since Apple said "there's an app for that", Subway of all companies have invented "There's a Sub for that"... Geez, talk about not being able to afford imaginative people... Oh, and I'm Spartacus.


How to Conquer the Desktop

What does Sturmbahnfahrer mean? And who would have guessed the meaning of Stormbaan Coureur? They are different names for the same software: "a simulated obstacle course for automobiles".

Now grab someone off the street and ask them what Linux means. No? A "command-line" operating system is all you'll get from a lot of people. Most people who have used Linux before the year 2000 have had some sort of problem, due to usability, and it has put them off.

Now, ask them what Windows means. Sure, it's an English word and English is fast becoming the language of choice. It has two meanings: "A piece of glass" or "What my computer always says first". People don't know anything about operating systems. What your computer has is what it will have forever, is most people's opinion.

To change systems then is a frightening step to many and many won't be clever enough to understand the concept that something will "exist outside of Windows".

Wubi meanwhile (a program to install Ubuntu "inside" Windows) will just confuse people even more. If they understand Ubuntu is another program, they won't get why they can't just use their own programs.

People don't care about how free or open their system is. They'll buy Windows 7 because they'll probably hate Vista or be forced into it. We had a little legroom while Vista was out since Windows users started looking around for something different.

The thing is, people fear change. They won't move away from what they're used to even if it is fundamentally broken or flawed or just keeps crashing. The only way to wrench people away is to add more small Linux-based devices to the market.
Netbooks are doing pretty well in this area. Due to people not recognising it as a computer (or a laptop) people will be more open to what is on it. The same happened with the iPhone. The software is different, yes, but the hardware is also different, so people feel that they can accept it.

To change people with an open mind (a lot of users are switching already) we need to follow these steps:

0. STANDARDISE!! This is the most confusing aspect. Have ONE standard distro, call it something cool and DON'T mention Linux. Have ONE standard Desktop Environment. Everyone knows how to use it, it's all the same.

1. Have ONE Package manager. That means ONE way of installing. It won't break if more people work on it. Have packages downloadable in a format inclusive of all the libraries. Also have an add and remove panel. Repositories are cool. They have made our software secure. Let's have ONE repository containing only GUI end user applications, named after their use (Image Editor not GIMP) and have essential packages built into the system. No library packages, no dependencies, Just download Image Editor and it works. Perhaps like Acorn or Mac OS, in which you drag and drop the program to your desktop and it works. If duplicate libraries from packages exist, keep the newer. If packages break, the library has dropped support for something, so don't drop it! If a console app exists now, make a standard frontend for configuring it. E.g. Web server package (inAdvanced section) installs Apache AND a STANDARD frontend, All its libraries are there in the package. One package file to install for Web server. One to install
for File Server. And so on.

2. Standard packages. Have ONE text editor. If it lacks features from others, add them. Have a beginner and advanced mode. Etc. Call them "Text Editor" not "nano" or "kate" or "gedit". What the hell are those?

3. Advertising. Advertise like you've never advertise before! PRODUCT! And why you should buy it! It's cool! Let's all get on this.

4. STABLE! If things can break, fix them BEFORE releasing. Ubuntu releases broken products (look at 8.10). Debian delays but releases when finished.

5. HARDWARE! My brother's iPod Nano doesn't work in Linux straight away. This is one thing that will leave people ditching Linux. My 3D games I downloaded don't work. I don't want to have to bother with nVidia drivers. My camera doesn't get picked up. I can't sync to my MTP media player out of the box. Etc.

6. No Command Line. No one should EVER have to type anything into a console. It's simple user-friendliness.

Let's all work on this and soon we'll have a user friendly system, easy to use, ready for the enterprise.

There is an ongoing project to conquer this challenge. Its codename is Xenon and it tries to do all this in the browser. It can be used on all devices and will be installed on small devices. To catch up with development or contribute, please visit:


What Free Software needs

When I was young, I remember wanting SUSE 9.2 Professional. It seemed like a good stable system with many good reviews. Afterwards (luckily) the distribution switched to GPL and I managed to acquire a copy of 9.3. It was very good for its time, its acheivements vastly outstepping anything I had previously seen. With instant search, good photo management, and all the rest, it seemed to be a good stepping stone onto which further development could be put upon.

A while later, I find that "cool" features seem to be getting less and less common. With the advent of Compiz a few years ago, coolness in the desktop rose a little, but with less common other features, and small incremental updates in most distributions, computing was getting a little more boring, with little to wow about. We now need a good jump up, or proprietary software will catch up. KDE 4 recently has been a downfall, mainly because people disliked it from being so very different to the very stable and mature 3.5 series, which I was in fact excited about at the time. When the "broken" Microsoft Vista followed after KDE 4's (premature) release, people managed to give Vista bad hype for being so out of step with current needs that it would not run software that ran on previous releases flawlessly. Between now and then, KDE 4 and Vista have largely sorted out their concerns. Ever since Vista SP1 and KDE 4.2, I think a lot more people are happy with either release. But many people still dislike this new "dark" theme over the previous light theme, and as such prefer to stick to the "dead" XP or the less-supported KDE 3.5.

Other problems we in the Free Software community face are:

Lack of standardisation. Yes, as much as I hate to say it, standard ways of doing things are waning. Especially in the Linux community, 500 different distributions are not a good way of doing things. Factoring out the "useless" distributions, based on whether they have been done before, how useful a distribution is, whether the same effect could be copied painlessly in another distribution, I think maybe 50 might remain.

Lack of standard package formats. As much as I still hate to say it, all Linux distros need one defining package format. Right now it is considered too difficult to develop for Linux, as there are so many formats to develop for. DEB, RPM, RUN, Autopackage, TAR.GZ, TGZ, and others make it difficult to develop for. I think we need a standardised package format and standard repositories that all distros can pull from. Having different ones means that it is currently difficult and long-winded to document how to install software on all current distributions. Here is what I think we need:

One format. One format, one download link for Linux, one way of packaging. Easy, simple.

One repository. One website serving download links for every conceivable package, in an installable static format (including every library it requires) or dynamic (for short downloads).

Every application. There are far too many repositories. There are in excess of 50 for Ubuntu and openSUSE. Why can't they just all be in the same place? Of course, to keep freedom-lovers happy, split it into free and non-free but essentially it's easier to get what you want now.

Every proprietary game or application maker can now package their game or application into ONE single format, upload it to ONE server (if necessary) or ONE CD/DVD/USB, and allow use or play to EVERY free software user.

Standard Libraries. GNOME and KDE are in pretty much fair competition. I cannot dispute or argue against it. Choice is paramount, but applications that don't work are unacceptable. If there were a library that could be used to create desktop applications that would run fairly on each, and not look foreign on one or the other, then it should be developed upon by everyone trying to provide a fair experience. People don't always have the libraries that are needed by some obscure piece of software, so they should be readily available, or the application should use something more common.

Backward/Forward Compatibility.
Proprietary module or "driver" creation is impossible in Linux. If a hardware manufacturer wishes to hide the functionality of their driver, they cannot release binary-only drivers in Linux currently. I know that manufacturers should be encouraged to develop freely, but if there is no chance of this, there is no chance of that hardware working on Linux. The license makes it difficult but I believe that if a manufacturer provides one of those "Driver CDs" in that standard package format above with Module Versioning support on in the kernel, drivers do not have to wear out.

The kernel seems to not like modules from a past or future kernel, mainly because it is not at all stable, but also because Module Versioning does not work by default in most distros by default. Looking at Windows, applications and drivers from a number of years ago will work in today's release, and (in general) releases before the release of the application or driver. We need this back-forward compatibility for proprietary software vendors (who can't be convinced to switch to free) not to have to either release their code or keep compiling their code for each kernel or new release.

A hopeful fix
I'm in the process of creating a browser-based desktop environment that will hopefully overcome all that, and allow for major cool features as well as ultra compatibility and ease of use for new users. It isn't Linux, or anything to do with current free software but it can lie on top of Linux/Solaris/BSD/Windows/Mac/whatever if the user so wishes.


Answers to the big questions

Questions like "Why is the universe made mostly of matter?", "Why are we here?", "Is there a god?", and "Is there life on other planets?" are answered scientifically here.

Why is the universe made mostly of matter?
Simply because it had to have matter and antimatter to come out of pure energy. Antimatter, doubtless, is hanging around somewhere, perhaps it's the "dark matter" or locked up in that "dark energy" that scientists are theorising about so much. But the fact remains, if we are here to question it, there must be one type of matter primarily in the same region of space as us. Otherwise we wouldn't be here to ask. If there were matter and antimatter in the universe, one would annihilate the other and we wouldn't have got here.

Why are we here?

This question is quite vague. By "why are we here" I mean, why did humans exist in the first place? Not "why am I living here specifically".

Imagine the early universe. Googolplexes of things bashing into each other at phenomenal rate. One is bound to create an atom of some sort. In a universe of such ridiculous amounts of matter, one somewhere is bound to create something useful. So chances are, one is bound to create life. Now this life may or may not die out almost instantly, so it needs a way to duplicate itself if it's going to survive. It may or may not care, but the important thing is, that if a life form is created during the early time of Earth, only life forms that do reproduce actually get to evolve. And evolution, obviously, is tiny changes in genetic structure, randomly happening. So, only the life that evolves into the "right" kind of life gets to stay reproducing. Granted, other forms of life mutated too, but only the "best" kept its longevity. So random life just happened to appear our of the primordial ooze of the early Earth. It was of course bound to happen somewhere. So up and up went the forms of life that were best suited to surviving. Eventually, humans evolved out of those plants and animals. We discovered machines, and they help us to do what we want. In fact, some believe we are going lower and lower on the evolutionary ladder, because we are getting more and more used to technology helping us along, and become less and less needy of the things we are born with naturally.

Now, so why did we have to be HERE, specifically? Well, we'd be asking that wherever we were, because if we weren't here, we'd be asking the same elsewhere. It's all just a factor of chance.

Is there a god?

Since we've gone this far from randomness alone, and what pretty randomness it is, there is unlikely to be an external force needed, except for whatever the big bang was created out of. People have created imaginary deities in their mind, tried to believe there was a familiar "being" that could not be explained or argued against, and that we were at the centre of the universe, and let others believe this too. This was to stop them from going mad, because if anyone knew the truth about how insignificant we were, or how we didn't matter that much, cosmically speaking, they would, to put it bluntly, not be content,

Are there other forms of life on other planets?

Almost certainly. In the random beginnings of the early universe, there was bound to be more than one life form that evolved. Some believe close planets such as Mars may have contained life at some point, but do not now. In our theory, life as we know it has to have water as one of its important constituent components. But who says all forms of life have to have water? For all we know, planets might be alive. But here, we do not quite know what defines as life. Maybe a different form of life has some of the forms of life as we do and not others. We wouldn't classify it as life. Just as we wouldn't classify robots as life, aliens might do. They reproduce (create other robots), eat (electricity), excrete (fumes), move, and all manner of things that might be attributable to life. Even intelligence is not necessary in life. Just look at plants. We do not think they are particularly intelligent, but if they've survived this long, they must be doing something right. So to me, it's almost a certainty that life exists elsewhere, it's just a matter of us understanding what life is.

Next time, how many dimensions are there? How many universes are there? How far can we perceive?