President Obama Deserves to be Reelected

| No Comments | No TrackBacks

Although the Koch brothers will be throwing everything they have against President Obama in an attempt to turn America back into the racist, slave-owning, gun-toting, backward, bible-thumping, imperialistic power they desire, we progressives have a duty to support our president and reelect him.  After all, look at what he's done for us:

 

·         Raised America's stature in the world, and especially among the downtrodden Muslim world.  America is no longer feared as an arrogant, imperialistic hegemony.

·         Closed the embarrassment of Guantanimo Bay in his first year as president, and eliminated military tribunals for enemy combatants captured on the battlefield.  He's established that even our enemies have rights that have to be protected in American civil courts.

·         Halted the evil practice of water-boarding our captured enemies in favor of blowing them (and their families) to bits with predator missiles.

·         Outlawed extra-judicial executions of enemy leaders, unless the enemy is really really bad.  (Note:  Killing with predator missiles does not constitute an "execution".)

·         Confirmed the proper role of congress in declaring war by vigorously complying with the letter (and spirit!) of the War Powers Act.

·         Gotten American occupation forces out of Iraq and Afghanistan just as he promised he would.

·         Halted the use of American military forces in vaguely-defined military operations.  He's shown the Arab world that America is not a threat to them or to Sharia law.  He's refused to engage in a "war of choice" like Bush did.

·         Articulated clearly defined conditions under which we would oppose our enemies and support our friends.

·         Reversed an incipient economic depression and put Americans back to work to create historically low unemployment levels.

·         Acknowledged the obvious fact that only white people can be racists, and that blacks who intimidate whites at voting booths won't be prosecuted.

·         Halted the irresponsible Republican deficits and made the federal government's budget an example of responsible and sustainable spending and taxation.

·         Halted the hostile rhetoric against Iran, Syria, and North Korea, leading to improved relations with all 3 countries.  Both Iran and North Korea have stopped all work on nuclear weapons because of this outreach.

·         Prevented numerous terrorist attacks ("the system worked") by ensuring all travelers are treated like potential terrorists.

·         Stopped the rising ocean levels caused by global warming by:

o   Ratifying the Kyoto treaty.

o   Establishing "Cap and Trade" to reduce greenhouse gas emissions.

·         Prevented the Republicans from interfering in a woman's most basic right to determine what medical care she receives, even if that means she must (regretfully) get an abortion.

·         Passed a sweeping health care improvement which means rich people can't get better medical care than regular Americans.  He's also granted exemptions to over 1,000 politically-connected companies so they don't have to participate in the new system.

·         Made his administration the most "transparent" in history, even though we don't know why those 1,000 companies were granted waivers for the Health Care law.

·         Reduced our dependence on foreign oil by halting all new drilling in the Gulf of Mexico and by doubling the price of gasoline.

·         Protected struggling union members in Detroit and dozens of state capitals by bailing out General Motors and diverting billions of dollars to state governments hit hard by the recession.

·         Took decisive and effective leadership action in several high profile crises (Gulf Oil Spill, Egyptian revolution, Libyan No-Fly zone, etc), and then took a well-deserved vacation and went golfing.

·         Halted the turmoil in the Middle East and finally put the region on a path for peace by forcing the Israelis to halt settlements in the West Bank.

·         Reestablished the viability of the Democratic Party, a dominance that will last for decades.

·         Exposed the lunacy of the far right "birthers" by releasing his birth certificate so that it could no longer be a "distraction" from such important matters as golfing and appearing on Oprah.

·         Turned our nation away from racism by historically electing a white guy with an African-American father to be president.  Finally, you can be proud of your country.

 

 

 

The fundamentalist Right will be making all kinds of unfounded accusations against our president.  We need to fight back against those racist, racist tea-baggers who cling to their guns and religion by stating the facts: Obama has achieved almost all he set out to achieve, and the world is a much better place than it was prior to January 2009.

 

Don't hold back progress!  Keep up the struggle for human dignity!  Reelect our president!

 

Eee PC & Linux Debian Installation Review

| No Comments | No TrackBacks

Summary


This blog documents the installation of Debian Linux on an Eee PC 1015-PEM-PU Netbook computer. It could serve as a how-to for anyone else thinking of purchasing an Eee PC and installing Linux, and will also serve as a evaluation and review of the Eee PC itself.



The Eee PC


The Eee PC is probably the stupidest name anyone could ever give to a computer. I don't even know how to pronounce "Eee" (is it like the sound you make when you see a mouse?).


Be that as it may, the Eee PC has the potential to be a fantastic computer.  Asus, the long-time motherboard maker, really set the world on fire when they introduced the "netbook' concept a few years ago. By shrinking the display and utilizing the power-saving ability of Intel's Atom processor line, they lowered the cost of a usable notebook computer to less than $300. Originally offered with Linux (to avoid the "Microsoft tax" on computers), most now come with Windows 7 Starter Edition, a stripped down version of Windows.


[BTW, how do you pronounce "Asus"? Is it "Aye-SOOSE", "Aye-SUSS", or "ASSes" I prefer the first, but I've got no data to back up my preference.]


Early Netbooks often had solid state flash drives. These were small, very stingy with power, and mechanically robust to provide good durability. More recently, netbooks tend to come with traditional hard drives. My Asus has a 250 GByte conventional hard drive.


Asus is the "premier" netbook brand, but Acer and Dell have also produced very good netbooks.


I purchased the model 1015-PEM-PU. This has the following specs:


  • Atom Dual-core N550 CPU @1.5 GHz

  • 1024 x 600 display (very crisp!)

  • 250 GByte hard drive

  • 1 GByte RAM (that I expanded to 2 GBytes)

  • 63 Watt-hour battery that is claimed to offer 13 hours run time. (I get about 7 hours in real-world usage)

  • Mat black finished exterior (Blue and Red also available)

  • $380 from New Egg (but free shipping)

  • Windows 7 Starter (which I removed in favor of Debian Linux)



I chose this model mostly because of the dual-core processor and the large hard drive. I had been very concerned that the atom processor just wouldn't have enough "umpf" to be useful, so elected to trade the 1.6 GHz single-core for the slightly more expensive 1.5 GHz dual core. (I'll speak more about performance later.) I also chose the Asus over the Dell or Acer because there is a well-established group installing Debian on the Eee. Also, I've read some casual comments that the quality of Acer & Dells is somewhat inferior to the Asus. Not having truly used either competitor, I don't know if those comments were well fonded or not.



Operating System Selection


Being a Linux guy, there was almost no way I was going to leave Windows running this computer. The only potential problem I foresaw with Linux was Wireless connectivity, which has often been a problem for me.


On my Main desktop system, I run Gentoo. I love it's geekiness, but I shuddered at compiling all the software on the little 2-lung Atom. Also, Gentoo always requires a lot more work to get running than pre-packaged distributions. Again, the wireless had me worried. The actual wireless chip used in the netbook is critical; some are well supported in Linux, and some are not supported at all. Unfortunately, Asus does not publish which chips are in which models, and I suspect they feel free to change the chips whenever they like. I therefore wanted a prepackaged distribution that would increase the likelihood of success with wireless. (BTW, my Asus has the BCM4313 chip, which is supported by the more recent Linux kernels.)


