Wednesday, June 29, 2011

Virtual Machine Manager, Windows VMs and "Unable to create cgroup"

For my project at work, I need to have a Windows machine or two laying around for testing. The cheapest, and easiest, for me is to have virtual machines on my laptop: one for Windows 2008 Server and one for Windows 7.

With the upgrade to Fedora 15 some issues came up with that environment. I had deleted my old VMs and wanted to create two new template VMs (ones I can keep and clone for when I need an actual working VM). So I downloaded the ISOs from my MSDN account and started the process of creating the VMs.

Only thing is, I was stopped in my tracks. After setting up the VM (32-bit, 1 CPU, 1024M RAM, 50G storage) I got the error:


Unable to create cgroup for Windows2k8Server: No such file or directory

and the whole VM creation stops right there. So filed a Bugzilla against Virtual Machine Manager to get it fixed. In talking with the lead developer I found that problem is not with Virtual Machine Manager but with systemd itself.

To work around this if you're hitting the problem, and until it can be fixed in systemd (Bugzilla), you need to just stop and then start the libvirtd process and then create your VM. After I did that it worked as expected.

Monday, June 27, 2011

Forcing have_header to properly handle C++ header files...

The Problem

In working on the Qpid Ruby bindings, I've decided to keep on as proper a path as possible with the environment. So part of that is to have the gem's installation verify that the header files necessary to build the native libraries are present.

But that right away became a problem, since the underly Qpid code is written in C++ and, by default, Ruby's native extensions default to using C. So when, in extconf.rb, the code attempts to verify certain headers from Qpid that themselves depend on C++ headers the verification would "fail" since C can't find those headers.

For example, in qpid/messaging/Address.h there's an include for the string header in C++:

#include <string>

In mkmf Ruby attempts to validate that qpid/messaging/Address.h is present by creating a temporary c program that has:

/* begin */
#include <qpid/messaging/Address.h>
/* end */

Inside of Address.h there is:

#include <string>

and while GCC is compiling the the temporary sources the preprocessor choke son the above include and Ruby decides that Address.h doesn't exist.

The Solution

To force Ruby to use your C++ compiler to validate headers as well, simply use:

$CFLAGS = "-x c++"

or else add:

with_cflags("-x c++")

depending on which way you prefer to defined the compiler flags. Once you do that, C++ will be used to verify headers and libraries.

And if you're using C++ for your Ruby extensions then that's what you'd want to do anyway.

Monday, June 20, 2011

Disappointed at the theater this weekend...

On Sunday, for Father's Day, Christene and the kids took me to breakfast at IHOP. Afterward they gave me my card, which had a photo of grill utensils, and we drove to Lowes Hardware so I could pick out a grill.


