2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 4,600 times in 2011. If it were a NYC subway train, it would take about 4 trips to carry that many people.

Click here to see the complete report.

Gnome 3 Tutorial – Install Gnome 3

GNOME 3 is the next evolution of the GNOME desktop environment, and it has been released on April 6th, 2011, on mirrors worldwide. GNOME 3 is a light desktop environment used in many popular Linux distributions, such as Ubuntu, Mandriva, PCLinuxOS, etc.

We’ve tested the tutorial on the beta version of the upcoming Ubuntu 11.04 (Natty Narwhal) distribution. To install
GNOME 3 on your system follow the next step-by-step (with screenshots) tutorial.

WARNING: Attention! If you follow this toturial, you’ll break your Unity session. There is no downgrading method for now. You’ve been warned!

Step 1Add the GNOME 3 repository

Hit the ALT+F2 key combination on your keyboard, check the “Run in terminal” option and paste the following command in the “Run Application” dialog:

sudo add-apt-repository ppa:gnome3-team/gnome3


Review image

Enter your password when asked and hit the OK button. A terminal window will appear for a few seconds, and it will automatically close. Hit the ALT+F2 key combination again, check the “Run in terminal” option and paste the following command in the “Run Application” dialog:

gksu apt-get update


Review image

Enter your password when asked and hit the OK button. A terminal window will appear for a few seconds, and it will automatically close.

Hit the ALT+F2 key combination again, check the “Run in terminal” option and paste the following command in the “Run Application” dialog:

sudo apt-get dist-upgrade


Review image

A terminal window will appear. Enter your password and hit Enter. When you will be asked if you want to upgrade your packages, type Y and hit Enter. The terminal window will automatically close when the installation is over.

Step 2Install GNOME 3

Hit the ALT+F2 key combination again, check the “Run in terminal” option and paste the following command in the “Run Application” dialog:

sudo apt-get install gnome-shell

Enter your password and hit Enter. When you will be asked if you want to install gnome-shell, type Y and hit Enter. The terminal window will automatically close when the installation is over.

That’s it! GNOME 3 is now completely installed in your Ubuntu machine. All you have to do now is to reboot your system and choose Ubuntu GNOME Shell Desktop at the login screen.

Enjoy your new GNOME 3 desktop environment!


Review image

Review image

In time, your GNOME 3 installation will automatically update to newer versions, so make sure you update your system regularly.

If you have problems with the tutorial, do not hesitate to comment below!

Tweak Linux for Broadband

Tux, as originally drawn by Larry Ewing

Image via Wikipedia

Okay, here’s the reason this page is here, I visit the Forums over on SpeedGuide frequently.   And occationally someone will ask “How do I tweak Linux for broadband?”.

So, I thought it might be helpful to write a small snippet (not an authoritative guide or HOW-TO) on how to tweak Linux for broadband, and what each setting does.   This document applies to kernel 2.4.x, and will also work on the 2.6.x kernel provided it is compiled with /proc file system support enabled (in the kernel configuration menu: File systems -> Pseudo filesystems -> /proc file system support).   Part of these tweaks can also be used on kernel 2.2.x, although it doesn’t support some features that the newer kernels do.   Let’s begin.

One of the values you will see mentioned quite often is the RWIN (Receive WINdow) value.   More often than not most folks who are into tweaking their TCP/IP setting will ask you what you have your RWIN set to, in order to see if you have it set optimally–at least in the “Windows World”.   However, in the “Linux World” this value is dynamic–Linux 2.4 kernels use a feature called auto-tuning which scales the window size during the life of a connection.   It basically works like this:

  1. You make a TCP connection to another computer, sending a packet with a small window (say 5280 bytes)
  2. The other computer responds with a packet that has a window size larger than the one you sent (say 8450 bytes)
  3. Your computer then scales the window size to a little more than the window size you just received (say 9460 bytes)
  4. The other computer responds with a packet that has a window size larger than the one you sent
  5. This continues throughout the connection until either your computer or the other computer reaches its maximum window size

What does this mean?   Well, you can pick an arbitrarily large window size (for the most part) and not have to worry too much about making it too big.   I use a window size of 512 KB (or 524288 bytes) myself, and I have no problems at all.   My brother, who runs Linux over a different broadband provider than I have, had some trouble with using 512 KB–so, instead he used 256 KB (or 262144 bytes) which worked better for him.   Typically, you will notice that your connection is actually slower than the default settings if your window size is too big.   That being said, you should try out different size window sizes and see what works best for you–but, in most cases either 512 KB, 256 KB, or 128 KB seem to do the trick quite nicely.

