Monday, 22 December 2014

Linux was getting fat in 2004 – Now it is obese

“Consider these memory requirements for Fedora Core 2, as specified by Red Hat: Minimum for graphical: 192MB and Recommended for graphical: 256MB Does that sound any alarm bells with you? 192MB minimum?”

In 2004, Microsoft XP ruled, and Windows 98/2000 computers were being retired.
Bob Marr wrote that this could have been an opportunity for Linux to revitalise all those retiring computers. Unfortunately for Linux, it was too bloated to do so.

[ The full article from Bob written in 2004 is here:
http://www.osnews.com/story/7324/The-Fast-Food-Syndrome-The-Linux-Platform-is-Getting-Fat/ ]

10 Years later and we are in a similar position again, but not much has changed.
Even some ‘light’ Linux distributions like Lubuntu can not run as speedily as XP on 512 meg of memory. See my previous post, ubuntu on-xp capable hardware
What has changed in 10 years?
Linux is polished and capable now, and can compete on equal terms with MS Windows.
Including the bloat.
The belief that Linux (was faster) could run on less powerful hardware than MS Windows used to come up a lot in Linux circles, but I do not believe that was ever the case.
Usually, Like was not being compared with like. 
Here is a current example from the Ubuntu minimum specification page as of 2014:
“a good “rule of thumb” is that machines that could run XP, Vista, Windows 7 or x86 OS X will almost always be a lot faster with Ubuntu “

You could try Ubuntu on Vista/7/8 capable hardware, and it would run, but it would not be ” a lot faster”. Try Ubuntu on hardware from the XP era, and it will be slower than XP, not faster.
Here is an older example.
On the change over from Windows 3.11 to Windows 95, a lot of  the hardware in the UK at the time was either 486 or Pentium1, and generally had either 4 or 8 meg of ram.
When the Linux advocates of the day said Linux was a lot faster than Windows, they were comparing Linux on the command line,without X, to the graphically powered Windows 95.
Windows 95 needed 12 meg, and Xwindows on Linux needed 16. 
Going back further still.
My first laptop, an Everex 386 SX25 only had 2 meg of memory.
This laptop had Windows 3.11 GUI, and Borland Turbo C++ development environment with graphical IDE.
This same laptop could not even install and load the command line version of Slackware because Slackware needed 4meg of memory to install. Eventually, I found and used the ‘low mem’ Slackware provided hack, to install.
Imagine my suprise when I discovered that I had installed something that looked a lot like DOS, and could not run a GUI.
These days, Linux has surpassed Windows in many ways, but lower specification hardware requirements is not one of those ways. At least not when talking about the mainstream distributions like Mint, Ubuntu, Fedora, Suse etc.
But does it matter? There are a multitude of choices now.
This post was written on a Dell Latitude D630 (2007) with an upgrade to 2Gig of memory, and a solid state hard disk (SSD)
Lubuntu 12.04 is the OS and it is fast. I tried Windows 8 on the same machine, and it ran well, but I could not get on with it.

The full article from Bob written in 2004 is here:
http://www.osnews.com/story/7324/The-Fast-Food-Syndrome-The-Linux-Platform-is-Getting-Fat/
“Consider these memory requirements for Fedora Core 2, as specified by Red Hat: Minimum for graphical: 192MB and Recommended for graphical: 256MB Does that sound any alarm bells with you? 192MB minimum?”


“Now, I’m not saying that modern desktop distros should work on a 286 with 1MB of RAM, or anything like that. I’m just being realistic — they should still run decently on hardware that’s a mere three years old, like my friend’s machine. If he has to buy more RAM, upgrade his CPU or even buy a whole new PC just to run desktop Linux adequately, how are we any better than Microsoft?
Gone are the days when we could advocate Linux as a fast and light OS that gives old machines a new boost.”
“Linux used to be massively more stable than Windows, but XP was a great improvement and meanwhile we have highly bug-ridden Mandrake and Fedora releases. XP also shortened boot time considerably, whereas with Linux it’s just getting longer and longer and longer…”

Sunday, 26 January 2014

Find Out Who's Eating Your Bandwidth With These Tips

A lot of things can drain away the capacity of that pipe that connects your computer to the Internet. It could be other people or devices on your network, or it could even be malicious applications or services running on the PC itself. The problem can get so bad that some people will toss out their computer and buy a new one.


http://www.makeuseof.com/tag/find-out-whos-eating-your-bandwidth-with-these-tips/

» How To Access the Developer Options Menu and Enable USB Debugging on Android 4.2

In Android 4.2, the Developer Options menu and USB Debugging option have been hidden. If you need to enable USB Debugging, you can access the Developer Options menu with a quick trick.

LXC – Fast virtualization with Linux containers – X86 and ARM

St├ęphane Graber explains how to get started with linux containers on Ubuntu 12.04 here:-

Creating a basic container and starting it on Ubuntu 12.04 LTS is now down to:
  sudo apt-get install lxc  
sudo lxc-create -t ubuntu -n my-container  
sudo lxc-start -n my-container
I needed this, because the container name was wrong.
sudo cp -rf my-container/ my-cloud-container/
This will default to using the same version and architecture as your machine, additional option are obviously available (–help will list them). Login/Password are ubuntu/ubuntu.
Container shuts down when the running system is shut down with the "halt" command.
Shut down a crashed container with:-
sudo lxc-stop -n my-container-name
It's now possible to use qemu-user-static with LXC to run containers of non-native architectures, ARM for example:
 sudo apt-get install lxc qemu-user-static 
sudo lxc-create -t ubuntu -n p3 -- -a armhf
 sudo lxc-start -n p3 -d


sudo lxc-attach -n p3
Use the code below to test your ARM gcc compiler.
#include
void main(void){
/* NOP */
asm ("mov r0, r0");
puts ("hello");
}
Save the code as test.c, compile with gcc test.c, and run with ./a.out.
It will put hello on the screen.

Saturday, 11 January 2014

Blogger dynamic views - remove sidebar menu to prevent different views

To remove the menu selector, go to template >> customise >> advanced >> add css , and paste the code into the window.
The full article is here http://www.mayura4ever.com/2013/02/blogger-custom-css.html

#header #views {
display: none;
}

#header #pages:before {
border-left: 0px;
}

#header #pages {
margin-left: 14px;
}

The tabs sometimes disappear and you have to reload the page several times to get them back, this is the fix:- Go to template>> edit html view, and right down at the bottom, find this bit of code, It will be set to 0, change it to 1000 like below.

setTimeout(function() {
blogger.ui().configure().view();
}, 1000);
Here is an explanation:-http://www.2globalnomads.info/2013/06/blogger-dynamic-views-css-fail-bug-custom-reload.html

Code snippets in Dynamic views on blogger

Add the following code to the beginning of the <head> section in the blogger template
<link 
href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css"
type="text/css"
rel="stylesheet"/>
<script type="text/javascript"
src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js">
</script>
Add the following code to the end of the <head> section in the blogger template
 
<script>
$(window.blogger.ui()).on('viewitem', function (event, post, element) {
element.each(function () {
// first argument is a callback function
// second argument is a root element or document to check
prettyPrint(null, this);
});
});
</script>
Then add <pre class="prettyprint"> to the beginning of a code section in the post, and close the code section with </pre> to get this:
  

/*Blink (Arduino)
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}