(Yes, I've lived in North Carolina for 13 years now without ever owning a grill)

But as we were waiting for the guy at Lowes to first get us the grill and then help me to load it into the van (he never did come back and I had to get someone else to help me) Christene kept saying we were somewhat pressed for time.

The reason was that the third present for Father's Day: tickets to see "Green Lantern" in 3D! She dropped Caleb, Ben and me off at the theater.

So the boys and I got drinks (no need for food since we'd just had lunch) and went in to wait for the film.

And right away I should have realized something was wrong when, during the wait, there was no video shown on the screen. Usually there's the standard set of commercial images the theater cycles through, their advertisers, while a pseudo-radio station plays other advertisements. But we only had the audio.

At 1:05p, five minutes before the film was to start, I called the theater's number and asked why there was no video present. By 1:10p the theater manager came in to say that the bulb had burned out on the projector and they were going to replace it and that should only take a few minutes.

Ten minutes later he came back in to say they identified the problem (which I thought they had already done) and were fixing it and it should be 5-10 minutes till the film was on. And, to make up for that, they would start it without the trailers (BOO! I LOVE TRAILERS).

Finally, after half an hour, the film started.

But, during the climactic battle sequence at the end of the film THE AUDIO SHUT OUT. It went back to playing the pseudo-radio station, and we couldn't hear anything that was being said by Hal Jordon or certain others who were on screen at that moment.

So I again (for the fourth time) called the theater from my seat and asked if anybody was aware the audio was off.

Someone fixed it, but it was after the battle had finished. So the dramatic exchange was completely lost on us. To compensate us, the manager did give everybody free tickets to another 3D showing of either GL or another film. But, really, I was so looking forward to THIS SHOWING and was very disappointed at the bungling at the theater. They've never been this inept before, so I hope it was just a one-time thing.

And, for those of you were were thinking this was going to be about the "Green Lantern" film itself: well, that too was a little disappointing. Granted I went in hoping that the producers could do justice to my favorite Ring Slinger. And they did do a good job of portraying Hal Jordan, Killowog, Sinestro and others. I would have loved more Lanterns (Kehaan or Laira or Boodikka) or maybe a nod to Jon Stewart or even Saalak at some point.

But where I think they fell short was in putting together a cohesive story. They went way too quickly from Hal's induction to Parralax, which is a pivotal time for him. I would have rather had the main focus be put on Hector Hammond, who was a wasted villain in the movie.

Really, all in all, the film was a middle of the road for someone like me who enjoys the character. But I don't think it's really a film that's going to appeal to most anybody else.

But the climactic scene at the ending, during the credits, got me REALLY excited for a sequel. And I just hope the studios learn from the first film and then make that second film.

Monday, June 13, 2011

"Stay Dead: A Novel Of Survival" by Steve Wands (review)

(the following review is one I posted on Amazon and Barnes & Noble for the book)

The scene was set in his previous work, "Stay Dead: The Stranger And Tunnel Rats". With this book, the author takes us back to life around Titan City and marshalls us into new territory in the zombie mythos. We're introduced to several sets of characters whose lives and pushed slowly, and painfully if not downright deadly for several of them, towards an ending that leaves the reader waiting for the next chapter.

I appreciate Wands' writing style and his approach to the material. He has no character that's too good (or too bad) to die. He paints a mental picture with his words that lets you easily imagine a world where people struggle just to get through the day, and night, without giving in to their despair at a world gone dead. His writing helps you connect with the heroes, and even the anti-heroes, and you feel for them. Whether it's a father looking past his children at a distant explosion or brothers trying to find their mother amidst the chaos of a zombie attack, you can't help but be touched by what they're going through.

And the best part (which I wish I could talk about here) is the backbone of the franchise; i.e., what has created the zombie apocalypse. Most (including myself) don't want to know WHY. Just give us the situation and let us go with it. But Wands gives us not an explanation but a hint, a teaser, as to why the dead walk. Even if he never goes beyond that one piece, he has given the reader enough to keep us coming back to find out more.

I have a scale on my podcast of rating things as a buy, a borrow or a don't bother. And I rate "Stay Dead: A Story Of Survival" as a borrow if not an outright buy. You want to read this. And, if you're like me, you'll want to read it agai

The True Battery Life Of The Kindle...

Back in episode 83 of my podcast I did a comparison of the Amazon Kindle, the Barnes & Noble Nook and the Sony eReader. And one of the big points that made the Kindle the hands down winner for me was the battery life. The advertised battery life was given as 30 days with the network turned off, which is double the life of the Nook is advertised as doing about two weeks.

So as an experiment, I decided in April to test this. I charged my Kindle overnight on 30 April, then packed away the USB cable and chose not to use it again until the battery was drained. All updates to it were sent via wireless (I don't have the 3G, so all downloads were over wifi) and I did send several PDFs to the device.

I also reset my Kindle at one point to clean things up when I realized I had a bunch of PDFs that I no longer needed on the device. I then redownloaded all of my Kindle books to the device.

As of today, 13 June 2011, I finally got the error message that the battery was too low and needed to be charged. That's 44 days on the one charge.

Again, I feel absolutely happy in choosing the Kindle, and love my wife for having given it to me for Christmas this past year.

Wednesday, June 8, 2011

Reporting phishing attempts to Google FTL!

This morning I opened what, to a less skeptical eye, might look like an absolutely valid attempt by Google to verify my Gmail account. It claimed that Google is attempting to eliminate all unused Gmail accounts1 and needed me to simply verify my details.

Now, looking at the link in the account it does go back to Google (to a hosted site on google.com) and uses a spreadsheet to collect the user's login name, password and date of birth. All things which Google would not require to verify your account.

But something a scammer would definitely like to get out of you since it would give them access to your email to look for bank mails, etc.

And that information coupled with your date of birth can give them a plethora of information to steal your identity.

So I tried to report this phishing attempt to Google. And (here's the where Google humps the fail whale) could not find any way of REPORTING a phishing attempt to Google.

Now, you might be saying:

Why didn't you click on the link to report the attempt on gmail.com?

The simple answer is: I don't use the gmail.com site to read email. I do it all through Thunderbird since I track three separate accounts.

So when I hit an email like this then I want to report it. But I can't really do that if Google doesn't give (even in the Google search results) a way to report an email phishing attempt.


1 I would expect that a legitimate attempt at doing this by Google would simply used the date last accessed to determine what accounts have aged out from lack of use and put them on a list to be deleted. Then they could just email the user a notice and, if that email were not opened after a set period, safely delete the account.

Wednesday, June 1, 2011

GFGI

I do hereby claim Founder's Rights to the phrase "GFGI", which stands for:

GO FUCKING GOOGLE IT

I'd like to thank my cube mate, Mike H., for being the inspiration.