Now that the window size has been somewhat explained, there are two things that need to be pointed out.   First, most of the web-based bandwidth testers will not correctly assess your windows size.   They usually show the size of the window that they first received, and do not take into account auto-tuning–this is probably because they are written by Windows Users for Windows Users.   And, second, Linux only supports window sizes of up to 64 KB (or 65536 bytes) without enabling window scaling (See rfc1323 “TCP Extensions for High Performance” for additional info on this).

Continuing on, I would like to give you an idea of where these settings actually reside and what they mean.   The first set of four are located in /proc/sys/net/core.   They are:

  1. rmem_default – Receive Window default value
  2. rmem_max – Receive Window maximum value
  3. wmem_default – Send Window default value
  4. wmem_max – Send Window maximum value

The second set of eleven are located in /proc/sys/net/ipv4.   They are:

  1. tcp_wmem – Send Window vector–contains 3 integer values: <min> <default> <max>
  2. tcp_rmem – Receive Window vector–contains 3 integer values: <min> <default> <max>
  3. tcp_mem – TCP stack memory vector–contains 3 integer values: <low> <pressure> <high>
  4. tcp_rfc1337 – See rfc1337 “TIME-WAIT Assassination Hazards in TCP” for an explanation; 1 enables, 0 disables
  5. ip_no_pmtu_disc – Path Maximum Transfer Unit discovery–disable this and the MTU settings are derived from the MTUs of all the hops along the path to the host you are connecting to, including the host itself; 1 enables, 0 disables
  6. tcp_sack – See rfc2883 “An Extension to Selective Acknowledgement (SACK) Option for TCP” for an explanation; 1 enables, 0 disables
  7. tcp_fack – Forward Acknowledgement is a special algorithm that works on top of the SACK options, and is geared at congestion controlling; 1 enables, 0 disables
  8. tcp_window_scaling – window scaling, explained in the previous paragraph; 1 enables, 0 disables
  9. tcp_timestamps – controls timestamping packets as described in rfc1323, since we will be using window scaling we might as well use this too; 1 enables, 0 disables
  10. tcp_ecn – See rfc3168 “The Addition of Explicit Congestion Notification (ECN) to IP” and rfc2884 “Performance Evaluation of Explicit Congestion Notification (ECN) in IP” for an explanation; 1 enables, 0 disables
  11. route/flush – flushes the routing cache; 1 enables, 0 disables

Now we know what we are going to set, let’s go over how we are going to set the values.   There are a few ways to do this, you could echo the values into the “files” in a script that you add to your boot process, you could use the sysctl command to set the values in one shot (`sysctl -w net.ipv4.tcp_sack=1 net.ipv4.tcp_fack=1 …`) then create a script that you add to your boot process.   Or, you could take the easy route (which is always the preferred route in my book), and add the following to /etc/sysctl.conf (substituting your window size in place of 524288, if necessary):

# Tweaks for faster broadband…
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.route.flush = 1

Then to have the settings take effect immediately, run:

sysctl -p

I should point out that there are many other options/settings that are available in /proc/sys/net, some of which are not there unless you compiled them into your kernel (all the ones I mentioned above “should” be in most distro’s stock kernel).   I only went over, and set, the ones that have a direct impact on broadband performance–and left out some other settings that can improve security, but at the cost of speed.   For more information on what’s available in ipsysctl read the Ipsysctl tutorial.

Finally, there is a GUI called Powertweak that you can use to set these settings–instead of editing /etc/sysctl.conf.   It’s fairly easy to use, and is a bit easier to understand.   So, if you are a “GUI” type of person, it might be a little less intimidating using this utility.

Ubuntu Linux 10.04 Lucid Lynx

CANONICAL’S UBUNTU has a lot of hype to live up to. First released in 2004, Ubuntu has established itself as one of the most intuitive and accessible Linux distributions and has never shied away from giving both Microsoft and Apple a run for their money. Ubuntu 10.04, dubbed Lucid Lynx, builds on previous iterations by integrating social networking and cloud services directly into a slick looking and responsive desktop.

Slick and responsive doesn’t however preclude some questionable choices visually. There was much rejoicing upon the announcement Canonical would be updating Ubuntu’s design from the earthy tones that had featured on previous releases. Unfortunately, as if to provide further proof of their all-inclusive nature, Ubuntu’s apparently daltonic design team came up with a violet theme unlikely to be everyone’s cup of tea, unless the tea is laced with hallucinogens.

