Note that the mirrored segments are named $LVNAME_mimage_0 and
$LVNAME_mimage_1. The logical volume is 5GB, which is bigger than the
physical volumes, which are all 4GB. The 5GB segments are split across a
couple of physical volumes each. LVM will try to "do the right thing" and
prevent mimage segments from occupying the same physical devices.
There's a third part, the disklog, named $LVNAME_mlog. In this example, part
of mimage_0 and mlog are on the same physical volume, vdb.
When you create a mirror, you can also use "corelog" instead of disklog.
This keeps the mirror log in RAM instead of on a disk. This way, you
don't need to have a disklog segment.
The downside is that the mirror will have to be synchronized at every boot.
Since /dev/vde and /dev/vdf don't have any LV segments on them, we'll take
them out of vg_lvm_test with the vgreduce command, and put them into a new
volume group, vg_corelog_test.
$ sudo vgreduce vg_lvm_test /dev/vde /dev/vdf
Removed "/dev/vde" from volume group "vg_lvm_test"
Removed "/dev/vdf" from volume group "vg_lvm_test"
$ sudo vgcreate vg_corelog_test /dev/vde
Volume group "vg_corelog_test" successfully created
Let's make room by getting rid of our corelog thing.
$ sudo vgremove vg_corelog_test
Do you really want to remove volume group "vg_corelog_test" containing 1
logical volumes? [y/n]: y
Do you really want to remove active logical volume lv_corelog? [y/n]: y
Logical volume "lv_corelog" successfully removed
Volume group "vg_corelog_test" successfully removed
Now we'll add the old PVs back into the volume group, vg_lvm_test.
Let's say that we've got the sick feeling that /dev/vdb is about to die on
us. Let's move it over to the much newer /dev/vde.
$ sudo pvmove /dev/vdb /dev/vde
Skipping mirror LV lv_lvm_test
Skipping mirror log LV lv_lvm_test_mlog
Skipping mirror image LV lv_lvm_test_mimage_0
Skipping mirror image LV lv_lvm_test_mimage_1
All data on source PV skipped. It contains locked, hidden or non-top level
No data to move for vg_lvm_test
D'oh! It's our mirror. We'll have to break it first.
Good news, HTC Sensation owners – you're first on the list for an Ice Cream Sandwich upgrade. But HTC also added more phones to its ICS upgrade roadmap.
Ice Cream Sandwich upgrades will be coming later this year to the HTC Rezound, HTC Vivid, HTC Amaze 4G, HTC EVO 3D, HTC EVO Design 4G, HTC Incredible S, HTC Desire S and HTC Desire HD," the company added. "Stay tuned for more updates on Ice Cream Sandwich releases in the coming weeks."
Notice that the HTC Desire is not on that list. In the year that I've been using this Android phone, I've been able to upgrade from Android 2.2 to 2.3 by means of a Jailbreak. I've never updated it otherwise, nor been prompted to do so by the operating system. In that time, Android has moved to 3.0 and then to 4.0 now with Ice Cream Sandwich.
In contrast, my 4 year old iPod Touch has been updated all the way to iOS 5.something. Most of the really good features aren't available, sadly. Apple decided not to enable multitasking on hardware that old. Also, over-the-wire syncing is not available. Nevertheless, I've got the most recent browser and (I assume) all relevant security updates.
The HTC Desire will never move forward, I guess. It will always be stuck in 2010. So much for "open".
Once you're done, you should be able to login to your bbb server and test
Using with Drupal
For some reason, the BBB developers decided that apache wasn't good enough
for them, and went with nginx. Drupal will probably work with nginx, but
it's not trivial to setup. And that's what we want: Trivial.
First off, grab the Launchpad OpenID extensions from here:
bzr branch lp:drupal-launchpad/6.x
mv 6.x openid-launchpad # this needs to come after "openid", due to
tar fcz openid-launchpad.tar.gz openid-launchpad
Then unpack that so that you have
Go into Site Building -> Modules, and enable "Launchpad OpenID".
Now, go into Site Building -> Blocks, and remove the usual login screen, and
add the OpenID launchpad login button somewhere where the users can find it.
Set authorized users' permissions so that they can attend meetings, create
If everything is working at this point, you might want to upgrade your BBB
instance to 0.8. There are some improvements to the meeting layout, which is
especially good when you have a lot of people's video windows to move
I finally got around to installing Windows 7 on bare metal this weekend. I've been roped into installing Windows Server occasionally, but always in a VM, and only for testing Linux interoperability with packages like Centrify and Likewise.
It's the first time I've installed Windows on a machine in 6 years. The last time, it was to play Doom 3 and Half-Life 2. The old PowerBook G4 was not up to those mighty titles, so I pressed my (then-)meaty P4 machine into service.
I've always heard good things about Windows 7, even from Mac fanboys. It has a reputation for being light, fast, and pretty.
Installation wasn't too awkward. I remember Windows XP being annoying and fidgety, especially when installing alongside existing operating systems. Windows 7's installation asks few questions and then goes about its business. It also managed to not completely blow away my Ubuntu installation, being satisfied with destroying my MBR and rendering my other OS's inaccessible.
The Super+tab switching, which shows the windows stacked up and cycles through them, is pretty slick. I found myself using that more than anything to get around. It's on par with Expose as a productivity enhancer, and Ubuntu's Unity could learn a thing or two from that.
The OS itself is still fairly snappy, even with all the new added bling. Not to say that it's faster than Ubuntu or Mac OS X, but it competes.
Having used Mac and Linux exclusively for years, the first thing that hit me is: Windows font-handling is still shit. Apple products are known for their excellent typography, so it's no surprise that it whips Windows on that front. But even Ubuntu beats the shit out of Windows when it comes to font rendering. The choice of fonts and the anti-aliasing tech is so bad, I get a headache trying to read it. I tried monkeying around with the ClearType settings, but was still getting ghosting and blurriness.
I installed Windows 7 on Dell OptiPlex 380 small form-factor machine, which is fairly run-of-the-mill hardware. Windows 7's support for Sandy Bridge is admirable, but the Network driver wasn't there. I had to boot into Ubuntu and download the driver pack from Dell.
I also had trouble burning DVDs. I was able to burn two easily and successfully, but after that, I just got coasters. No big deal, seeing as I have spindles and spindles of blank DVDs that I never thought I'd use anyway, but this is still an area where I figured Windows would shine.
The following are things that I consider to be matters of personal taste. I've always found NT to be a good operating system, with a technologically advanced kernel and a lot of brains architecting it. But I'll be upfront about my dislike of Windows as a user environment.
Windows Aero looks outdated to me. I don't like the gigantic chrome surrounding all the windows, nor the transparency effects. The clicky-bloopy sound effects get old fast. There's a sound hit for virtually every action. Clicking, showing menus, closing windows, logging in, notification bubbles. And when you're listening to music on a nice pair of speakers, you really don't need a 25-watt orchestra hit that tells you that your antivirus just updated itself.
The main thing I don't like about the Windows interface is that almost everything seems to be excessive. For example, the progress bars have a little lens-flare effect that sweeps across every few seconds. I have no idea what it means. Also, the window chrome blurs whatever's behind it, simulating translucency. But the blur is sever enough that you can't really tell what's behind it, only that something is behind it. They should have just dropped that.
Screw you, Windows. I'll continue to order my PC hardware explicitly without you, and stick to modernoperatingsystems.
Occasionally, you'll need to find stuff on a Linux filesystem that seems to have disappeared. For example, if you're seeing big differences between the output of df and du, and you can't figure out where your disk space went.
You'll eventually need to look under any mounted filesystems, such as /var or /home in many cases, to make sure that no files have been hidden underneat their mount points. Normally, you'll be told to unmount those filesystems.
There's an easier way to do this, though, using bind mounts.
sudo mkdir /root_bind
sudo mount -o bind / /root_bind
sudo du -h --max-depth=1 /root_bind
Compare this with the output of "du -h --max-depth=1 /" and see if there's anything that jumps out at you. Oh, and don't forget to unmount /root_bind.
Running IRSSI remotely has many advantages. You can just login and logout of
your screen session without having to miss any of the constant
stream of nonsense that your IRC channels are filled with, for example. You
can also pick up an SSH client and continue your IRC session no matter where
One thing that isn't so great about running your sessions remotely is
notifications. If you're running IRSSI locally in an xterm, there are
several solutions to get libnotify popups to show up whenever a highlighted
word is show. I use a variant of the hilightwin.pl script.
Running IRSSI remotely, I've changed the script a little bit. Instead of
popping up a libnotify bubble, it pings a local XMLRPC service
with the highlight information:
The XMLRPC service keeps a list in memory of notifications, and makes them
available to remote method calls, like num_messages and next_message.
On the local machine, I run a python XMLRPC client. It polls
the XMLRPC service, and uses the libnotify python bindings to pop up a
message whenever there's a highlight.
This is unbelievably insecure, of course. There should probably be some
sort of authentication going on, yes, but I run it on an internal network,
accessible via VPN, so I have my notifications without too much worry.
So now I leave my IRC session running in a screen on my little ARM server,
which I can login to remotely without sacrificing my notify bubbles.
Some stuff I'm planning on adding:
A systray- or indicator-style applet that shows the last /x/ number of
Notifications from applications other than IRSSI
Idle detection on the client, so I can run multiple notify clients without
worrying about them stepping on each other's RPC traffic
First off, why Xterm? It's lightweight, it's easy, and it doesn't suffer from
trackpad scroll-madness like GNOME Terminal. Whenever I'm using
tmux under GNOME Terminal on my laptop, inadvertent scroll-wheel
events often cause me to send the wrong commands or write nonsense into IRC.
Unfortunately, Compiz and Xterm do not play well together. Due to how
Compiz calculates its textures, Xterm displays tend to get garbled.
Having had my fill of gnome-terminal, I finally got around to figuring out
the workaround for this. Just put the following in .Xdefaults:
! Workaround for compiz issues
Then xrdb ~/.Xdefaults && xterm, and you're back in old-school business.
In the various flavors of UNIX, you usually have an init or init-like process which wrangles all the sundry system services. Things like your mail server, your ftp server, etc. all have to be started by something.
In Ubuntu, we use Upstart since Lucid. It's a modern, event-based init daemon. Red Hat Enterprise Linux 5 uses the fine old SysVInit system. In RHEL 6, you also have Upstart, but it's being run in a SysVInit-compatibility mode. RHEL's cousin, Fedora, uses systemd.
Under Mac OS X Tiger and later, there's launchd. This not only ditches replaces init, but also cron and a couple of other traditional UNIX facilities.
The Ubuntu Linux distribution considered using launchd in 2006. However, launchd was rejected as an option because it was released under the Apple Public Source License – which at the time was described as an "inescapable licence problem".
In August 2006, Apple relicensed launchd under the Apache License, Version 2.0 in an effort to make adoption by other open source developers easier.
I'm not so convinced that licensing was the main reason that launchd was passed over. I wasn't around Ubuntu or Canonical at the time, and I've heard conflicting accounts from various Canonical employees on the matter.
With as much time and effort as we've put into Upstart in the meanwhile, it's turned out to be pretty good solution.
People complain about the upstart configuration file syntax. If you compare it aginast the property list approach, though, it's like writing hot buttered biscuits and bacon.
For comparison, here's a property list for postfix (stolen from Macworld):
Postfix isn't upstartified in Ubuntu (yet), but here's a comparable rsyslog upstart config:
# rsyslog - system logging daemon
# rsyslog is an enhanced multi-threaded replacement for the traditional
# syslog daemon, logging messages from applications
description "system logging daemon"
start on filesystem
stop on runlevel 
exec rsyslogd $RSYSLOGD_OPTIONS
Launchd might be stable, and it's what all the cool BSD kids are running these days, but it breaks one of the commandments: XML is not to be considered human-writable. It's a data format.
LXC is a container-type technology built into the Linux kernel, with
userspace available on Ubuntu, and probably most other modern distributions.
It is not virtualization as such, but it will let you set up development
environments very quickly.
It is good for setting up test web applications, running databases, checking
packaging issues, that sort of thing. You can also use it to place
a more secure, minimal environment around applications that communicate with
the outside world.
It is not good for deeper testing, or anything that requires virtualized
block or network devices, such as OpenVPN. If you've had openvz or
virtuozzo containers before, you'll be aware of these gotchas.
To test it out on Natty, just do the following:
apt-get install lxc
You'll need to setup on configuration file. The easiest way is to use
"macvlan" as your networking type.
This takes a bit of time, since it's downloading packages and setting them
up. This is cached however. The next time you setup a container using that
template, it goes lightning-fast, for values of lightning around 5 seconds.
Once this gets through bootstrapping the container, you'll be left with a
directory under /var/lib/lxc/lxc-natty (in this case). The actual
container's root filesystem is under the subdirectory rootfs/ . Use chroot
to prepare the environment a little before booting it up.
gpasswd -a eric sudo
apt-get install -y ubuntu-minimal
LXC uses cgroups to keep itself out of trouble. It will control
these using any mounted cgroup pseudo-filesystem it comes across. Just
mount one on /cgroups/ and it will find it with no issues:
mount cgroups -t cgroup /cgroups
mount |grep cgroup
At this point, you can boot your LXC instance up and have a look around.
Since LXC containers take over the current TTY, it's a good idea to create a
new screen session to house the different consoles. This lets you login
directly in case you break your network or SSH configuration.
(in a screen session)
lxc-start -n lxc-natty
Now you can login to the user account you supplied with the adduser command
earlier. Do a quick ifconfig, and you'll be able to login to your
instance with SSH.
Oneiric adds some features to lxc, and the syntax changes a bit for creating
LXC containers. To create a new container, do the following:
So, you've got yourself a fancy new Thinkpad x220 or T520, and you're trying
to get Ubuntu running on it.
Intel's Sandy Bridge platform isn't widely supported in the Linux world yet. If
you're running Ubuntu's current release, Natty, it will work without much
fuss. You might just need to update xorg's Intel graphic driver and libdrm
from a suitable PPA. To get the full 3D acceleration, you'll
also want to get betting familiar with the X220 Mesa PPA.
This will give you a fully-working desktop with accelerated 3D graphics and
the swhooshy Desktop Effects.
Mind you, you'll be running a configuration that isn't supported by
Canonical, and isn't an official distribution any more. The best way to
stay supported is to buy supported hardware, like a non-Sandy Bridge
laptop or one of the many that are based on AMD CPUs.
When you enable the Expose-like feature under Unity
(Default Super+W), you'll see all of your windows tiled about the screen,
allowing you to pick them easily.
The more windows you have open, however, the smaller the preview windows
become. The fact that almost all applications have a fairly consistent look
and feel might be good for the general desktop experience, but it's not very
good for picking out which windows belong to which application.
One way to get around this is to overlay the application icon on the window
itself. Unfortunately, the Unity itself doesn't have a configuration UI for
this, so you'll need to do it at the Compiz level. To do this, install the
apt-get install compizconfig-settings-manager
Now run the command, either using the launcher or typing "ccsm" into the
terminal. Go the conrol panel called "Scale" under "Window Management", and
set the "Overlay Icon" option. I personally prefer "Emblem", as it makes it
easier to pick out the icon.
Having ordered a new telephone, I figured I would try out some things with
my much-detested HTC Desire Android-based phone.
For starters, I tried "rooting" my phone, which apparently is to Android as
"jailbreaking" is to iPhone (isn't Android supposed to be open?). This went
well, and was a pre-requisite to my next adventure: upgrading to the
The upgrade didn't go so well. I grabbed the Oxygen mod ROM, which
promised to move my phone up to Android 2.3, as well as address the general
bugginess and slowness that has plagued me since I got it. This came at the
cost of the HTC Sense UI features that the handset maker tosses in, but I
was never a fan of it.
After following the steps to upgrade, the phone was more or less bricked. It
would hang at the crappy "oxygen" logo animation, and not boot any further.
I found a way to get into developer mode (press volume down when turning it
on), and did a factory reset, hoping the OS would be restored to the working
2.x version that it came with. Surprising, however, the factory reset left
me with a perfectly-booting 2.3 Oxygen ROM.
After that scary moment, it became clear that Gingerbread is a real
improvement over whatever version I had been running. The only serious
issue I've got at this point is Google's insanely crazy-bad SIP integration.
In short, I can't make phone calls if I'm connected to WiFi. Period.
Here's the way it breaks:
Initiate a call, either by clicking on a contact or event in history.
Choose to complete the action using "Dialler".
The phone will spin for a moment, seeming to think really hard about
something. After a bit, it will offer to complete the command using either
CSipSimple, a free VoIP client, or "Dialler" as before, except
now there's a little "SIP" in the icon.
If you choose the "SIP" Dialler, you'll get the following error.
*No Internet calling account*
There are no Internet calling accounts on this phone. Add one now?
You pretty much get the idea at this point that maybe the attempt to dial
normally failed. Or you might think that the phone is somehow configured to
always try and do SIP dialling when on WiFi. This is where you'd be wrong.
The phone is set to use Internet Calling only when calling Internet Numbers.
The workaround that I finally used to be able to make calls at all was to
tell the phone to ask me each time I make a call. Note: This is annoying.
I've only got a few days left with this hunk of trash phone, and I won't be
missing it. When I'm actually expected to be working, I swap the SIM out
with the Nokia 6300 feature phone that I've had for years. It just works.
I'm getting ready to head over to Montreal, or "Mon' cccchhhhrayall" as the indigenous people of Canadia refer to it. It's all about business, though, and I unfortunately will not be seeing any hockey playoffs, except maybe on TV.
Not that it's sounding bad at the moment, mind you. I'm sitting in a bar in Heathrow's Terminal 5 watching two televisions. TV #1 is displaying cricket, which is England's version of baseball. TV #2 is playing Fawlty Towers with subtitles. The cricket is the funnier of the two, if you ask me.
Montreal looks to have some sights to see, but I'm not sure what the opening hours look like. I've been living on the goofy side of the pond for going on 13 years now, and I'm actually accustomed to things like paying a license fee for television ownership and bars closing at 10 o'clock at night. Not to mention dog tax. With that in mind, it could be that bars are open 24x7, the restaurants never close, and we'll never get any older and we won't ever die. This is my expectation, and you should know I don't react well to disappointment.
This will be my first trip to Canada. I've been to a fair number of countries, but the list has been pretty static for a while now. In the past months I've expanded it with Greece and Canada. Next month, I'll be heading to Hungary for the first time.
A client will demand and expect all that his heart desires. Depending on his size, we may be tempted to promise just that. In some rare cases we may even deliver on those promises.
It's important to remember that this is not what the customer is paying for. He values our expertise, and is seeking our advice. He's not paying us to tell him that he's always right — he knows that already.
When I first bought the Dell Mini 9, I was working for Red Hat. Therefore,
I put the Fedora on it. With its pokey SSD drive, low memory, and tiny, tiny
screen, it was impossible to feel comfortable running GNOME or, Heaven forbid,
Being a Window Maker man since time immemorial, I had no problem finding a
properly lightweight and configurable desktop.
Like many people in our spoiled age, I had grown accustomed to many of the
niceties provided by the fatter desktops. Like having the laptop go to
sleep when you closed the lid or being able to connect to wireless networks
without being a Dungeon Master.
This is an old guide, but you may find some nuggets of value in it.
The purpose of these tips is to have critical system functions like sleep
and easy networking available regardless of which window manager is used.
The topics covered are:
Laptop sleep when closing lid
Multi-app sound without a sound server
Easy mounting/unmounting removable media
Currently, Fedora is heavily oriented towards GNOME, with a nod in KDE's
direction. This is fine for Fedora, since its role as Red Hat's
experimental branch demands it. However, on limited hardware like netbooks,
running deep user environments like GNOME is not particularly attractive.
"Trackpad-Tap" is probably my most-hated feature of anything, ever. To get
rid of this irritation, enable the SHMConfig feature of the xorg X11 server,
and set the MaxTapTime to 0.
See man synaptics for the options available to the Synaptics driver.
Restart the haldaemon, then restart X11. To tweak other settings, like
tracking speed or acceleration, you can run the program gsynaptics. I
haven't found a way to make such settings permanent within GNOME, without
editing the 11-synaptics-options.fdi file directly.
The goals here are:
to setup sound so that multiple applications can play sound simultaneously
mixer levels can be adjusted as desired
no sound server or wrappers are necessary for normal usage
Sound can be a real issue under Linux, and Fedora 10 has its problems. The
Dell Mini 9 has a particular sound chipset that requires an entry in
/etc/modprobe.d/alsa-base to be recognized by the driver:
The second line disables OSS emulation in ALSA. Read on to discover why we want to do this.
Fedora 10 defaults to using the PulseAudio soundsystem, which is a sort of
next-generation ESD or aRTsd service. I'm sure if you're into GNOME or KDE
you love PulseAudio, but for anyone else it just adds complexity. In my
initial setup, sound worked. The mixer levels, however, were not correct,
and tended to get out of sync. This required firing up alsamixer on the
command line constantly to raise sound levels.
Removing PulseAudio is straightforward; just remove the package "pulseaudio" and restart the machine:
yum remove pulseaudio
shutdown -r now
This will delete the ALSA plugin for PA, and get you back to using a minimal
ALSA setup (i.e., things will "Just Work". Well, they will just work if you
also disable OSS emulation, as mentioned above.)
One big issue that seems to keep coming up under Linux is the sound hardware
being locked by one application, preventing others from using it. The Adobe
Flash plugin, for example, will attempt to exclusively lock the default OSS
device /dev/dsp first before moving on to an ALSA-based device. This is
wrong, but try and get Adobe to fix it. The workaround is to disable OSS
completely. OSS-only software should be updated to the 21st century (which
is almost 10 years old, folks), but in the meantime may work with some sort
With ALSA OSS removed, and PA uninstalled, the Mini 9 lets you run xmms in
the background while watching YouTube videos in Firefox with sound.
The Mini 9 sleeps well under Linux. If you're using the GNOME or KDE
desktops, their respective power applets will control the sleep function in
case of ACPI events, such as the pressing the sleep button or closing the
Fedora on its own, without the desktop environment, uses the acpid service
to react to these events. To configure it to handle the lid closing event,
create the following two files:
Once the drivers are loading, use NetworkManager to control the wireless
interface. This will require running docker, so that the NetworkManager
applet has a place to live:
yum install docker
From the command-line, run
docker -wmaker &
And drag the resulting application icon to the Clip. Right-click on the
icon, choose settings, and make sure the command is shown as "docker
-wmaker". Otherwise, it will not properly arrange the icons (but should
still work, otherwise).
You can use the NetworkManager applet to configure your wireless. I have
put the following in my autostart file, just in case:
But I'm not sure if it's strictly necessary.
Mounting and unmounting drives is a chore under Linux, albeit one you get
used to doing. If you'd like to avoid seeking out the device nodes,
sudo-mounting and unmounting, try thunar-volman, from the Xfce project.
The hostid on some systems, like Suns, is set in the hardware and uniquely
identifies the system. On Linux, the hostid is more of a suggestion than a
hard-and-fast rule. It's usually generated at install time, and can be
changed with a few lines of python code: