2010 Jan 14 - Thu
Definition of a Banana Republic
In a missive from Contrarian Profits newsletter today, they drew nice intimated
an interesting parallel between a Banana Republic and a certain relatively large,
very well known country. The recipe for a Banana Republic, as described by
Justice Litle, Editorial Director, Taipan Publishing Group.
Wikipedia defines "Banana Republic" as a pejorative term for a country that is
politically unstable, dependent on limited agriculture (e.g. bananas), and
ruled by a small, self-elected, wealthy, and corrupt clique.
Ingredients:
- out-of-control printing presses
- currency restrictions and controls
- strangling regulation and red tape
- aggressive nationalization of private assets
- extravagant social programs (bribing the poor)
- deeply corrupt financial structures (bribing the connected)
- crushing pressures on small business (extorting the middle class)
Directions:
- Combine fervent promises of "hope," "change" and "revolution" in demagogue crockpot. Bring mixture to a slow rolling boil.
- As mixture firms, stir in aggressive spending plans and "revolutionary" public adjustments. Sprinkle liberally with insider connections and oligarchic financial loopholes to maintain smooth consistency. Let simmer for a full election cycle on low-heat propaganda flame.
- Pour filling into flaky self-righteous crust. Top with blatant corruption, repressed scandal and outright nationalization. Bake in fiscal suicide oven until inflation thermometer registers 30%+ and insider cronies are sufficiently enriched.*
*As with a delicate souffle, the middle class must not experience complete collapse during this phase. If this happens, you have inadvertently followed the recipe for a coup.
2009 Dec 22 - Tue
Global Warming: Should I Be Concerned?
For years, I've heard reports that the Earth is warming up, and as a consequence, something should be done about it.
Primary symptoms of warming have been through reports of that Antartica's Ice Cap is reducing in size.
A primary contributing factor which has been suggested as a primary contributor has been the combustion of various
fossil fuels which added carbon dioxide to the atmosphere, which in turns traps reflected sunlight, which in
turn warms the Earth/Atmosphere. Among other things.
I've been lead to believe that that global warming is a bad thing, and should be stopped, or even possibly reversed.
A fellow by the name of Mann recently presented a chart, now known as the 'hockey stick' chart, which shows a significant increase in
average global temperatures. Popular media has become enamoured with this chart, particularily recently, what with all
the latest brouhaha during the Copenhagen Climate talks.
From what I hear, developing nations want developed nations to give them billions of dollars in either cash or technology
cut emissions. If developed nations can't even commit to cutting their own emissions, what is the point in giving some one
else money in the illusion that they might also cut emissions.
Would it not be better to just put the hundreds of billions of dollars directly into alternate energy research? Obviously,
there will be expensive gaffs along the way, but at least something direct may come of it to assist the developed as well
as developing countries.
But then comes along some data that indicates that this may all be a moot point. A number of different scientific
observers have put together data from many different sources, with the data indicating that we are by no means currently
at a historically high global temperature. The middle ages (around 1000AD) saw higher temperatures than what we are
currently experiencing. The time around 0 AD saw even higher temperatures. And 1000 years before that were even higher temperatures.
And over the course of history, substantial temperature swings have been noted.
Mann's 'Hockey Stick' may be significant in recent history, but is it significant in the grand scheme of things? Is global warming an
event which would have arrived regardless of human meddling?
One way or another, the climate is going to give us some interesting action over the next little while, for some value of little.
It looks like I should be concerned, but due to completely different reasons.
For more climate oriented pointers, visit
Watts Up With That?.
2009 Oct 26 - Mon
Bottom Line on Security in Windows 7, and Some Thoughts on MultiTouch
From SANS NewsBites vol. 11 Num. 84, 2009-10-23, NewsBites editorial board member John Pescatore says:
From a security perspective, Windows 7 offers definite improvements
over Windows XP, but there is no major security reason to move to
Windows 7 before it makes business sense. The biggest improvement in
Windows desktop security comes from getting off of the IE6 browser and
moving to IE8 or the latest version of Firefox - and you don't need
Windows 7 to do that.
I've read that Windows 7 is somewhat faster but is better than Windows Vista. I havn't seen
definitive reviews that Windows 7 is faster than Windows XP, or offers anything useful over and above
what Windows XP offers as a development or user platform.
Well actually, I understand that Windows 7 has a multi-touch API built-in for when multi-touch devices
become more ubiquitous. 10/GUI is one such interesting multi-touch
method of CHI (Computer Human Interaction).
reacTIVision is an existing
tangible multi-touch interaction framework. I've always thought that using a multi-touch interface
with a DMX controlled lighting system would make for some very intersting busking capabilities for
live concerts.
Anyway back to Windows 7, the EE Times Newsletter roving editor Rick Merritt asserts:
That all Microsoft has done with Windows 7 is not mess it up. "Imagine the response systems makers might have if Microsoft had actually enabled some cool new ideas," Merritt writes. "Call me a curmudgeon, but I think Microsoft is resting on its monopolistic backside." What was needed from Microsoft, of course, was an OS that advanced the state of the art. This is not the time for tech companies to play it safe, especially a company with pockets as deep as Microsoft's.
On the other hand, if I took the time out to evaluate real life workflows in the new Windows 7 environment, and the execution time
differentials was minimal, I'd migrate just to stay with the latest thing. Some of the workflows I'd have to
check would be:
- Editing video with Adobe Premiere Pro CS4: lots of drive activity and lots of multimedia interaction
- Compiling heavily templated Boost supported C++ programs in Visual Studio: lots of CPU and some drive activity
- Compiling heavily templated Boost supported C++ programs in a an KDE/Eclipse/GCC environment hosted in a VMWare Workstation environment: lots of cross operating system calls
- Running trading and news gathering applications with intensive cross thread messaging: cpu and network intensive
Can anyone offer up opinions on what they've encountered between Windows XP, Windows Vista, and Windows 7 in these various
workflow environments from a speed/stability/effectiveness point of view?
Shortly after having written this, I saw an article published at Ars Technica which had a rather lengthy review regarding
XP, Vista, and Windows 7 entitled
Hasta la Vista, baby: Ars reviews Windows 7.
Buried further back in the article makes reference to the fact that performance isn't much different among the three.
The article does mention multi-touch, and indicates that it isn't very well integrated into the supplied applications.
Once I get some time, it looks like an upgrade to Windows 7 might be worth examining.
2009 Oct 17 - Sat
Memory Leak Detection in MSVC 2008 C++
In Visual Studio, when building debug releases, I seem to recall that
memory leak detection was automatically enabled. In Visual Studio 2008, memory leak
detection is not automatically enabled. Code will need to be added to the source
files to make it available.
Memory Leak Detection Enabling
is a document in MSDN describing how to enable the ability. Basically, to enable the debug heap
functions, include the following statements:
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
Immediately before the program exits, include the following function call:
_CrtDumpMemoryLeaks();
One commenter indicates that this only works best with C code, ie, C code will
get discriptive comments, but C++ code will get cryptic memory reports.
In order to get the file and line number to work you need to manually redefine new in your code.
This is done by undefining new, and redefining it to point to the debug versions that take a file and line number.
During debugging, in Windows based applications, std::cout no longer sends text into the
IDE's Output window. Instead, the function OutputDebugString( "..." ) needs to be used.
2009 Oct 01 - Thu
Determining your Dominant Eye
When I was shooting video a few days ago, a couple of questions were going through my head. One question
was that of wondering if one should keep both eyes open when viewing through the view finder. If one
is to keep both eyes open, the second question to arise was: which eye to use? Is there a difference? Ok, three questions.
A brief search indicates that, in the world of archery at least, there is indeed a dominant eye.
There is even a page for
determining your dominant eye:
- Extend both hands forward of your body and place the hands together making a small triangle (approximately 1/2 to 3/4 inch per side) between your thumbs and the first knuckle.
- With both eyes open, look through the triangle and center something such as a doorknob or the bullseye of a target in the triangle.
- Close your left eye. If the object remains in view, you are right eye dominant. If your hands appear to move off the object and move to the left, then you are left eye dominant.
- To validate the first test, look through the triangle and center the object again with both eyes open.
- Close your right eye. If the object remains in view, you are left eye dominant. If your hands appear to move off the object and move to the right, then you are right eye dominant.
- One more alternative method is to assume the same position with your hands forming the triangle around the object and have both eyes open. Now, slowly bring your hands toward your face while continuing to look at the object with both eyes open. When your hands touch your face, the triangle opening should be in front of your dominant eye.
I'm guessing that one uses their dominant eye when using the view finder. I havn't answered the question
about whether having both eyes open is good or not. Having at least one open seems like a good idea, though.
Building Boost 1.40.0 on Debian Linux
Boost builds well on Linux. To get a clean build, I needed two libraries.
With Python already installed, I needed to 'apt-get install python-dev'.
The iostreams library needed the bzip2 libraries which can be installed through
'apt-get install libbz2-dev'.
After downloading bjam from sourcforge, my build then used:
bjam install --toolset=gcc --prefix=/usr/local --layout=tagged variant=debug threading=multi link=static
Instead of 'debug', 'release' can be used.
2009 Sep 29 - Tue
VMWare Unity
In the latest release of VMWare Workstation, it has a new feature called Unity Mode. It is useable with Linux
and Windows 2000 and later guest operating systems. Unity Mode happens when clicking a button in VMWare to
"display applications directly on the host desktop".
The help file goes on to say:
The virtual machine console view is hidden, and you can minimize the Workstation window.
You can use keyboard shortcuts to copy, cut, and paste text between
applications on your host machine and virtual machine applications displayed in Unity mode.
You can also drag and drop and copy and paste files between host and guest.
The Ctrl+Shift+V key combination will pop up the virtual machine's Start or Applications Menu.
2009 Sep 15 - Tue
Search Engine Optimization
In my Sept 10 article regarding my experiences with the Elation DS 575E fixture, I used the phrase
'Elation Lighting Design Spot 575E' in many different places.
It took a day or two, but if you search for that phrase, you'll find it with a page rank
of 2, only second to the Elation Lighting web site itself.
Search engine optimization is what they say it is. Embedding a series of keywords in an article
multiple times does indeed help boost an article's popularity in Google's Page Rank. The problem is...
finding the correct search terms.
The whole phrase got me that second spot, but if the words are re-arranged or
some not used, then the ranking drops dramatically. If I had used various combinations,
the Page Rank would probably come out quite different.... maybe lower, but high enough in
a larger number of word search combinations.
Elation DS 575E Quality, Follow Up
The morning after I wrote my September 10 article regarding the Elation DS 575E Fixture, I heard back from the Service
Department of Elation. Maybe it was coincidental, but I'd like to think that that blog article, in addition to
messages I posted on
Elation Lighting Forums,
ControlBooth, and
The Light Network helped in getting the ball rolling for servicing my Elation DS 575E fixture.
I'll be getting the parts I need to bring the Elation DS 575E back into spec, and Elation will be providing phone support to
get me through the tough bits.
In my article, I did rant a bit about the Elation DS 575E service manual. I had been expecting something with some descriptions
maintenance and service descriptions in them. In the end,
with the break-out drawings and the parts lists, there is enough information to identify replacement parts for the Elation DS 575E. The instructions for
replacement will be via phone. Replacing a tilt belt is going to be fun.
As I previously mentioned, I think the Elation DS 575E fixtures are great. It was getting the service arrangements straightened out was the tough part, mostly
due to the fact that I'm two and a half hours and two customs departments from the nearest service center. I hadn't expected
to have to service the Elation DS 575E lights so soon.
2009 Sep 10 - Thu
Elation Lighting Design Spot 575E Quality, or Lack Thereof
A few months ago, I purchased a couple of Design Spot 575E Moving Lights from Elation Lighting. After a bunch of
research into feature sets and prices, these seemed to have the best bang for the buck. I purchased them through
Bill Cronheim at Entertainment Systems. Bill had said they were reliable and free of worries and worked well.
When I received them, they appeared to work well. After I used them for a few hours, and got used to their capabilities,
I realized that the two lights didn't match each other. One Design Spot 575E was having more problems than the other Design
Spot 575E.
The first problem I noticed was that the focus motor wouldn't focus. After obtaining a copy of the service manual (what a joke that is),
and some poking around, I re-adjusted the focus sensor, which is basically a magnetic sensor on a small circuit board.
The sensor board doesn't appear to be long enough. After looking at the parts list, they have a B version of it. So perhaps there is
a problem with it.
When using the Elation Lighting Design Spot 575E lights together during a focus session, I noticed the colour saturation on one
was not as good as the other Design Spot 575E. Wouldn't you know it, the problem Design Spot 575E was the same as the one that had the sensor board
problem.
I let Elation Lighting know about the problem.
I let it go for the time being and continued on with the show preparation. During a lamp check prior to a rehearsal, I noticed that
the lamp would only point up at the ceiling. The belt appeared fine but lose. It tried to tighten the belt. There was no more ability
to take up slack. Upon further observation, I found that the belt was splitting. As it happens, the broken belt was on that same Elation Lighting
Design Spot 575E. Can you say LEMON?
I had the two Elation Lighting Design Spot 575E moving lights shipped out here to Bermuda. Do you know the customs and shipping expeneses
I went through?
I offered Elation Lighting some token fee to pay for the LEMON Elation Lighting Design Spot 575E, made a request for replacement belts, CMY module,
magnetic sensor board, requested a replacment NEW unit, and said I would buy another one in addition, because I think that they have
some value.
It has now been several weeks now, and very little productive response from Gines Gines (Service Manager) and Eric Loader (Sales Manager) at
Elation Lighting. I have tried to be friendly and open with them, but they don't seem to want to offer up any solutions.
I guess if I don't buy ten's or hundred's of lights from them, it doesn't matter much that I'm not happy with their after sales service or support.
They can always try and sell lights to someone else.
Don't get me wrong, I love the fixture, but if they can't support it, well, I am no longer a supporter of Elation Lighting and their Elation
Lighting Design Spot 575E Moving Head Fixture. I think what I received was not a new unit, as I expected, and had ordered, but a B stock demo unit.
If they would just own up to that fact and get me my new replacement fixture, I'd be happy as a clam in wet sand.
2009 Aug 29 - Sat
Virtually Wondering the Earth
I saw a video once of how collections of pictures can be data mined to produce composite interactions which are more than the sum of the parts.
For example, it is
said that there are more than 80,000
images of the Notre Dame Cathedral in the Flickr database. By using
Scene Reconstruction and Visualization from Community Photo Collections, one can see more detail than any one of the photographers who
took pictures when actually being on site.
That research is only a minor portion of what can be found at
Microsoft Research.
2009 Aug 19 - Wed
Boost Bind/Lambda replaced by Boost Spirit/Phoenix
Regular users of the C++ library known as Boost will already know about
functors, lambda functions, and the like. These abilities mostly originate in
the Boost.Bind and Boost.Lambda libraries.
As I'll soon be using the functor capability within my C++ programs, I wanted to
make a 'note-to-self' regarding the fact that Boost.Bind and Boost.Lambda have basically
been superceded by Boost.Spirit.Phoenix.
The Phoenix library has been accepted into Boost based upon
Hartmut's summary of the Phoenix review.
The current incarnation of the
Boost libraries is 1.39. Here is the
Spirit User's Guide which includes a link to the
Phoenix Documentation and a link to the
Phoenix Users Guide.
It is noted that FC++ influenced Phoenix, and when looking at the
FC++ web site, there
is a reference to
LC++, which is a Logic Programming
language built atop of FC++. I wonder if something similar has been done atop of Phoenix.
An example from the Boost Mailing List of using Phoenix:
#include <vector>
#include <algorithm>
#include <boost/shared_ptr.hpp>
#include <boost/spirit/home/phoenix/core.hpp>
#include <boost/spirit/home/phoenix/operator.hpp>
#include <boost/spirit/home/phoenix/bind/bind_function.hpp>
struct A {};
void foo( const A& ) {}
int main()
{
using namespace boost::phoenix;
using namespace boost::phoenix::arg_names;
std::vector< boost::shared_ptr< A > > vec;
vec.push_back( boost::shared_ptr< A >( new A ) );
std::for_each( vec.begin(), vec.end(),
bind( &foo, *arg1 ) );
return 0;
}
Colorized with CodeColorizer.
|