Surrounding the purple haze are dark taskbars and window frames, which make the desktop feel noticeably smaller. In a polemic move that further exacerbates this claustrophobic feel, buttons have been moved to the top left corner, opening up vast amounts of unused space on the right hand side.

Canonical has said the change is a preemptive move, and that the resulting no-app’s land will be filled with innovative features in future releases, but it all sounds a bit like selling a car with no wheels in the hope future models will fly.

One of the big calling cards for Lucid Lynx is the integration of social applications into the desktop’s new Me Menu. This essentially comprises three apps – Empathy, Evolution and Gwibber for chat, email and microblogging respectively. All three blend in nicely with the desktop and share an indicator applet in the taskbar, removing much of the clutter of running the processes individually.

While integrating application suites has many benefits, problems arise when any one of the provided services is just not good enough. Empathy seems like a solid alternative to Pidgin. Evolution is unlikely to be a very popular choice among a userbase most likely using Thunderbird, Claws or Mutt already. Gwibber feels slow, and might seem overly simplistic when compared to other microblogging clients. Changing any of these applications as your default messaging client will immediately render your desktop a little less pleasant to use.

Hopefully with time applications might be integrated interchangeably in Gnome, but for now you’re stuck following online hacks which might or might not be of use six months down the line. Fortunately, unlike using Outlook on Windows or Mail.app on Mac OS X, there is no reason competing applications cannot work as seamlessly as those provided by Ubuntu.

In parallel, Ubuntu 10.04 provides tighter integration with Canonical’s cloud-based efforts. Despite having a multimillionaire benefactor, Canonical has no doubt heeded Yahoo’s warnings on the need for diversification by developing Ubuntu One, a service which provides both 2GB of free Dropbox-like storage and an online music store.

Alas the online music store, while potentially providing some much needed revenue for Canonical, will likely remain unused by most users. To distance itself from the many anonymous online music stores, Canonical provides the same limited catalogue in the same proprietary format.

Furthermore with Jamendo, Magnatune and now Ubuntu One, Rhythmbox is quickly becoming more cluttered with stores than many local high streets. Disabling any of them is a case of unloading the appropriate plugin, but you can’t help but think Canonical is needlessly investing time and effort on a feature likely to be met by resounding silence.

Where Ubuntu should shine is in providing access to Linux’s endless software repositories. The Ubuntu Software Centre provides a visually attractive front-end for aptitude, which does all the heavy lifting interfacing with the APT package manager, but chip away at the veneer and you’ll find Canonical has done very little beyond providing basic functionality. User ratings, ranking by popularity or suggesting similar packages to replace currently installed duds are all notably absent, making sifting through the immense catalogue cumbersome unless you know what you are looking for.

Admittedly, no other package management system provides all of these, but Ubuntu is squarely focused on the inexperienced. Furthermore, Canonical plans on providing paid apps through the Ubuntu Software Centre in the near future, in which case feedback on an application’s quality will be essential.

Ubuntu evolved at a blistering speed. When you experienced the wealth of improvement from Breezy Badger to Feisty Fawn, it was hard not to wonder whether a Linux-based OS might finally usurp its commercial rivals as the ultimate desktop experience in the near future. Canonical has put a lot of effort into catching up with both Windows and Mac OSX and on many fronts has largely succeeded. However, as in Zeno’s paradox of Achilles and the tortoise, merely closing the gap on each iteration is insufficient to overtake your rivals entirely.

Canonical has largely focused on toning down bleeding-edge applications to run smoothly in a stable, hassle-free operating system. The challenge facing Ubuntu is no longer merely attracting users from commercial rivals, but also to stem the loss of users to rival Linux distributions. The Me Menu is a good indicator of how Ubuntu can evolve, innovate and differentiate itself from internal competition such as Archlinux, Debian, Fedora, Suse, Mandriva and others, despite building on the same open source components.

Whether Ubuntu is the right distribution for you is largely down to personal preference. From the ivory tower of tech journalism most reviewers are quick to point out Linux is a pain to install and use, and Ubuntu has somehow overcome this crippling heritage to become an easy to install and usable OS. Most likely this condescending attitude derives from never actually having used Linux – most distributions now provide Live CDs and easy installers, with access to the same software through their own package management systems.