My servers all run Debian, so I am very familiar with configuration settings. That gave Debian a big advantage. I've tried Ubuntu, but don't like the way it forces you into doing things their way (and why the heck did they move the "close" button from the right corner - where God intended it - to the left corner? Yech!) Debian, was therefore the natural choice. Also, there is a very active Eee PC Debian group (http://wiki.debian.org/DebianEeePC) with a wiki dedicated to loading Debian on the Eee PC. According to this group, you have to load the "Squeeze" version of Debian, which is currently in its second beta release. Loading the current stable release ("Lenny") does not provide the proper wireless drivers. I am very familiar and comfortable with Debian's conservative approach to releasing only when ready, so their "Beta 2" is very similar in my mind to most distribution's x.1 versions.


Squeeze uses the Gnome desktop by default. I prefer KDE, but thought I'd give Gnome a try. I actually found the organization of the Gnome menus better (they made more sense and I could find things easier), but found the Gnome wireless tools somewhat confusing. I therefore loaded KDE over Gnome and now run my old friend KDE exclusively. Squeeze loads the 4.4.x version of KDE, which is still a little goofy in my humble opinion. The nicest improvement over KDE 3.x is the inclusion of the compiz eye candy, which I love!


I therefore downloaded Squeeze beta 2.




Making a Linux Bootable Thumb Drive


In order to backup the Asus hard drive, and to test Linux compatibility, I had to boot a "live" Linux distribution. The granddaddy of all Live distributions is Knoppix, currently at version 6.4. Knoppix has a reputation (well deserved in my opinion) for finding and enabling all sorts of hardware. If I could get the system and wireless to work with Knoppix, I knew I could get it to work with Debian.


Knoppix offers several flavors of live distributions. I chose the basic one and downloaded the iso file from one of their mirrors. But then I hit a snag. The Asus does not have a CD-ROM drive, but it can boot from the USB port. I don't have a USB CD-ROM, so I had to make a bootable version of Linux. How to make a bootable thumb drive?


Making a bootable thumb drive seems like one of those things that should be very simple to do. Unfortunate, it seemed the only simple way to do it was to use a Windows utility (Yipes!) to make the thumb drive bootable and install the iso file so it would load properly. Later, I found the program Unetbootin on sourceforge, that has both Windows and Linux versions. The Linux version worked like a charm (although my first attempt failed for some reason I don't understand.)


I eventually used this program to make bootable versions of both Knoppix and Debian Squeeze.


Knoppix loaded very well once the thumb drive was set up properly, and easily detected and used wireless. I was in business!




First Boot & Backing Up the Original Disk


My plan had been to backup the original Asus hard drive to a USB disk so that I could always revert to Windows if I found Linux failed to work as I had hoped. My plan therefore was to boot to a live version of Linux on a USB flash drive, then copy the entire Asus hard drive before it had even booted to windows once. This would leave me with a pristine backup of the original machine.


Trouble began when I tried to boot to a Linux USB thumb drive. Instead of showing a BIOS initialization screen, the Asus immediately (and I mean immediately) jumped into a Windows 7 initialization screen, and began asking me my location, name, etc. I tried to stop this process, but somehow only succeeded in corrupting the Windows 7 install. Later, I booted through the BIOS and hit "F9" to reload the windows install software from one of the hidden partitions on the hard drive. The second time Windows installed (which takes about 20 minutes), everything worked fine.


I eventually was able to boot to Knoppix on USB thumb drive, then plug in a USB hard drive, and copy the disk. I mounted the USB disk on /mnt/sdb1, then used this command from a Knoppix text window:


dd if=/dev/sda of=/mnt/sdb1/AsusDisk-Original-2010-12-27.img


This copied the entire Asus hard disk (all 4 partitions) to a single file on the USB disk. My USB disk was rather slow, so this took about an hour (ugh!).





Making Debian Squeeze Bootable Thumb Drive



In order to install Debian Squeeze, I had to make a bootable thumb drive with Debian. Once again Unetbootin came to the rescue and easily made a bootable thumb drive with Debian Squeeze. I encountered only 1 small problem. Since I like to use "expert install" for Debian, and wanted the KDE desktop instead of the default gnome, I had to go 2 menus deep into the Debian installation disk boot menu. Unfortunately, Unetbootin maps only the first level of menus. This meant I had to install the default Gnome, then install KDE separately.


The Debian disk I used was the "net install" version, so I plugged a network cable into the Eee PC for the installation. The wired internet connection worked flawlessly. Setting up a wireless connection still took some work, as I will describe in the next section.


For software, I allowed Debian to install the normal software (desktop, portable, and system)


I repartitioned the 250 GByte hard drive with reckless abandon. I kept the small 4th partition, which I think is used by the Asus for something or other. The rest I made a large single partition (ext4 file system) and a 1 GByte swap partition.




Wireless on the Eee PC with Debian


The Eee 1015-PEM reports this hardware:


00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)

00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)

00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)

00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)

00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)

00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02)

00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)

00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)

00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)

00:1f.2 SATA controller: Intel Corporation N10/ICH7 Family SATA AHCI Controller (rev 02)

01:00.0 Ethernet controller: Atheros Communications AR8132 Fast Ethernet (rev c0)

02:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)


Wireless is handled by the Broadcom BCM4313 chip. It needs to download firmware and use the "brcm" driver (not the B43 driver). In Debian, you need to load the "firmware-brcm80211" package. You will also need the "firmware-b43-installer" and the "b43-fwcutter" packages.


Once these were loaded (which was not done by default), wireless was essentially painless to get working.




Other System Software Setups


Contrary to all the scare stories on the Web, I prefer to run as root in Linux. The fun I have from Linux is not using it, but re-engineering it. I spend 90% of my time fiddling with settings and loading and trying various programs. Once it's setup, I'm bored. Consequently, I refuse to constantly sudo into programs when I could just stay as root.


The scaremongers make 2 reasonably good points about the dangers of running as root: 1) you can mess up the system; and 2) You might open your system to bad people and in turn allow them to harm others. Well, I enjoy messing up my system, because then I have to fix it. As for the chance of opening up my system to bad people.... well, lets just say I find this a rather unlikely probability.


I made 2 changes so I would boot directly to KDE as root:


Firstly, I rename "/usr/sbin/gdm" to "/usr/sbin/gdm-saved" and renamed "/usr/bin/kdm" to "/usr/bin/kdm-saved". These 2 changes prevent either gnome or KDE from starting at boot and demanding a non-root login. Secondly, I changed rc.local so that the system would automatically start KDE as root. I added the lines:


su -l root -c startx


Now, when I power up, the Eee jumps immediately into KDE with a root session. Yes, if I lose my computer, I'm hosed. Such is life.


I hate touchpads. I find them difficult to use, and they are in absolutely the wrong place when typing, since my "dangling thumb" invariably taps the pad and moves the cursor while I'm typing.


The program tpconfig helps. Run "tpconfig -t 0" once, and it reduces the sensitivity of the pad. There are programs which supposedly shut off the touchpad while typing, but they are based on the synaptics pad, which apparently is not what is in the Eee. Apparently, there are Ubuntu programs that fix this, but I have not (yet?) gotten them working.





Eee PC Review


I wanted a netbook for 3 reasons:


  1. They're cool and geeky

  2. They are very portable

  3. The battery life is excellent


However, I had 3 major fears about the Eee PC.


  1. It would be too slow to be useful

  2. The keyboard would be too confining to be usable

  3. The screen would be too small


The Eee has satisfied my desires, and not disappointed (too much) with its limitations.


I have been delighted with the speed and responsiveness of the Eee. I suspect the dual-core CPU plays a part here. I have an old 2.5 GHz Pentium IV desktop that is a dog compared to the Eee. Even my 3 GHz Quad core AMD desktop doesn't seem too much faster than the Eee.


The keyboard on the Eee stinks, but it is not much worse than any other portable keyboard. I love the old "clicky" IBM keyboard (I have a clicky Unicomp that I like very much) with lots of key travel and good mechanical/audible feedback. The worst part of the Eee keyboard is the touchpad, not the keyboard. If I could keep from tapping the touchpad by mistake, I'd be a lot happier.


Battery life is excellent. I recently left the Eee on with the lid closed all day at work. The WiFi remained active, and the CPU governor was set to "on demand" mode. I powered on around 7:00 AM, and played with it a little at lunch. By 4:00 PM, it was down in the 10% range. Had I tried to reduce power usage by dimming the display or setting power-saving mode, I'm sure I could have squeezed another hour out of the battery. By contrast, my 1.5 year old company-issued Dell laptop lasts about 3 hours on battery power.


Adding new wireless connections has so far proved easy and painless. The unit is very lightweight, and physically small, so portability is just as I expected.


The screen has a poor aspect ratio (1024 pixels wide but only 600 pixels high). I had worried that this was too short. My main desktop computer has the display turned 90 degrees, so the long direction is vertical. [Vertical screen make much more sense. Who reads books in landscape mode? Printed materials are naturally easier to read in a portrait mode. The only things that are superior in landscape mode are wide-screen movies and spreadsheets!] I compensated for the short screen by putting the KDE menu up the right side of the screen instead of along the bottom as congress has mandated. Somewhat surprisingly to me, I have not felt confined by the short screen. The screen itself is razor sharp, so you can make the fonts smaller than would otherwise be possible.


All in all, I am very happy with the Eee.




Other Quirks, Oddities, & Annoyances


