Monthly Archives: October 2015

Ubuntu 15.10, Thinkpad Carbon X1

WARNING: Right after upgrading I started getting kernel panics 1-3 times per day. This is definitely a problem with the 4.2 linux kernel, as Ubuntu 15.04 with kernel 3.19 (the last version 3 kernel) was rock solid running for weeks at a time under heavy usage, many suspends/wakes, plugging and replugging into docking stations, etc. all without rebooting. I always keep the prior version of the kernel installed, so for me, the solution is to keep Ubuntu 15.10 but select kernel 3.19 in Grub when booting.

Now for the rest of the original post…

I run Xubuntu on most of my computers both at home and at work. Version 15.10 just came out and I’ve upgraded all of them. On a desktop you might not notice much difference. On a laptop it’s got some good stuff you might like.

The biggest difference from 15.04 is the kernel. 15.10 uses kernel 4.2 instead of  kernel 3.19 which 15.04 uses. This new kernel supports the power saving modes of Broadwell processors and micro-hardware appearing on modern laptops.

Another benefit of 15.10, again for laptops, is that tlp is fully supported and in the Xubuntu standard repos. And its default settings work well. It auto-detects when the X1 is plugged vs. running on battery and it extends battery life by a couple of hours – 4-6 hours becomes 6-8 with normal use and screen constantly on.

A bit about tlp… while it comes pre-configured with good default settings, you should check a few things to ensure you’re getting the most from it. Here’s a good tlp reference site to start. Now here’s an important tip from that site, specific to Ubuntu:

First, you must deactivate Ubuntu’s normal CPU controller: sudo update-rc.d -f ondemand remove. This allows TLP to adjust the CPU speeds.
This command reverts this change: sudo update-rc.d ondemand defaults

Use this command to check whether TLP can control the CPU speed: sudo tlp-stat -p. If it says x86_energy_perf_policy: program not installed, then you need to install linux-tools-generic, and ensure the version matches your kernel.

Another thing you should do is allow the CPU speed to vary. The default settings do not. Edit the file /etc/default/tlp as root, and change 4 lines. First, they’re commented out, so un-comment them. And, put in numeric values for your processor.

CPU_SCALING_MIN_FREQ_ON_AC=1000000
CPU_SCALING_MAX_FREQ_ON_AC=3200000
CPU_SCALING_MIN_FREQ_ON_BAT=500000
CPU_SCALING_MAX_FREQ_ON_BAT=2000000

As you can see, I’ve used a lower top speed on BAT, and a  higher bottom speed on AC. This limits performance in favor of battery life, but not too much, while letting it slow down on AC, to save energy or charge faster. However, TLP will only use the higher speeds when the processor is active, so setting higher values won’t necessarily shorten battery life if the machine is idle. That said, TLP allows higher clock speeds liberally even when in powersave mode, so limiting the CPU top speed while on battery does extend battery life.

NOTE: any changes you make to the TLP config file will take effect when you enter the command: sudo tlp start. You can run this command even if it’s already started.

On Ubuntu 15.10 Kernel 4.2 all this happened automatically and everything worked. But when I had to revert back to kernel 3.19, my battery life suffered because TLP was no longer controlling CPU speeds. I had to reinstall linux-tools-generic version like this: sudo apt-get-install linux-tools-generic=3.19.0*, which reverted the version back to match the kernel.

A bit about Xubuntu…

I’ve done 2 in-place upgrades (from 15.04) and 1 fresh install. All went smoothly.

Why Xubuntu? it’s my favorite Linux distro because

  • It’s Ubuntu – the most popular distro with the most complete and up-to-date repositories.
  • It uses the XFCE desktop, which is smaller (both in RAM and disk), faster, more reliable than Ubuntu’s Unity desktop.

A World Without Borders

I sympathize strongly with this article in the Atlantic. Yet the author doesn’t discuss an important point: borders don’t exist just because people think human rights depend on an accident of birth. That’s a straw man argument – it’s hard to find anyone who thinks human rights should depend on accidents of birth.

Historically, people created borders to protect themselves from attacks from other people. Clearly, this is a morally justified reason to create borders and militarily defend them. Over time, borders merged, dissolved, grew until eventually becoming the nations of the modern world.

The author’s case would be more compelling if he acknowledged this. Perhaps his point is that there is no legitimate justification for preventing peaceful, productive people from crossing borders. Of course, there are numerous illegitimate justifications, mainly related to displacing or disrupting the status quo, whether economic or cultural. From a moral perspective, whatever displacement or disruption arises from somebody taking a job, opening a business, joining or starting a club, or any other peaceful activity, is something we all accept as part of a free society. The benefits of living in a free society, where we can all do these things, outweighs the drawbacks of the disruptions that free and mutually voluntary actions may cause.

The only morally justifiable restriction to people crossing borders that I can think of is the time & effort needed to confirm that they aren’t carrying contagious diseases and aren’t  “bad guys” – criminals, terrorists, etc. Put differently, people and governments have the morally justified right to keep out bad guys. The effort to distinguish bad guys from everyone else represents the extent of immigration/emigration restriction consistent with ethics, public safety and security. Yet the restrictions we have today go much farther than this. And people attempt to justify them for additional reasons, most of which have no ethical basis.

There’s a difference between no ethical basis, and ineffective. Some restrictions are neither effective nor ethically sound. Others may be effective, yet have no ethical basis. For example, preventing people from entering the US to work in agricultural fields or high tech companies is effective, if the goal is to restrict the supply of labor increasing wages of those already employed in these jobs. Yet it does so by making the resulting products – whether groceries or software – more scarce or expensive. If the goal is cheaper more abundant groceries and software, it is ineffective. However, even if effective, it has no ethical basis. This is not the kind of beneficial disruption mentioned above, because it was not achieved by the voluntary cooperation of free people. It was achieved through the use of force – restricting the free movement of people across borders.

If we ask ourselves: do we want to live in a society of abundance, or of scarcity? The question answers itself.

A world without borders sounds attractive at first. Yet anyone who knows why borders were first created knows that a world without borders would be violent and unstable. I would like to live in a world where borders were used only to protect and defend from outside aggressors, never to restrict the movement of peaceful productive people, as they are today. I wonder whether such a world might eventually evolve into one without borders, as the free movement of people would tend over time to more evenly distribute human talents and perspectives across the world. This would tend to reduce conflict by balancing economic differences and promoting acceptance of cultural differences.