In Short
Ubuntu’s one-size-fits-all nature makes it a good initial introduction to Linux-based operating systems. Visually, it keeps improving, but it is not quite all the way there yet. While many can argue whether Linux is ready for the desktop, there’s little doubt that Canonical packages up Ubuntu better than the vast majority of distributions out there. The biggest compliment one can pay to Ubuntu is that it feels like a professional product in its installation, look and feel and above all updates. If nothing else, you should give Ubuntu a try to give you some perspective on how well your own OS suits you.

The Good
Maturity and popularity aid in usability, integration with cloud services, long-term support (LTS) release, painless update from previous version.

The Bad
Might be too Mickey Mouse for hardcore Linux users, strong branding and colour scheme.

The Ugly

Which Linux filesystem to choose for your PC? Ext2, Ext3, Ext4, ReiserFS (Reiser3), Reiser4, XFS, Btrfs

If you’re a Linux user, you’ve likely been asked at some point if you want Ext3, Ext4, XFS, ReiserFS, Btrfs, or one of many other filesystem acronyms. This choice confuses new and old users alike, and like all software, the options change as technology improves. Many people probably don’t care what filesystem they use as long as it’s stable and reasonably fast, but how do you know which one that is? This guide will attempt to cover the basic differences between the most common options, and provide the pros and cons of each choice.


Ext2 is Linux’s “old standby” filesystem. It was the default for most of the major early Linux distributions. While it has been mostly supplanted by versions 3 and 4, ext2 is still popular on USB and other solid-state devices. This is because it does not have a journaling function, so it generally makes fewer reads and writes to the drive, effectively extending the life of the device.

Recommended Use: USB/Solid State Drives, or any cause where you need high stability with minimal reads/writes.


The most notable difference between ext2 and ext3 was the introduction of journaling. In short, journaling filesystems are meant to recover more gracefully in the event of a system crash. Whenever you find yourself in doubt about which filesystem to use for Linux, ext3 is nearly always a good bet. It’s extremely mature, extremely well supported, and contains all the features you’re likely to need for a desktop OS.

Recommended Use: If you have no specific reason for another filesystem, ext3 is an excellent default.


The most recent in the ext filesystem line, ext4 includes many major improvements over ext3 like larger filesystem support, faster checking, nanosecond timestamps, and verification of the journal through checksums. It’s backward and forward compatible with versions 2 and 3, so you can mount a ext2 or ext3 filesystem as ext4, and the other way around. You may however lose some of the benefits of the newer versions when mounting as the older. Many of the modern Linux distributions now offer ext4 during the install, and some are using it as the default.

Recommended Use: Ext4 should be stable enough for desktop and server needs. If your distribution offers it as an install choice, it should be a good choice for nearly any usage needs.

ReiserFS (Reiser3)

Before ext3, ReiserFS was the only journaling filesystem for Linux. It’s also notable for allowing live resizing of the filesystem. In some cases where many small files are involved, Reiserfs can outperform ext3 by a considerable margin. Reiser3 has problems, however when it comes to handling things like multicore PCs, as the design only allows for some operations to run one at a time.

Recommended Use: Interacting with small files on a single core system.


Reiser4 is intended to solve some of the problems with the Reiser3 implementation. Performance has improved, particularly with small files, and it includes support for plugins to handle things like compression and encryption. Reiser4 has a somewhat uncertain future. It has not yet been accepted into the main line Linux kernel, the lead designer is in prison, and the company developing it is not currently in business. Reiser4, if completed and fully polished, could be a fast and useful filesystem, but until it gains a foothold in the mainline kernel it may not be a good choice for long term use.

Recommended Use: Filesystem testing and development


XFS is packed full of cool features like guaranteed rate I/O, online resizing, built-in quota enforcement, and it can theoretically support filesystems up to 8 exabytes in size. It’s been used on Linux since about 2001, and is available as an install option on many popular Linux distributions. With variable block sizes, you can tune your system like a sliding scale to tweak for space efficiency or read performance.

Recommended Use: If you really like to tweak your system to meet your needs, XFS is a great way to go.


Btrfs is still in development, and may not yet be ready for production server use. That said, it has been included to some extent in the Linux kernel and is available as an install option in some distributions. Some of the interesting features include transparent compression, snapshots, cloning, and in-place conversion (with rollback) from ext3 and 4. According to the lead developer, Btrfs aims to “let Linux scale for the storage that will be available.” Btrfs, once completed and matured, will likely be a strong contender in the Linux filesystem world on both desktops and servers.

Recommended Use: Eventually, Btrfs should make for an excellent filesystem for servers and other high-bandwidth high-storage devices.