There are a couple of quirks and oddities with the Eee, many of which are driven by Linux.


  • There is no capslock indicator. Aggravatingly, KDE 4.x does not have a widget to show capslock status.

  • Due to Debian Linux, the WiFi on-off switch does not work. WiFi is on all the time.

  • The screen does not open as far as I'd like. When looking down on the Eee, it would be nice to bend the screen back farther so it would face me more directly.

  • The darn Windows 7 sticker was stuck on at an angle. If they have to add their stupid advertising, the least they could do was put the sticker on squarely! Luckily, a razor scraper allowed me to peel off the sticker without damaging the plastic finish.

  • The mat finish on the outside is very nice a resisting fingerprints.

  • The power plug is a little on the small and weak side. I'd like it to be a little beefier.

  • It was aggravating to have to remove the 1 GByte RAM chip in order to upgrade to 2 GBytes. Anybody want to buy a 1 GByte DIMM?

  • Skype for Linux won't run on the AMD64 Debian kernel. It has to be in 32-bit mode.

  • KDE can't activate sleep mode. A separate script is needed for this.

  • Sleep mode kills WiFi connections. A cold reboot is needed to reestablish connection (or at least, I haven't found the fix yet).

  • Linux sees the Atom as a quad core processor. There are 2 cores, and each core can run 2 threads. It's kinda neat to see the CPU meter chugging away with 4 CPUs!

[SOLVED... sort of] Disk Errors in Virtual Machines

| No Comments | No TrackBacks


Search Tags: Disk Error in virtual machine, mptscsih, kernel panic, VMWare, VirtualBox, sync error, Debian Lenny, SATA, PATA



Summary: This document describes the problem of disk errors on virtual disks inside virtual machines, running under either VirtualBox or VMware Server. Although this problem is not solved, I have been able to reduce its severity to a manageable level.




Background


I host 11 low-traffic web sites. Although I once had dreams of getting rich as a web hosting company, I now find myself donating the web space to family and friends for "vanity sites" or in support of conservative political causes. In an attempt to simplify the setup and administration of the sites, I allocate each customer a separate virtual machine running Apache 2. In most cases, each site also runs Movable Type blog software. I also run 2 DNS servers, an eMail server, and a web mail server in separate virtual machines (VMs). All together, there are a total of 13 virtual machines running.


Even though the Host machine is rather limited, it performs very well as a server and web response time is very good. The Host computer is an AMD triple core running at 2.4 GHz, with 4 GBytes of RAM. The mother board is manufactured by ASRock, and runs an AMI BIOS. A 640 GByte SATA disk more than handles the disk needs of the Host and all the virtual machines. The Host and all the virtual machines run the ext3 file system, with the normal default commit time of 5 seconds.


Since memory is tight on the Host (and adding more is prohibitively expensive), I have limited the RAM for each VM. All of the virtual machines get just 64 MBytes, except the eMail server which gets 256 MBytes. This may seem like a ridiculously small memory allocation, but since all of these machines are servers and don't run a GUI desktop, they really don't need much RAM.


The Host and all the VMs are running Debian Lenny (version 5, aka "stable"). This was chosen for its legendary stability, and my familiarity with its operation. (It turned out, however, that this was part of the problem.) The Host and all the VMs are kept up to date with regular updates from the "volatile" Debian program repository.


To minimize the load on the Host, it runs LXDE desktop, one of the "lightest", yet fully-functional GUI desktops available. Connection to the internet is via a commercial Comcast account.


I started out running the virtual machines using VirtualBox. I found VirtualBox to be easy to install and operate. I added VirtualBox to the list of Debian Repositories, and downloaded version 3.2.x directly from Sun (now Oracle). VirtualBox presents a text console screen of each VM on the Host in a small GUI window. This makes it easy to see and control each VM. I could also remotely control all the VMs by running Remote Desktop to the Host.


VirtualBox has a rather limited capacity to change virtualized disk hardware settings in order to troubleshoot disk problems. (They offer many settings for utilizing a CPU's virtualization instructions, but not much to change other hardware.) Partly because of that, but mostly because I thought my problems were being caused by VirtualBox, I downloaded the free (as in beer) version of VMware Server. I surmised that VirtualBox was really focused on desktop use, and that VMWare, with their commercial focus on virtualizing servers for large IT shops, was probably a better choice for running virtual servers in my low-level application.


VMware is not as "user friendly" to install as VirtualBox, but was actually fairly simple once I got going. The only drawback to VMware is the control software, which runs in a browser and is somewhat clunky. Text windows for VMs don't automatically open as they do in VirtualBox, and when they do open, they open in a web browser, which needs a special plug-in to function. (VMware will happily sell you a very nice program to control the VMs, but that too was well beyond my budget.)


VMware offers more control over the emulated hardware (but less control over CPU settings), and this proved crucial to helping to identify the problem once I started having the same disk errors in VMware VMs.




The Problem


I would often find that one or more of the web servers was not serving up pages. Occasionally, one of the DNS servers or the eMail server would fail. Checking the console, I'd find that the virtual machine had crashed with some type of disk error. I'd often find error messages on the individual VM's console about "unable to sync" errors. Frequently, these would lead to a kernel panic and halt the VM.


These errors would occur at apparently random times, and would affect one or more of the VMs. The errors could happen in any of the 13 VMs, with no discernable pattern as to which VM would be affected. Digging into the /var/log/messages file of the crashed VMs, I'd see weird (to me) error messages like:


mptscsih: ioc0: attempting task abort! (sc=c28f2280)

sd 0:0:0:0: [sda] CDB: Write(10): 2a 00 00 0b 45 6f 00 00 08 00

mptscsih: ioc0: task abort: SUCCESS (sc=c28f2280)


When one of the VMs had crashed, I noticed that CPU utilization (viewed through "top") showed at least one of the cores pegged at 100%. VirtualBox is very nice in that it lets you see which Linux process is running each particular virtual machine. I could easily tell which VM was using all the CPU cycles. Invariably, the crashed VM was the one overloading the CPU core.


Rebooting the crashed VM (or for simplicity sake, the entire Host) would usually restore functionality. However, often the disk errors would corrupt the files on the virtual hard disks, and I would have to manually run the "fsck" program to identify and correct file system errors.




Troubleshooting


At first, I suspected either RAM or disk errors in the Host. The Host SATA disk has SMART capability, but the SMART diagnostics showed nothing unusual. I ran "memtest86+" for over an hour early one Saturday morning and it showed no errors. I also ran diagnostics within the virtual machines. "Memtest86+" would also run fine within the VM. However, disk tests from the "inquisitor" diagnostic and burn-in disk, would fail inside the VM.


I tried adjusting some BIOS settings on the Host. There was one setting for allowing "secure virtual machines", and one for "enhanced halt instructions". I toggled both of these, eventually trying all four permutations of these two settings. Setting the enhanced halt and allowing secure virtual machines seemed to reduce the CPU utilization and make the computer work less hard. At first, I thought this helped, but I now feel this was just wishful thinking on my part since the errors still occurred.


Queries posted on VirtualBox's user forums did not produce any meaningful response. I later googled some of the error messages and found that this problem was identified years ago, and seems to afflict Debian systems more than others. (At least, it has been reported in Debian more.) Nobody had ever posted a solution that seemed like it would apply to me.


I tested using a Parallel-ATA (PATA) disk interface instead of the normal and more modern Serial-ATA (SATA) interface to the virtual machine's virtual disk. The VM that had the PATA interface seemed to crash about the same amount of time as the default SATA.


In desperation, I installed VMware Server 2.0.2 (the free server) and rebuilt each virtual machine within VMware. I elected to have each VM pre-allocate the entire virtual hard drive rather than allowing it to grow as needed. (I suspected the "grow" operation may have been causing the problem.) I also installed the VMware tools in each virtual machine.


Except for the clumsiness of using the web interface to open console screens, the VMware virtual machines seemed to run fine. I really liked the start-up sequencing that VMware offers. In VirtualBox, I had to write a script to start the VMs, with delays between each VM. VMware lets you set this from within a browser, which was very nice.


Unfortunately, the disk errors and crashes still occurred, although they seemed to occur a little less often.


Further googling the error messages in /var/log/messages led me to think there may be some problem with the SATA kernel module in Linux. In fact, there were even complaints in Bugzilla about the mptscsih module. Luckily, VMWare lets you select the type of disk hardware you present to the virtual machine. The default is a "LSI Logic" hardware interface (that loads the mptscsih kernel module). However, you can also select a "LSI Logic SAS", and a BusLogic interface.


Changing to the LSI Logic SAS interface did not improve the situation. It loads the same kernel module as the regular LSI Logic module, so this isn't too surprising. Changing to the BusLogic interface did improve things, however. It loads a different kernel module. I still got some error messages in /var/log/messages, but apparently, this module is able to correct any errors and continue; I've never had a virtual machine crash since I selected it.


About this time, I also noticed another critical piece of information. All the crashes seemed to be happening around 6:25 AM. That, not coincidentally, is when Debian has set cron to run all the cron.daily tasks. Since the Host and all the VMs are running nearly identical Debian installations, they all run the same cron.daily tasks at the exact same time. The Host disk system is therefore being severely taxed at the same time each day running disk-intensive programs such as "logrotate".




Root Cause Analysis


Here is what I think is happening:


  1. "cron" causes all 13 virtual machines (and the Host) to begin reading and writing to all 13 virtual disks at the exact same time. This puts a severe burden on the virtualized disk interface to keep each VM's virtual disk operating.

  2. The low-level file read/writes of the Host physical disk are not fast enough to satisfy the internal timing requirements of the virtual disk hardware and kernel module.

  3. The individual virtual disks begin to generate errors. If these errors continue or become too severe, the individual virtual disks lose "synchronization" which corrupts files on the virtual disk. If the synchronization error occurs on the virtual swap partition, the VM will generate a kernel panic.



Notes:


  • The BusLogic kernel module is more forgiving of delayed updates from the virtual disk. It notices the errors, but recovers cleanly.

  • PATA & SATA use the same module in modern Linux kernels, so it is not surprising that they perform the same in the VM.






Best Settings & Other Things to Try


I have been able to reduce the severity of these problems, even though the logs indicate I still have disk errors. Luckily, I have not had a VM crash since I changed the virtualized disk hardware to the BusLogic system.


If you are experiencing these same errors, here are the things I recommend you try. I haven't tried all these settings yet, but they all are consistent with my theory of the root cause.


  • Select the BusLogic controller if using VMware.

  • Randomize the execution times for cron jobs within the virtual machines.

  • Select "Optimize for Performance" disk writes instead of the default (and safer) "Optimize for Safety" writes if using VMware.

  • Increase the commit time of the ext3 file system beyond its default of 5 seconds. (Beware; this will increase the chance of lost data if the system crashes.)

  • Use multiple physical hard drives for the Host and the virtual machines. Presumably, this problem would not occur if each virtual machine had a dedicated physical disk. (It may also be possible to use a NFS mount for the virtual disks, but I think this would slow performance too much.)

  • Increase RAM on the Host, and allocate more for the VMs. Prevent the use of swap space in either the Host or the virtual machines since this will greatly reduce the burden on the Host disk system.

  • Use VMware instead of VirtualBox (due to the ability to select the different virtualized hardware).

  • Reduce the number of virtual machines. Apache can easily serve multiple web pages from a single virtual machine. I chose to add a great deal of duplicate overhead by separating each customer's web page to a separate virtual machine. Each VM adds considerable overhead that often can be eliminated by combining VMs.




Questions and Comments


I welcome questions and comments. Please send them via eMail to "Casey" at this domain, which is "NerdWorld.org".

The Speed of Light & Time Dilation: A Quandary

| No Comments



It is a well-known fact of relativity that time slows down for things that move close to the speed of light. This concept, although somewhat strange to those of us who live at non-relativistic speeds, is actually easy to understand. However, it leads to a logical paradox that I have struggled to understand for more than a decade. Undoubtedly, the theory (and reality!) are fine, and it is my understanding that is faulty. This essay will try to explain the problem that has vexed me for so long. Perhaps someone smarter than I can resolve the apparent paradox.





Time Dilation Background


The most common example given of the "Time Dilation" phenomenon is the case of an astronaut who leaves earth at very high speed for a distant star. To the astronaut, the journey there and back takes only a few decades, but upon his return, he discovers to his horror that millions of years have passed on earth, and everyone he knows is long dead. (Apparently, this astronaut never heard of Einstein and slept through his physics classes in college.)


This time dilation effect has been experimentally confirmed in many cases. Short-lived sub atomic particles last longer when they are accelerated to nearly the speed of light. Even the clocks on board the space shuttle are noticeably (if just barely) out of synchronization with ground clocks at the end of a mission due to its high orbital speed. The high speed of GPS satellites throws off their internal clocks and has to be factored into the calculations performed by our GPS receivers, or they would give us incorrect location information.


Albert Einstein postulated this effect as a direct result of his theory of special relativity, which required that the speed of light be constant in all frames of reference. Einstein was no math whiz, so he used a very simple "thought experiment" to demonstrate the effect. This thought experiment is so simple that even a layman can easily understand the effect with just a few minutes consideration.


There is one very troubling aspect of this effect that I cannot fathom, however. Why does the astronaut stay young and the earth get old? Since there is no absolute frame of reference in the universe, speed is always measured relative to other objects. You could just as easily say the earth speeds away and the astronaut stays motionless. Why doesn't the astronaut get old instead of the earth? Why does one age, and not the other? It seems arbitrary to me.


This leaves me with the quandary: "Why doesn't the other clock slow down instead?"




The Famous Thought Experiment


Einstein imagined an experimenter on a train who has 2 horizontal mirrors, one on the floor, and the other on the ceiling. He shines a light between the 2 mirrors and uses a very precise stopwatch to determine how long it takes for the light to bounce off the mirror on the ceiling and hit the mirror on the floor. (See Figure 1 - Train at Rest)

 

  Blog - Time Dilation - Fig 1 - Train at Rest.PNG 

The time can be predicted if we know the distance between the mirrors ("d"), by using the formula:

Blog - Time Dilation - Eq 1 - Speed.PNGWe can solve for time by using the equation:

 

Blog - Time Dilation - Eq 2 - Time.PNGEinstein knew, based partly on the famous Michelson-Morley experiments (which were performed at my alma mater in Cleveland in 1887), that the Speed of Light has to be the same, no matter where you are or how you measure it. Since the speed of light (which we call "c", or approximately 186,000 miles per second) is known, and we know the distance "d", it is easy to calculate the time, and to confirm that measurement with a handy stopwatch.



The interesting thing happens when the train starts to move. (see Figure 2 - Train in Motion) To the experimenter riding in the train, everything is as it was when the train was at rest. However, if you were to be standing on a station platform and watching this experiment as the train whizzed by, you would see things a little differently. The light beam would not simply move up and down, but would seem (to you) to follow a diagonal path as the train moved. The light beam now doesn't travel a distance d, but instead has to travel a distance dM, which is longer than d.


  Blog - Time Dilation - Fig 2 - Train in Motion.PNG   

Now comes the weird part: Since the speed of light is constant in both frames of reference (the platform and the speeding railcar), the ratio of Distance/Time has to remain the same. However, since the distance dM is longer than d, that means the amount of time has to shrink proportionately to keep everything in balance.


Remember our general equation:


Blog - Time Dilation - Eq 1 - Speed.PNGIn this case, "speed" is equal to "c", the speed of light. Also "distance" is either d or dM depending on your frame of reference. So the following equation holds:

 


  Blog - Time Dilation - Eq 3.PNGUsing a bit of algebra gets us to this equation:

 

Blog - Time Dilation - Eq 4.PNGTherefore:

 


Blog - Time Dilation - Eq 5.PNGErgo, our clocks run slower when in motion. The amount they run slower is directly proportional to the difference in the lengths of d and dM.




Both Cars in Motion


So the clocks slowing is a little weird, but it is understandable, once one assumes that speed of light is constant in all frames of motion. The problem for me is that speed is always measured relative to something else. My car can travel at 65 miles per hour, relative to the surface of the earth. The space shuttle hurtles around the earth at approx 16,000 miles per hour, relative to any one point on earth. In Einstein's thought experiment, the train rushed past the observer standing on the station platform at something "close" to 186,000 miles per second.


But what if the observer was standing on a railroad car that was on a parallel siding? What if it was dark, and the observer could not tell if it was his car rushing at this high speed, or the other car? (See Figure 3 - passing Trains) Since the only measurable speed in this case would be the speed of the cars relative to each other, it should not matter which car was in motion. [Note, we will assume that both trains have superb suspensions and so neither rider can feel the vibration of the track.]

 

 

  Blog - Time Dilation - Fig 3 - Passing Trains.PNG 

By the best of my (very limited) ability to reason, both observers should think the other guy's clock is running slow!






Complicating the Thought Experiment


OK, I could sorta handle this, since everybody says that 'simultaneity" is no longer a valid concept when one reaches relativistic speeds. But now let's add something else to the thought experiment: Each person in the 2 cars on the parallel tracks announces on the radio what their local time is. As they speed closer to each other (neither knowing which car is actually moving nor which is actually stationary), they continually broadcast their own local time. (see Figure 4 - Synchronize Clocks) In this case, even though each rider ought to think the other guy's clock is running slow, the factual data of the actual transmitted time signal would seem to be in conflict with the "slow clock" data.

 

 

  Blog - Time Dilation - Fig 4 - Synchronize Clocks.PNG   

If each observer on each car thinks the other guy's clock is running slow, what will happen when they receive the updated time signal? Will each rider have his own "bubble" of local time with the other's clock always reading slower? Both clocks can't actually be running slower than the other guy's, can they?




My Quandary


What is the solution to this paradox? It is generally assumed that there are no paradoxes in nature, and if one is found, it indicates that an error exists in one's analysis. So is this a defect in the thought experiment, in my reasoning, or in my assumptions? I don't have any idea!





Obama Wants to Lose the Healthcare Mandate

| No Comments | No TrackBacks

The most objectionable aspect of Obamacare is the mandate that individuals must purchase health insurance or face fines.  Several states have announced lawsuits against the federal government seeking to overturn this portion of the law by claiming that the government has no authority to compel individuals to purchase anything from private companies.

 

While overturning the mandate seems like a worthy and noble goal, it actually plays into the hands of Obamacare supporters.  Those in favor of Obamacare want this provision of the law to be deemed unconstitutional. 

 

Why does Obama want the mandate thrown out?  To answer these questions, we have to understand two items:  1) Obama's true objective, and 2) The new healthcare system without the mandate.

 

 

The Objective of Obamacare

 

The president and others have made little secret that they favor a "single payer" (i.e.: government provided) health insurance system.  They view the existing Obamacare as a stepping-stone along the path to a fully socialized medical system.  They are hopeful that once the American public comes to accept extensive government regulation of healthcare, they will then accept even more direct government control over it.  In this, they are willing to take the long view.  They realize that while Americans are too opposed to socialized medicine to accept this system today, they believe Americans will accept it in a generation or two.

 

Obama has done, and will do, almost anything to further America along the path to a fully socialized medical system.

 

 

What if the Mandate is Found Unconstitutional?

 

A rational person who is not compelled to purchase insurance, but who can do so "retroactively", will only purchase insurance after they get sick and need it.  This is happening already in Massachusetts where the law forbids excluding people with pre-existing conditions, and provides no penalty to individuals who elect not to purchase coverage.

 

Insurance, of course, is a method of distributing risk.  We pay a small premium to an insurance company so that we can avoid the high cost of a medical care if we get sick.

 

The insurance companies will quickly go broke if they are forced to pay for health claims for sick people, but are not given the income stream of premiums from healthy people.

 

What happens if the insurance companies go broke and stop selling policies?  The answer is very simple: The government will have to step in and take over as the insurer of last resort.  If this happens, Obamacare supporters will have achieved their ultimate objective of socialized medicine.

 

 

While You Were Busy....

 

Working to overturn the mandate to purchase insurance is a worthy goal, but opponents of Obamacare have to keep their eye on the bigger goal.  We have to eliminate government interference in our daily lives and enhance the "invisible hand" of open and free markets.  

 

Do not be fooled into celebrating victory over Obamacare if the Supreme Court throws out the mandate.  Our goal has to be full repeal of the existing legislation.

Global Warming Fails the Smell Test

| No Comments | No TrackBacks

The Global Warming Alarmist Movement (aka "Warm-mongers") seems like it is fading into an unpleasant and agonizing death. Just about every week or so there is a new revelation that a key claim about global warming was based on some article in the popular trade press and not on peer-reviewed science. Nevertheless, even beyond the apparent non-science behind many of the claims for anthropomorphic global warming, the nature of the purported effects of global warming should have raised skeptical eyebrows in any thoughtful person.



Before beginning a discussion of these points, however, let me state categorically that I am 100% certain that mankind has influenced the global climate... just as termites, wildebeests, mosquitoes, and any other species with a significant global biomass has. What exactly this effect is (cooling, warming, humidity, weather patterns, etc) is unknown, however. In fact, I would not be surprised if the effects are unknowable.




So why should we be skeptical of the claims made by global warm-mongers?


1. They claim the results of climate change will be uniformity disastrous.


The warm-mongers claim that the changes that are coming will lead to more hurricanes, tornados, droughts, and floods. In other words, any change in the weather will lead to weather that is worse for mankind. Under their reasoning, weather cannot improve! Any change in global climate has to be more than bad; it has to be disastrous. That implies that we currently are enjoying the best possible weather patterns in the history of the world.


But why does the weather have to get worse? Couldn't global warming (or as they call it now "global climate change") just as easily mean that the weather will become balmier, and that this may lead to increased rain, longer growing seasons, and increased crop yields rather than droughts and mass starvation? True, changes in weather may potentially lead to droughts in some areas that currently receive moderate rainfall, but it also should just as likely increase rainfalls in arid areas.


Generally warmer weather should, by my reasoning, enlarge the tropics and increase biodiversity. If anything, a slightly warmer planet should be more hospitable to life than a cooler planet. Of course, the Warm-mongers don't see it that way.




2. Weather is an incredibly complex phenomenon that is (almost?) impossible to model with any accuracy, yet the warm-mongers speak with 100% certainty about our climate's future. We have great difficulty predicting what the weather will be like tomorrow, yet somehow we can state with absolute certainty what the overall global weather will be like in 100 years.


Global temperature rises are predicted by extremely sophisticated and complex computer models. However, the required sophistication of these models is enormous. If the computer models are truly accurate in predicting the future, they should be able to recreate the last few decades of weather if started with the conditions from 10 or 20 years ago. In other words, if given the conditions present in 1970, the computer models should be able to predict the climate we find in 2010. To my knowledge, these models fail miserably in this regard. In fact, one of the leading climate researchers at East Anglia's Climatic Research Unit (CRU) in the UK has admitted recently that there has been no statistical global warming over the past 10 years. Why didn't these super whiz-bang models predict that?


In addition to not accurately modeling the last 10 or 20 years of climate, to my knowledge, none of these models has explained the warming trend which began 18,000 years ago and erased the last ice age. As any geologist can tell you, the wall of ice was only about 150 miles north of my location in suburban Philadelphia. Has anyone adequately explained why the ice retreated and why the earth warmed?


And finally, weather is one of the classic examples of the mathematics of "chaos theory", an area of mathematics were accurate predictions of future events are inherently impossible. In a chaotic environment, even miniscule changes in what the mathematicians call "initial conditions" can lead to enormous changes in the results. It seems that none of the climate researchers has embraced the inherent limitations imposed by Chaos Theory.



3. Any skepticism expressed about global warming generates a response akin to the Spanish Inquisition. "Deniers" are the modern equivalent of McCarthy-era Hollywood blacklist.


What happened to healthy scientific debate? No science is ever "settled". (We are still testing aspects of Einstein's theory of general relativity!) To reject skeptics as knuckle-dragging Neanderthals is to subvert the "scientific method". Science has advanced through the ages due to skeptics who challenge the existing orthodoxy. History is replete with examples of heretics who challenged the "settled" science of the day and were eventually proven right. Galileo lived out his later years under house arrest because he told the world that some celestial bodies did not orbit the earth. Plate Tectonics was a radical idea 100 years ago. Good science demands skeptiscm; it does not discourage it.


Also interestingly, many of the basic data sets and analysis algorithms used by the warm-mongers have not been published in peer-reviewed journals. The essence of good science is to have other scientists independently duplicate one scientist's work. This is why Fleischmann and Pons' cold-fusion claims were quickly dismissed as either a fraud or error.


Why have the warm-mongers refused to reveal their base temperature data? Their refusal to do so indicates either their reasoning was sloppy (or faulty), or that it was actually fraudulent.



4. The "solution" to global warming is to destroy modern technological civilization by hyper-regulating our economy and essentially eliminating about 90% of power generating capacity (by eliminating fossil fuel usage)


The Warm-mongers give every indication that they have a strong ulterior motive in exaggerating global disaster: it gives them an opportunity to regulate economic activity and strongly discourages energy production. Carbon Dioxide, which some people might consider a fertilizer, but the EPA considers a pollutant, must be reduced even if it means dismantling about 90% of the world's fossil-fuel powered equipment. While the warm-mongers sing the praises of solar and wind energy, these two sources of energy are clearly incapable of meeting global needs economically.


If carbon dioxide induced warming were real, there are thousands of alternative methods of reducing the amount of CO2 in the air. Many of these techniques would almost certainly be less disruptive to our lives than the draconian reduction in fossil fuel burning that the warm-mongers demand. If the warm-mongers were truly interested in averting a warming disaster, they would be interested in exploring all these alternatives. Sadly, even the most basic, readily available alternative to fossil fuel energy, nuclear power, is even more anathema to the alarmists than existing fossil fuels.






I suspect that the warm-mongers are starting to realize that their campaign is failing to convince the world that disaster is coming, and that only the elimination of fossil fuels and the intensive regulation of our lives will prevent it. Like any other politically motivated group, they are attempting to cut off debate and silence their critics in any way they can. This, of course, is the exact opposite of how they would behave if they had truly compelling "settled" science on their side.


Global warming fails the smell test. It might be real, but the existing evidence (including the evidence of the behavior of its proponents) leads the rational observer to take a very skeptical view of their claims. As the late astronomer, Carl Sagan used to say, "Extraordinary claims require extraordinary evidence." The warm-mongers have indeed made extraordinary claims about the coming disaster. They have not, however, provided extraordinary evidence to support those claims. Until they do so, the rational person should remain skeptical.


3D CAD Program Selection and Review - "VX"

| No Comments | No TrackBacks

I am a very casual CAD user. Many many years ago, Fred Flintstone and I were introduced to the "Anvil" CAD system, which was the official CAD system for TRW in the mid 1980's. Anvil didn't last long, and I soon found myself using AutoCAD 9 to make 2D drawings of factory layouts. I eventually graduated to AutoCAD 14 (or some similar version) and even did some very simple 3D plans for my house. (Actually, they were really 2.5D, and very awkward to use.) I never became very proficient in any modern CAD system, but always felt the desire to do good engineering sketches in both my professional and personal (nerdy) life.

More recently, still wanting to do good quality sketches, I started looking for some type of drawing program. I've gotten pretty good at Microsoft Visio at work, but wanted something for home use. Since I'm primarily a Linux-nerd, I've looked mostly for Linux solutions. I found many Visio-like drawing programs for Linux, including one in the now-ubiquitous OpenOffice suite. Unfortunately, while the OpenOffice drawing program is actually pretty good, I felt it was somewhat awkward (much more so than Visio), and it still didn't give me the true 3D perspective I wanted for my sketches. There are tons of 2D drawing programs for Linux (and Windows), but all are rather limited in that they can't do any type of real perspective or modeling that a true 3D system provides. This led me to search for affordable 3D solid modeling CAD systems that were not too complicated for a casual user like me to learn.

My first selection was SolidWorks, which I was able to pick up as an - ahem - archival backup on the Internet. SolidWorks is a professional 3D solid modeling CAD system. It is widely used and very well liked by its users. I found it ran well on Windows XP running in a virtual machine under Linux. SolidWorks has the added benefit of being something of an industry standard. Knowing how to use it could potentially be advantageous in "real" life since it is used in so many industrial settings.

I did find two big drawbacks to SolidWorks however: 1) Using it is a felony if you haven't paid for it; & 2) Training help is difficult to find unless you pay real money, or know somebody who you can continually pester with questions.

SolidWorks includes a fairly good tutorial, but I often found myself stuck on some simple problem which I was completely unable to figure out. Had I taken real courses, or had a local guru to consult, I'm sure I could have gotten over these problems.

So I started a search for a 3D CAD system. This is a report of the results of that search. I ended up with "VX Innovator" running on Windows XP in a VirtualBox virtual machine on Linux.

CAD Systems Requirements

My "Must Haves" for a CAD system were fairly simple, yet demanding. I wanted:

1. Professional-quality 3D solid parametric modeling
2. Consumer-quality pricing (ie: $100 target price)
3. Runs on my Gentoo Linux AMD-64 system
4. A training/tutorial system by which a tech-savvy novice (ie: me) can become proficient in the system

My "Want To Haves" were also simple:

1. Runs natively on Linux instead of in an emulator
2. Helps me build 3D CAD skills which would be generally transferable to other well-known CAD systems (after a brief learning curve)

In my investigation, I came across 4 possible programs:

1. SolidWorks
2. VariCAD
3. Alibre
4. VX

There are tons of other CAD systems for around $100. Many of these can be purchased on-line, or at office superstores and Walmart. I may have dismissed these unfairly, but I wanted a __REAL__ CAD system.

Windows Virtual Machines on Linux

I run Windows XP under Linux by using Sun's free "VirtualBox" (http://www.virtualbox.org/) program. This program fools Windows into thinking it's on a completely separate computer, when it is actually another program running on my Linux computer. It runs at the same time that Linux is running, and it can do things like share file directories, printers, the mouse, and the monitor with Linux. This works very well for almost every application I've tried, with the exception of some very graphics-intensive games. Things like Microsoft Office run perfectly. More recent versions of VirtualBox claim to support "3D acceleration" in Windows, but I've found this to be buggy. Hopefully, since VirtualBox is being very actively developed by Sun, these problems will disappear in the future.

All the Windows CAD programs I tried needed to run under VirtualBox, or under WINE, a less capable Windows Emulator for Linux.

SolidWorks

My first choice was to find a low-cost (ie: <$300) source for SolidWorks and to give up my life as a felon. SolidWorks runs just fine on a virtual machine under Linux, even though I didn't have the 3D acceleration activated. Unfortunately, although I was able to find some supposedly low cost versions for sale on the Internet, these retailers seemed pretty sleazy and I doubted whether they were legitimate. It seems SolidWorks is only sold through local "value added" retailers, and that means costs are in the thousands of dollars per seat. I even checked with some of the local community college tech schools, but none in my area teach SolidWorks, and none knew of a "student discount" available.

Training also was a problem for SolidWorks. They have a reasonably good tutorial, but any extra training is provided by these same value-added retailers, and was beyond my budget. Surprisingly to me, not much free training is available for SolidWorks on the Internet. I did find a local instructor who agreed to answer my SolidWorks questions via eMail. But I didn't know him very well, so didn't want to be pest to him.

VariCAD

After I realized that I would not be able to afford SolidWorks, I then looked at Linux 3D CAD systems, but only found one that looked like it had any possibilities: VariCAD. (http://www.varicad.com/en/home/). They are a European company, and therefore a little goofy to American eyes, but seemed very professional. VariCAD comes in both Windows and Linux variants, and has a fully-functional demo. It's price of $760 is a little steep, but they mention "student" pricing of $95, and although they never actually agreed to sell it to me at that price, I'm pretty certain I could have gotten it if I had pressed them more.

VariCAD looked very nice, although not as "polished" as their web site would lead you to believe. It also wasn't as polished as the other CAD systems I'll discuss here. It installed easily on my Gentoo Linux system, even though it is designed for Red Hat and Ubuntu/Debian systems. It comes in both 32-bit and 64-bit executables.

It has a series of rather rudimentary tutorials, which I found to be just barely adequate. Unfortunately, I found a pretty profound bug in the system while on the 3rd tutorial, and never was able to get it to work properly. VariCAD responded to my query about the bug, saying they couldn't duplicate it, so this may have been caused by me running it on Gentoo Linux instead of Ubuntu/Debian. Also, I run the unstable branch of Gentoo, which is bleeding edge and more likely to have uncorrected bugs. Even though the bug may not be the fault of VariCAD, finding a serious bug in a complex program while still early in the tutorial discouraged me and I looked elsewhere for a CAD program.

Alibre

I read some good comments about Alibre, so downloaded the trial version (https://www.alibre.com/downloads/downloads.aspx). It's strictly Windows, but seemed to execute under VirtualBox on Linux. They offer multiple versions of this program for special applications such as sheet metal punching. I was interested in the basic version, which can be purchased for as little as $99, if you are willing to accept a slightly older version of the program.

They include a tutorial, which looked to be adequate. They also offer a series of training videos for $300.

Alibre seemed like a fine program. It was a "real" 3D solid modeling CAD system, and it wasn't too bloody expensive. I only had one problem: it wouldn't run properly in my virtual machine under Linux. Something about the video graphics system often blanked the actual CAD image on the screen (although the menus always were displayed). So, except for the fact that I couldn't see the thing I was designing, it was fine <sigh>. I assume this program would have worked fine if I had been running Windows XP natively, but I'm a dedicated Linux nerd, and running Windows natively is not in my DNA. I also think that I probably could have mucked with enough settings to bludgeon the system into working, but wasn't looking to spend that much effort to make it work.

VX

I stumbled across VX (http://www.vx.com/) and, like Alibre, was impressed with professionalism of the web site. They also have a trial version which can be downloaded. Also like Alibre, they offer a variety of specialized versions for molding and/or machining. I was only interested in the basic "Innovator" product, and was a little confused by which version the demo was. (It is the same demo file for all of the versions; it could be activated as any of them, but defaults to the Innovator).

I was also impressed with the sophistication of their tutorials. I found the tutorials a little confusing at the very first, until I realized that they were showing graphics of both the designed part and the commands on the screen at same time. After that, I found the tutorials very helpful. Interestingly, they were the only tutorial I found that included draft angles of the type needed for injection molded parts. I presume all 3D CAD systems have this feature, but only VX included it early in the tutorials.

Pricing for VX, at $995, was beyond my budget. They made no mention of student pricing, but I eMailed them on a Saturday morning asking if they had a student price. I'm no student, but maybe "non-commercial" is equivalent to "student". Surprisingly, I got a very quick reply from their Marketing Manager, and this started a series of eMails that lasted all weekend, and continued for several weeks. [Jarrod, the Marketing Manager is apparently on duty 24/7. That means either: 1) Business is really poor and they need every sale they can get; 2) He's just a workaholic who can't shut off his computer; or 3) they are simply very responsive to their customers. I'm guessing the answer is a little of all 3 reasons.] Jarrod explained that they don't offer student pricing, but would reactivate a $195 promotional price that had expired 2 weeks previously.

I ended up purchasing VX Innovator at $195.

I had a couple of problems getting the purchase completed, due to me doing half the transaction on the web site, then aborting the transaction before it was completed. Also, they had a few issues with their "coupon" system which had the system charge me the full $995 price. Luckily, VX Corp seems like a small enough company that there are real people who look at these things and corrected the error manually. In fact, Jarrod, the sleepless Marketing Manager himself called me to let me know there was a problem with the purchase. One of the things I like about VX Corp is this relatively small size. I am confident that if I were to have any type serious issue I would be able to get it easily corrected by talking to a real human being.

VX Licensing and Activation

Once I had actually purchased VX, I installed it and activated it. (The actual program is the same as the demo program. You just input some license data to the opening screen to make it the activated version). This led me to the only feature of VX that I simply DETEST.

VX is activated on a single computer. If you want to move the program to a new computer, you lose your activation and have to request a new activation code. Although I am sure that VX Corp would provide me a new code if I needed it, I hate to be beholden to any corporation for permission to use something I've purchased. What happens three years from now when I update my computer and still want to use the current version of VX? Will they still even be in business? [Actually, as a nerd, I sometime change my computers every couple of weeks. Will I have to continually ask them for a new number? How long will this take until they don't believe I'm just a hardware-hacker and decide I'm pirating instead?] NOTE: See the "Update" section later in this review for more info.

The activation process involves running a program which generates a unique "System ID" number for your computer. You provide this to VX Corp via a web site, and they eMail you a very long license string. The kicker is this license string will only activate the copy on that particular computer. As a test, I tried to activate it in a separate VirtualBox virtual machine (on the same Linux computer) which was running Microsoft Vista instead of Windows XP. That activation failed because the System ID was different on the different virtual machine. Once again, I'm sure that VX would help me get a new code for a new computer, but this is much more onerous than a simple activation code.

There is one other aspect to their license that worried me a little. The eMail I received with my license activation code listed an "Expiration Date". I __THINK__ this means that support and upgrades expire on this date. However, if this means my license expires on this date, I will be very upset. NOTE: See the "Update" section later in this review for more info.

I found it very easy to pirate SolidWorks, and no one can blame VX Corp for trying to protect their intellectual property. Once again, I am sure that VX would provide me a new license key if I were to want to move the program to a new computer. However, had I realized how restrictive their licensing and activation system was, I would have continued to look at other systems. [Jarrod: Please take note of this!]

VX Assistance & Training

One of the best features of VX is the on-line tutorial. This is backed up by an extensive list of on-line training videos. I haven't yet gotten all the way through the tutorials, but these all seem to be excellent.

VX also sent me a friendly eMail newsletter from one of their support gurus. I sent him an eMail with a copy of a model file I was working on and asking for help in how to add a feature to one of the surfaces. He sent a reply back a few days later (apologizing for the slow reply) with some examples. He actually didn't answer my specific question, which was probably due to the confusing and unclear way I had asked it. He did however include a model file he had created. The nifty "Replay History" feature of VX (which I was not even aware of) let me see exactly how he created the model. So I deduct a point for not answering my specific question, and a half a point for taking too long to answer, but add several points for his taking the time to actually create a new model which showed me what he thought I wanted to know. NOTE: See the "Update" section later in this review for more info.

This comes back to reinforce my opinion that VX Corp is small enough to offer personal help. I got to deal with real people who understood the software, and didn't have to put up with a local value-added retailer whose prime motivation was for me to purchase some super-deluxe training package at very high cost.

General VX Comments

Since I'm relatively new to 3D modeling, I'm probably not the best evaluator of how well VX stacks up to other systems. But for what its worth, here are some comments on the system.

  • - The menus seems pretty well thought out. The icons are illustrative of their function. I thought the SolidWorks schemes were slightly better, but that may be simply my familiarity with them. I preferred how SolidWorks lets you select wireframe or rendered views. VX does the same thing with a toggle action which isn't quite as intuitive. I haven't had any trouble finding any particular command buried in the VX menu system. (How many complex programs is that true of? For example, have you ever tried to find the "label" menu item in Microsoft Word?).
  • - I found the tutorial a little confusing at first, but it was excellent once I realized how it was set up. The web page full of video tutorials look to be excellent too, although I haven't really dug into them too much yet. Unfortunately, when working through a tutorial, you can't save the tutorial model under a new file name and then restart it later, since the tutorial system relies on the model's file name in its macros. This made me leery I might wipe out the original tutorial file by mistake.
  • - Screen updates are a little slow on my Linux system, but this is due to the VirtualBox graphics weaknesses. I tried the demo on a native Windows XP system and updates were very smooth and quick. VX will not run under WINE (the Linux windows emulator), but does run pretty well in VirtualBox. I haven't tried it under VMWare, since VMWare for the desktop is not a free program.
  • - I was not able to directly import my old SolidWorks drawings into VX. VX will import all the standard interchange formats (IGES, STEP, etc), but will not directly load a SolidWorks file.
  • - The help system includes a list of all the Ctrl key codes, so it's easy to learn the keyboard shortcuts. This is a very nice feature that I wish other programs emulated. The help system itself links to a VX web page, so I expect this to stay up to date very well.

VX Conclusions - Pluses and Minuses

So after a couple of weeks of working with VX (interrupted by extensive traveling which made it impossible for me to focus on VX like I would have liked to), here's where it stands:

Pluses:

  • - Professional 3D solid model CAD system
  • - "Consumer" price level
  • - Runs inside a virtual machine on Linux
  • - Very good tutorial, and lots of on-line help
  • - Good company support

Minuses:

  • - Activation restricts program to a single computer. Upgrade your computer and you need a new activation code
  • - Priced higher than Alibre, which is very similar
  • - Needs a virtual machine emulator to run on Linux. Screen updates are slowed by being in a virtual machine.



Updates - Nov 7, 2009:

Since I published this review, I've gotten some more info from VX regarding their licensing, and gotten some more help from their tech-support guru. None of this info has substantially changed my favorable opinions about VX; in fact, it's actually tended to confirm my existing opinions.

Licensing Update

I received an eMail from the Jarrod the Marketing Manager clarifying some of the terms of VX's licensing. As I had stated, I particularly disliked the way their activation scheme would only allow the program to run on a single computer, since it was tied to a specific "System ID" value. I felt this restricted me from moving the program to other computers, as I was very likely to do. I also worried that if VX went out of business, I would be unable to use the program.

VX has a "Licensing FAQ" on their website which I had overlooked which spells out their policy for updated activation codes. They already have a policy where they will provide an updated code annually, and have a mechanism where you can activate it for 30 days in an emergency. They have a special eMail address to request the updated code too. Beyond that, I am still convinced that if I moved the program to new computers more than once per year, they would happily support me.

They also offer a USB dongle for $99 which eliminates the entire problem, since the program will always run if the dongle is inserted. This is a good solution, except it would raise the total cost of the program by 50%. (I'm sure that $99 just about covers the actual cost to VX for the dongle, so nobody really comes out ahead in this deal.)

Jarrod also confirmed my guess about the 1-year term of the license. VX reissues licenses each year. This seems somewhat complicated to me, but will keep you operating.

I still feel VX's activation scheme is way too onerous. Again, I can appreciate that VX wants to protect the intellectual property that forms the entire basis for their livelihoods. There is no easy solution to balancing this need to protect their property with the user's desire to run software unfettered in whatever manner they chose. Software piracy is a real problem, especially for smaller companies. The system VX has created is probably not too bad for large or medium sized companies. For the casual user like me who is used to the wide-open Linux world, it is tremendously confining however. I still feel that if I had realized how restrictive this activation scheme was, I would have continued to look for other 3D CAD systems. I may not have found another one I liked better, but I would have continued my search and looked at some other less-sophisticated programs.

VX will do what they believe to be in their best interest, but I urge them to relax this system.

VX Assistance & Training Update

I had sent an eMailed query to Eugene, VX's support guru, asking for help in adding a feature to a model. He had eMailed me back a model he had created showing me how to do what I wanted to do. Unfortunately, I had not been clear in my request, and he actually showed me something else. I replied to him and restated my request.

This time I received a speedy reply which exactly answered my question. Even more impressive, Eugene included a whole bunch of screen shots showing me the exact commands he used to create the feature. Eugene also offered to walk me though this process during a live chat if I liked.

The support and training available from VX is outstanding. This appears to be another benefit of having a medium sized company. Can you imagine calling SolidWorks and getting somebody to send you a bunch of screen shots on how to do something? They'd probably send you to the local "value added" retailer who'd try to sign you up for the $800 training course.

Updated VX Conclusions - Pluses and Minuses

Not much changed from before. VX is an excellent, professional quality 3D solid modeling CAD system which is priced very reasonably. It runs well on my hardware, even with the complication of running on a virtual machine under Linux. Their support is excellent, tutorials are great, and the on-line training is wonderful. There are real people who you can deal with to help with any problem that might arise. The only significant negative is the licensing, which restricts you to running the program on a single computer, and forces you to request a reactivation code if you upgrade your hardware, unless you spend an additional $99 for a dongle.

Note: This is the full version of this review. An abbreviated version is posted on VX's user forum. I am happy to correct errors in this entry, and may add updates as I use the program more. Click on the comment section below if you'd like to add your 2 cents.

If I Had Voted for Obama, I'd Be Pissed!

| No Comments | No TrackBacks

I didn't vote for Obama, so Obama supporters may discount the opinions in this blog post, but if I had voted for Obama, I'd be pissed. He made a number of very specific and emphatic campaign promises, and he routinely denounced some specific actions of the Bush administrations. To date, many of the most important of those promises have been either conveniently forgotten or outright reversed. Some of his promises include:

  • Closing the prison camp Guantanimo

  • Giving 95% of all Americans a tax cut

  • Halting torture of prisoners

  • Eliminating warrantless wiretapping

  • Removing combat troops from Iraq within 18 months

  • Posting the text of all new laws on web 48 hours before they were voted on

  • Eliminating the influence of lobbyists in the federal government

  • Increasing the transparency of government decisions

  • Working in a post-partisan manner

  • Leading a post-racial society

These are things that are very important to almost all left-leaning Americans, but of course, are also important to most centrists and many conservatives. So how did he do? Did Obama keep his promises? Is he still outraged by the actions of the Bush administration enough to have reversed policy and ameliorated those actions?

Here's my take on these promises:

  • He's "studying" closing Guantanimo, and apparently having trouble finding alternate holding locations for the current inmates. I'll bet anybody $10 that Guantanimo holds at least 25 prisoners (who have not been convicted of any crime) by the time Obama's first term ends. Obama has also announced that he reserves the right to hold enemy combatants indefinitely, even after they've served their sentences. Dick Cheney would be proud of his resolve.

  • Obama has moved aggressively on legislation that will generally raise taxes, but has not, to my knowledge, done anything about a general tax reduction for 95% of Americans.

  • He's banned torture via executive order, although I am unclear whether that means waterboarding has ceased to be an option during interrogations.

  • Warrantless wiretapping continues. The Obama administration has vigorously defended in court the administration's right to continue monitoring overseas communications, in direct continuation of the Bush administration's policies.

  • Combat troops are coming home from Iraq, but at the exact pace established by the Bush administration in cooperation with the Iraqi government in 2008.

  • Many high-profile laws have been voted on without even giving the legislatures enough time to read them (the "Stimulus" and the House "Cap & Trade" bills). Neither of these bills was posted on the web prior to being voted on.

  • Obama has lobbyists in the cabinet, and had wanted to appoint others (such as Tom Daschle). Apparently, some lobbyists are just too darn vital to the national service to allow this restriction to apply to them.

  • Transparency is hard to measure, but the statement of Obama's chief of staff, Rahm Emmanuel to "never let a crisis go to waste" tends to indicate to this commentator that transparency of decision making is not a high priority in the White House.

  • Several key pieces of legislature that Obama has worked hard to enact were enacted with essentially zero Republican votes or consultation. One could always argue that bi-partisanship is a two-way street that requires both parties to cooperate, but this observer saw no evidence that Obama had any interest in the minority party's views on the legislation.

  • Obama's friend, Professor Skip Gates, had a run-in with a policeman who suspected he might be a burglar. Despite admitting ignorance of the facts, Obama immediately opined that the policeman acted stupidly, and implied that racial prejudice by the white policeman was the likely cause of the problem. In other words, Obama's raised race as the dominant issue without any supporting data, thereby emphasizing the different races of the participants. This is not, in this reviewer's opinion, how a "post-racial" president approaches events.

So as a conservative, I'm glad that Obama's not keeping his promises, but if I were a left-of-center voter, I'd be really pissed at him.

Angry Town Hall? Goodbye Congressman!

| No Comments | No TrackBacks

The news has been full of stories about angry citizens at "Town Hall" meetings hosted by congressmen and senators. The Democrats are claiming that the objections raised by the citizens at these meetings are an "Astroturf" movement (as apposed to "grassroots"). Republicans are replying that the hand-printed signs and well dressed appearance of the protestors is actually a sign that the protests are truly spontaneous.

I believe the protests are spontaneous, but that misses the point: A large portion of the electorate is angry and mobilized. Congress ignores this (and insults this!) at their peril. Let me give an example which illustrates what happens to a congressman who makes his citizens angry.

In the 1980's and 90's I lived near Augusta, Georgia, a fairly conservative southern town. In 1993, the long-standing conservative 10th district Democratic congressman had retired and his open seat had been won by Democratic freshman Don Johnson. At the time, newly elected president Clinton was trying to close a budget shortfall, and had proposed a large increase in taxes. (It was the largest tax increase ever... at that time.) Congressman Johnson had declared that he would vote against the tax increase, but when the vote came, he succumbed to a personal telephone appeal from President Clinton and voted for the new tax. Since the tax bill passed the house by a single vote, everyone who voted for the bill became the "deciding" vote. Congressman Johnson's vote angered me at the time, and I apparently was not alone in this anger.

The Congressman hosted a Town Hall meeting shortly thereafter. I had never been to one before, but I was energized by the crowd of 75 or so citizens, most of whom were mad as hell at what they considered a betrayal by Representative Johnson. Many of the questioners demanded to know what "Slick Willie" had promised the congressman in return for his vote. The Congressman's earnest, almost plaintive, statements that he made his vote in good conscious without any quid-pro-quo of any type were not well received by the hostile crowd.

I am somewhat ashamed to admit that I, and most of the people at that meeting, did not behave respectfully to the congressman. He was interrupted repeatedly by jeers, shouted rebuttals, and cat-calls. He made his points, but there was nothing he could say that could explain away his critical support for a large, unpopular tax increase. In any event, the crowd was not in a conciliatory mood, and let him know this in very direct and personal terms.

A local TV news crew had cameras at the meeting, but in a stunning example of media bias (which at the time I ascribed to simple incompetence by the local field producer), completely minimized the uproar. Their report left viewers with the impression that there was a mild disapproval of the congressman by a few voters. No mention was made of the jeers, angry questions, or loud boos the congressman repeatedly received.

Despite the mild press coverage, the freshman congressman was defeated in the next election by a whopping 31 points. He was defeated by a dentist who had never before run for elected office. Charlie Norwood was the first Republican congressman in this district since reconstruction. That seat is still held by Republicans to this day.

So, Congresspeople, I advise you to pay attention to your constituents. Don't be fooled by Nancy Pelosi and that whole "astroturfing" BS. If you value your job, and your constituents are mad as hell, you better make sure they are not mad at you!

Obama's Popularity Rating

| No Comments | No TrackBacks

Rasmussen has been tracking President Obama's "Approval Index", the ratio of those who "strongly support" vs. those who "strongly appose" the President. Rasmussen reports that this ratio has been steadily falling, as the number of people who "strongly appose" Obama has risen and the number who "strongly support" him has fallen. We conservative had to suffer through Bush's abysmal approval ratings, and so we wonder if it is too early to enjoy some schadenfreude at Obama's expense. Obama appears to be very popular. Is this Approval Index a goofy number which is explicitly designed by conservatives to show Obama in a poor light? How does Obama's popularity rating compare to other elected presidents?

Abama's Approval Index for 6/20/2009

To find out, I reviewed the popularity of Obama as compared to all the recent elected Presidents. I used the data available from the Presidency Project at the University of California at Santa Barbara. I ignored presidents who were "unelected into office", such as Truman, Johnson, & Ford. I had assumed that every president gets some type of honeymoon, and so wanted to consider the early portion of their terms, just as they were elected. I wanted to compare them to Obama. I was hoping to discover if Obama's popularity is "normal" for newly elected presidents.

In summary, I found that Obama is right in the middle of the popularity pack of recent elected presidents. He is more popular than George W Bush was at this point, but is much less popular than Kennedy or Eisenhower, and about the same as Richard Nixon. He is much more popular than Bill Clinton, who was extremely unpopular at this point in his presidency.

Weekly Approval Chart - 30 weeks Weekly Approval Chart - Bush v Obama

click on images to get larger view

I was surprised by 2 things from this data:

  • 1. There is no reliable presidential honeymoon when it comes to approval rates, and
  • 2. Obama's popularity is only average for a new president

My assumption about presidential honeymoons was not supported by the data. Reagan, for example, saw his score start out low and then quickly increase about 10 points in his first 30 weeks in office. Clinton too had low numbers early in his presidency, but was able to raise them later.

One would think that Obama is wildly popular. The press he receives is almost completely positive (unless one counts conservative bloggers who are almost completely - and predictably - negative on Obama). Most conservatives are extremely critical of the Mainstream Media (MSM) for being biased in Obama's favor. The most grievous example of this is Newsweek's Evan Thomas who described Obama as "sort of god" in response to Obama's speech in Cairo. Obviously, the average American voter (as polled by Rasmussen) does not deify Obama the way most professional news gathering organizations seem to do. One would never have called Richard Nixon, or even Eisenhower, a god. JFK is still popular, but even he had to live in Camelot, not heaven. Only Obama seems to have moved the Whitehouse to Mount Olympus.

Historical Approval Chart

Another interesting things I learned from this exercise is how extremely volatile presidential approval rates are. The most extreme example of this is Truman, who saw approval rates as high as 91%, and as low as 22%. George W Bush also saw a precipitous and continual slide from a high point after September 11. In fact, most presidents saw their popularity slide while in office. The only partial exception to this is Bill Clinton, who left office slightly more popular than when he entered. It's interesting that we generally think highly of Truman today, despite his horrible poll numbers. Likewise, Clinton is thought to be an average president, and had average polls. Conservative such as me predict that with time, George W Bush will see a Truman-like reappraisal, but we'll have to wait a few decades before we can evaluate how prescient this prediction is.

The file that created all these charts can be downloaded by clicking here.