Poll: Linux, Windows, or MacOS as your main operating system?

How To: Tweak Linux for broadband – Linux Tweaks for faster broadband

Linux Tweaks for faster broadband:

Add the following to /etc/sysctl.conf (substituting your window size in place of 524288, if necessary):

net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.route.flush = 1

Then to have the settings take effect immediately, run:

sysctl -p

See the whole story here.

How to dual boot Windows Vista and Linux



How to dual boot Windows Vista and Linux


I have had a number of requests for how to documents on dual booting Windows and Vista. Since the process for Vista and XP are different I am going to give them separate articles. I will start with dual booting Vista and Linux This tutorial will focus on the Windows portion of the process and will only mention the issues surrounding the Linux installation that are necessary to make note of.

Of course I have to make mention to back up your data! You never know when something could happen to cause you to lose precious files.

Well, let’s begin…


Before we go into the how to on this it is best to discuss what dual booting is and how it is possible. I will mention that the most important issue with setting up a dual booting machine is that Windows MUST be installed first. Because the Windows boot manager is a very single-minded boot manager, it will not recognize any other operating system. To that end, the Linux bootloader must be used.

Now dual booting is exactly as you would expect: A single machine with multiple, working operating systems installed. Upon boot of the machine the Linux boot loader (typically Grub) allows you to select which operating system to boot. This set up is very nice for those wanting to make the transition to Linux or want to use Linux but have Windows to play games on.


Getting Vista Ready

Vista did some things right. One such thing is hard drive partitioning. With Vista you are able to re size a parition, on the fly, without damaging data. Microsoft hid this tool a bit, so you have to know where it is. To open up the Computer Management tool click on the start menu and then right click the Computer entry.

Locating Disk Management

Click on the Manage entry from this new menu to open up the Computer Management tool.


Now it’s time to click on the Disk Management entry. Once you click on that you will see your machine’s hard drive in all its partition’d glory.

disk management

There are two parititions on this drive. The larger partition (141.61 GB) is the partition to re size Right click on that parition to open up a new menu. From this new menu select the “Shrink” entry.

Partition managing menu

Partition managing menu

Once you select Shrink a new window will appear asking you how much to shrink the drive.

Shrink window

Shrink window

The amount of space to shrink will be the partition your Linux installation is on, so make sure you create enough space.

Once you click the Shrink button your machine will go to work re sizing your partition. Once the partition has been re sized there will be unallocated space on your drive.


In the image above I only re sized the parition a small amount. You will need to create a much larger portion of unallocated space to install Linux

Once the partition has been re sized, it’s time to load Linux.


Installing Linux

Since there are numerous distributions I will only touch on the key aspects you need to watch for. Most likely you will be installing from a Live CD so boot the Live CD up. Once the Live CD has finished booting click on the Install icon to begin the installation process.

The first section you need to pay close attention to is the partitioning of the hard drive. What you need to do is make sure the installation uses the free space on the drive. You most likely will have to select the Manual partitioning, but don’t let that scare you. Once you select Manual you will have options to select. There should be the equivalent of using only the free space on your hard drive. Do NOT select anything remotely equivalent to Use Entire Disk. If you make this selection your Windows installation will be erased.

Once the installation partitions the drive it will install all the files it needs. Upon completion of the system installation it will be time to install the boot loader. Just accept the defaults because the Linux boot loader must be the first thing to load on the machine.

Once the boot loader is installed it’s time to reboot. You will notice when you boot (again the exact wording and look of this will depend upon the distribution chosen) there will be a few boot entries. The default entry will be the Linux operating system. If you do nothing within 10 seconds Linux will boot. You can use your arrow keys to select the Windows choice and hit enter to boot into Windows.

Final Thoughts


Congratulations, you now have a dual booting Vista/Ubuntu machine. It’s really that simple.

Welcome to Linux Tweaks WordPress Blog!

Welcome to the Linux Tweaks WordPress Blog!  This site is currently under construction, but soon will be one of the most informative Linux Tweaks, Tips, Tricks, Administration, etc. resource on the internet.  Please bookmark this page and check back soon for updates/new posts.

Also, feel free to register an account on this blog or sign in with your wordpress account and leave feeback/suggestions/comments, and get notifications when new posts are made to this blog :)

In the meantime, you can check out my opensSUSE Linux Tweaks, Tips, Tricks, etc. Blog at:


Have a good day and stay tuned for some great Linux info!