Compiling and linking C++ code on Cortex-M3 without exception handling and RTTI

Most embedded software is written in C, and software written for ARM Cortex-M3 devices is no exception (pun intended).

C has many qualities – small, clean, relatively easy to learn and above all a superior interface for performing low-level hardware operations – try writing a routine for manipulating I/O memory  in Algol or Fortran …… Why, then, divert to C++ and its supposed steeper learning curve? The answer lies in the size of the software project you write.

The price for using C becomes painfully apparent when projects grow beyond the “hello world” stage – the boundary usually lies around 1200-1500 lines of code. Writing a “hello world” demo in C is feasible and maintaining the source code is not hard. “Hello world” applications are in the order of 10-30 KBytes of Flash on Cortex-M3.

However, many Cortex-M3 devices typically offer more than 256 KByte of Flash, up to 2048 KBytes of Flash. A typical “serious” project for such a device would employ a number of serial interfaces, would perhaps include an embdded web server, would do floating point calculations and would interact with a user through buttons or a touch screen. Such a project would require ten thousand lines of C code or more, which translates into upward of 200 Kbytes of flash programmable binary code. Maintaining order in this code, which is centered around C’s function-oriented set-up, is awkward and error-prone. Doing so with a large developer team is even harder, as I know from experience. In C, devices typically use structs which contain init and state information, but how do you know if and where all information is filled out correctly in 15000 lines of code? Also, manually calling init functions and combining common code into lower level function/data sets requires a lot of discipline from a development team. Most experienced C programmers confronted with situation will start to write code defensively, in an object-oriented approach, in order to prevent errors and bugs. In a way, they use C++features without using the proper tools.

C++ offers everything you need to maintain order in larger embedded programs. Object Oriented programming was a focal point when the language was invented, without sacrificing backwards compatibility with existing C code. Device information is maintained in the class container, togerther with all necessary functions. Common code can be brought into lower base classes, enabling the sharing of the code by virtue of the inheritance mechanism of C++. It is easy to define a base interface prototype in C++ which can be used in your application code, and then use polymorphism to link your interface prototype to your device implementation. Code migration becomes very easy – your application can be brought from, let’s say STM32 to LM3S, and the only thing that you must do is develop a new interface implementation.

Problems occur when C++ is used indiscriminately. The ambivalence of many C programmers towards C++ is based on the fact that a lot of things are included in your C++ binary (bloat) which you don’t need and use.  It is important, though, to understand two things about the superset of features that C++ has with regards to C:

  • There are compile-time enhancements in C++, such as classes, virtual functions or namespaces, which are completely benign and which in most cases will not contribute to bloat. They are part of the framework that enables programmers to scale their software concepts to larger dimensions without losing overview. In larger programs, C++ will most likely lead to more compact code – see this example at GCC compiler family, but this story is also applicable to KEIL and IAR users.

    Compile your code with the -fno-rtti -fno-exceptions flags (the others such as -ggdb aren’t relevant to this discussion but I included them anyway). My compiler lives on a FreeBSD system and is therefore placed in /usr/local/bin. I named it arm-eabi instead of the more common arm-none-eabi. This may be different on your system. When using Linux, for example, every distro seems to have its own peculiar spot to place applications.

    In order to prevent using exception handling and rtti at compile time:

    /usr/local/bin/arm-eabi-g++ -mthumb -c -pipe -mcpu=cortex-m3
    -mno-thumb-interwork -mapcs-frame -funsigned-char
    -fno-threadsafe-statics -Wall -Wimplicit -Wpointer-arith
    -Wswitch -Wredundant-decls -Wreturn-type -Wshadow
    -Wunused -Werror -Winline -ggdb -fno-inline
    -fno-stack-protector -fno-rtti -fno-exceptions
    -fno-unwind-tables  -Wa,-adhlns=LISTFILE -o OBJECTFILE CPPFILE

    LISTFILE, OBJECTFILE AND CPPFILE are of course to be properly named by you.

    This stops C++ from automatically inserting exception handling (and all other stdc++ library components) in your object file. But, this isn’t the complete solution! Even with the insertion of  -fno-exceptions at compile time, you will still get exception handling (and therefore bloat) when using C++ features such as new or delete. You will need to instruct the linker that it, too, should avoid all bloat components.

    At the linking stage, use the -nostdlib option to instruct the linker to omit any library file it would automatically add – in C++‘s case, libstc++.a . I use partial linking, and the linker command for that would be:

     

    /usr/local/bin/arm-eabi-g++
    -Wl,-Ur -nostdlib -Wl,Map=MAPFILE
    -o OBJCTFILE1 OBJECTFILE2 ...

     

    At the final linking step, or at the main linking step if you don’t use partial linking, you must compensate for the missing library components that you would want to include, for instance memcpy or assert. The standard C library provides many of these things and fills the missings references in most cases. Such a linking step would be like:

    /usr/local/bin/arm-eabi-g++ -mcpu=cortex-m3 -nostdlib
    -msoft-float -nostartfiles -fno-rtti -fno-exceptions
    -Wl,--cref -Wl,-Map=MAPFILE -Wl,-TLINKERSCRIPT -o ELFFILE
    -lc -lgcc -lm

    Functionality not found in libc.a such as new or delete must be provided by you – this is the price you pay for not using libstdc++! This, however, is not very difficult to do. In C++, you can use overloaded methods to insert your own version of new and delete:. I have an article that outlines how to write these functions.

     

     

Vrijheid van meningsuiting

Een kop uit de Telegraaf van vandaag:

VVD paait SGP

 

en verder in dit artikel :

“De VVD heeft haar handtekening weggehaald onder een wetsvoorstel dat zij eerder samen met D66 had ingediend om godslastering niet meer strafbaar te stellen.”

Ik ben in 2010 lid geworden va de VVD omdat ik ik vind dat iedereen in dit land mag zeggen wat hij of zij vindt, ongeacht het onderwerp. Met name de zich steeds meer roerende religieus geïnspireerde medemens moet in de openbare ruimte op afstand worden gehouden, omdat het algemeen belang (dus ook het belang van niet-gelovigen) niet gediend is met mondsnoeringen van welke aard dan ook.

De liberale beginselen onderschrijven dit volledig:

Vrijheid
Vrijheid van de mens is onmisbaar voor ontplooiing. We bedoelen dan vrijheid op geestelijk, staatkundig en materieel gebied. Deze vrijheid komt ieder mens toe, zonder enige discriminatie. De vrijheid moet zo groot mogelijk zijn. Er zijn wel grenzen aan persoonlijke vrijheid. De vrijheid van de een mag de vrijheid van de ander niet belemmeren. En we moeten oog hebben voor de belangen van toekomstige generaties.

Zolang ik bij godslastering niet verkondig dat anderen god niet mogen aanprijzen, belemmer ik hun niet in hun meningsuiting. Omgekeerd doen zij de religieuzen dit wel, door het strafrecht (niet niet de Sharia, maar ons onpartijdige, boven religies verheven strafrecht) in te zetten voor de vervolging van mensen met wie zij het niet eens zijn. Blijkbaar is hun vrijheid belangrijker dan mijn vrijheid. En nu schaart ook de liberale VVD zich in de rij van partijen die de vrijheid van meningsuiting van religieuzen belangrijker vinden dan die vrijheid van meningsuiting van anderen – de VVD laat deze discriminatie van een van haar eigen beginselen gewoon gebeuren.

Ik vind dat de VVD zich aan haar beginselen moet vasthouden bij de dagelijkse politieke besluitvorming. Als de partij zwicht voor de orthodoxe drammers van de SGP, dan zijn de eigen principes blijkbaar minder belangrijk dan de greep op de regeringsmacht.

 

 

 

 

Vrijheid van meningsuiting

Een kop uit de Telegraaf van vandaag:

VVD paait SGP

 

en verder in dit artikel :

“De VVD heeft haar handtekening weggehaald onder een wetsvoorstel dat zij eerder samen met D66 had ingediend om godslastering niet meer strafbaar te stellen.”

Ik ben in 2010 lid geworden va de VVD omdat ik ik vind dat iedereen in dit land mag zeggen wat hij of zij vindt, ongeacht het onderwerp. Met name de zich steeds meer roerende religieus geïnspireerde medemens moet in de openbare ruimte op afstand worden gehouden, omdat het algemeen belang (dus ook het belang van niet-gelovigen) niet gediend is met mondsnoeringen van welke aard dan ook.

De liberale beginselen onderschrijven dit volledig:

Vrijheid
Vrijheid van de mens is onmisbaar voor ontplooiing. We bedoelen dan vrijheid op geestelijk, staatkundig en materieel gebied. Deze vrijheid komt ieder mens toe, zonder enige discriminatie. De vrijheid moet zo groot mogelijk zijn. Er zijn wel grenzen aan persoonlijke vrijheid. De vrijheid van de een mag de vrijheid van de ander niet belemmeren. En we moeten oog hebben voor de belangen van toekomstige generaties.

Zolang ik bij godslastering niet verkondig dat anderen god niet mogen aanprijzen, belemmer ik hun niet in hun meningsuiting. Omgekeerd doen zij de religieuzen dit wel, door het strafrecht (niet niet de Sharia, maar ons onpartijdige, boven religies verheven strafrecht) in te zetten voor de vervolging van mensen met wie zij het niet eens zijn. Blijkbaar is hun vrijheid belangrijker dan mijn vrijheid. En nu schaart ook de liberale VVD zich in de rij van partijen die de vrijheid van meningsuiting van religieuzen belangrijker vinden dan die vrijheid van meningsuiting van anderen – de VVD laat deze discriminatie van een van haar eigen beginselen gewoon gebeuren.

Ik vind dat de VVD zich aan haar beginselen moet vasthouden bij de dagelijkse politieke besluitvorming. Als de partij zwicht voor de orthodoxe drammers van de SGP, dan zijn de eigen principes blijkbaar minder belangrijk dan de greep op de regeringsmacht.

 

 

 

 

Casio calculators

Recently I purchased a new calculator because someone pointed out to me the truly amazing capabilities (natural textbook display) of Casio’s new fx-115ES calculator. Costing under €30, the calculator offers an astounding 403 functions, conversions and solvers. It also displays fractions as true fractions, in addition to the standards floating point display format.. It can handle tables for linear or cubic interpolation for which the data entry is pretty easy. It performs numerical differential and integration, and solves equations with Newton-Rapson. It can even do (limited) vector and matrix calculations.

Even though I am a big fan of Texas Instruments integrated circuits (especially  their MSP430  microcontrollers, their ADCs (ADS1178) and power ICs (TPS84620) ) I prefer Casio’s calculators over TI’s. They are not as bulky, you can get your results more quickly and they cost a lot less.

When I got the new calculator , I realised I had purchased the fx-115 before. The first model I got was the fx-115 in 1985, when I was in school. Later, it also served me well as a student at Delft University of Technology.  Looking for a model that would help me with complex numbers, I bought  the fx-115W when I worked at Oresis Communications in 2001. This was my main computational workhorse in the new millennium. And, this year I purchased the amazing fx-115ES. In a way I have been quite intimate with the fx-115 family for 26 years!

All calculators, including the 26 years old fx-115, still work flawlessly, a testimony to Casio’s build quality. Begin solar driven, I never had to replace a battery. The fx-115 now lives in a kitchen drawer and is used for domestic purposes.

My calculators are  (running \sqrt {2} /4 :

CASIOFX115familie2

Casio calculators

Recently I purchased a new calculator because someone pointed out to me the truly amazing capabilities (natural textbook display) of Casio’s new fx-115ES calculator. Costing under €30, the calculator offers an astounding 403 functions, conversions and solvers. It also displays fractions as true fractions, in addition to the standards floating point display format.. It can handle tables for linear or cubic interpolation for which the data entry is pretty easy. It performs numerical differential and integration, and solves equations with Newton-Rapson. It can even do (limited) vector and matrix calculations.

Even though I am a big fan of Texas Instruments integrated circuits (especially  their MSP430  microcontrollers, their ADCs (ADS1178) and power ICs (TPS84620) ) I prefer Casio’s calculators over TI’s. They are not as bulky, you can get your results more quickly and they cost a lot less.

When I got the new calculator , I realised I had purchased the fx-115 before. The first model I got was the fx-115 in 1985, when I was in school. Later, it also served me well as a student at Delft University of Technology.  Looking for a model that would help me with complex numbers, I bought  the fx-115W when I worked at Oresis Communications in 2001. This was my main computational workhorse in the new millennium. And, this year I purchased the amazing fx-115ES. In a way I have been quite intimate with the fx-115 family for 26 years!

All calculators, including the 26 years old fx-115, still work flawlessly, a testimony to Casio’s build quality. Begin solar driven, I never had to replace a battery. The fx-115 now lives in a kitchen drawer and is used for domestic purposes.

My calculators are  (running [math] sqrt {2} /4 [/math]:

CASIOFX115familie2

 

 

 

 

Don’t use the provider Llama Communications!

In early June 2005 I got an email from Llama Communications saying there were closing shop because of a bankruptcy. This caused me a lot of work, because domain registrations as well as email and www traffic were coming through Llamacom.

The person running the company,  Michael Grafft in West Des Moines, IA, was very emphatic but said he couldn’t do anything about it.

I switch to a local DNS registrator, Argeweb, and haven’t had any problems since switching. But Michael Grafft lied about Llamacom! They are still in business. Why they forced me out, I don’t know. He never answered my questions why or how things went wrong. So Michael, if you read this, why did you lie to me?

 

 

Don’t use the provider Llama Communications!

In early June 2005 I got an email from Llama Communications saying there were closing shop because of a bankruptcy. This caused me a lot of work, because domain registrations as well as email and www traffic were coming through Llamacom.

The person running the company,  Michael Grafft in West Des Moines, IA, was very emphatic but said he couldn’t do anything about it.

I switch to a local DNS registrator, Argeweb, and haven’t had any problems since switching. But Michael Grafft lied about Llamacom! They are still in business. Why they forced me out, I don’t know. He never answered my questions why or how things went wrong. So Michael, if you read this, why did you lie to me?

 

 

Our energy problem (an old article from 2002)

Introduction to THE energy problem

With 6 billion people demanding ever more energy to live their lives, everybody will sooner or later face problems with their energy supply. Our ‘traditional’ energy sources have a number of problems associated with them. They are finite in size. Also, they cause serious problems with our natural environment. And last but not least, political tensions are very high since these sources are distributed unevenly over the earth, yet we all want access to them.

Oil and gas are running out

One of the closest kept secrets in the oil industry is the knowledge of when the oil wells will run out. It has not yet informed many other people about their knowledge, and when oil executives are asked, they always talk about periods of “50 years or so”.
It has been well documented that the rate at which new oil is found peaked around 1999. Dr. M King Hubbert predicted this scenario already in 1974. This means that even though we will still find new oil, the rate at which we find will decrease. Given that our consumption will increase (China’s recent increase in oil imports is a big factor),  this means that at some point in time the price of oil products will go up. Over the period 2001-2005 an increase of around 40% was observed. This is not likely to abate, and a reverse is out of the question.

Serious environmental problems

We pay a huge price for our addiction to oil. Crude oil is a nasty substance that must be refined to extract the energy stored in it. From the moment the oil is pumped out of the ground to the emissions from the petrol-driven car, oil brings pollution and destruction to this world. Accidents with oil tankers kill our seas and beaches (The Exxon Valdez disaster, for example). Children are born with deficiencies because of car emissions.

A  phenomenon attributed to the usage of oil and other fossil fuels is the warming up of the global atmosphere, the so-called grenhouse effect. Although the result of burning hydrocarbons over decades, it is only lately that we have begun to understand the symptoms and what they mean for our environment.

Political problems created by our oil crave

The current woes in the Middle East are a direct result of our appetite for oil. Our western societies are based on the consumption of fossil fuels that are largely won in this region.  Why this is a tenuous situation can be explained by these points:

  • Our reliance on oil has made us dependent on a region that is our historical counter-pole. Tensions and conflict are running rife as result of this. The muslim world and the western world do not share many beliefs and principles. That is not to say that we must be enemies. However, our dependence on the Middle East is the reason that  the region is a lackey of the west. The current situation is very frustrating for the people of the Middle-East and this results in a growing resentment against us.
  • We support corrupt regimes that do nothing for their people in return for one thing – our guaranteed and uninterrupted access to their oil.  Sometimes this results in serious anger, like the overthrow of the Shah in Iran in 1979. Also, Al Quaeda and Osama Bin Laden tap into this reservoir of resentment. Unless these people think they have their dignity and self esteem back, then this problem won’t go away and it will grow worse and worse. 9/11 2001 was a direct result of this.
  • The instable situation sometimes calls for direct military interventions. The Iran-Iraq war of the 1980s, the first Gulf war to liberate Kuwait and the second Gulf war were all interventions to guarantee a stable supply of oil from the region.

Alternatives for oil

We can rid ourselves of oil if we devote our energy and intellect to a massive transition to other energy sources.

Solar Energy

Solar energy provides an great alternative to oil. The sun radiates enormous amounts of energy and on earth we receive much more than we’ll ever need. For more information,  go to this site.

Wind Energy

Wind energy is a direct offspring of solar energy – the heat of the sun provides for temperature differences which cause winds. The wind is an unlimited and clean energy carrier. In certain regions, where solar energy is not a very rich source due to climatic reasons, wind is an excellent alternative.

Southwest Windpower Whisper 100

Small turbines range in size from 50 Watts to 25 kW, with rotor diameters ranging from 1 to 7 meters. They do not suffer from many of the limitations that the large ones have. For example, if you have 20 small turbines producing the same energy as one large one, the probability that all 20 stop at the same time because the wind  stops blowing is much smaller than the probability that the huge turbine stops. The small turbines can run freely, not impeded by the rule that they must adapt to a grid frequency – they run as fast as is needed. Their electricity output can be converted from AC to DC, to charge a battery or simply be converted back to AC with the proper frequency to feed the grid – local needs can be met. Their site location is not limited to wide open coastal areas or farms: Roofs on inner cities houses are excellent spots for small turbines. And, very important, they do not raise resistance in the public since their placement does not pollute the horizons:  Maximum tower height for a small turbine will be 25 meters, as opposed to the 150m high cathedrals of the electricity companies.

Opponents of small wind turbines always point out that they are not economical in comparison to the large turbines. One point that is always forgotten in that comparison is that small turbines do not need the huge and costly electricity grid. Not building or maintaining such a network will save a lot of money and this will benefit the users of small turbines. The large turbines cannot function without such a  network and as such need the huge investments for a large electricity network.

Our energy problem (an old article from 2002)

Introduction to THE energy problem

With 6 billion people demanding ever more energy to live their lives, everybody will sooner or later face problems with their energy supply. Our ‘traditional’ energy sources have a number of problems associated with them. They are finite in size. Also, they cause serious problems with our natural environment. And last but not least, political tensions are very high since these sources are distributed unevenly over the earth, yet we all want access to them.

Oil and gas are running out

One of the closest kept secrets in the oil industry is the knowledge of when the oil wells will run out. It has not yet informed many other people about their knowledge, and when oil executives are asked, they always talk about periods of “50 years or so”.
It has been well documented that the rate at which new oil is found peaked around 1999. Dr. M King Hubbert predicted this scenario already in 1974. This means that even though we will still find new oil, the rate at which we find will decrease. Given that our consumption will increase (China’s recent increase in oil imports is a big factor),  this means that at some point in time the price of oil products will go up. Over the period 2001-2005 an increase of around 40% was observed. This is not likely to abate, and a reverse is out of the question.

Serious environmental problems

We pay a huge price for our addiction to oil. Crude oil is a nasty substance that must be refined to extract the energy stored in it. From the moment the oil is pumped out of the ground to the emissions from the petrol-driven car, oil brings pollution and destruction to this world. Accidents with oil tankers kill our seas and beaches (The Exxon Valdez disaster, for example). Children are born with deficiencies because of car emissions.

A  phenomenon attributed to the usage of oil and other fossil fuels is the warming up of the global atmosphere, the so-called grenhouse effect. Although the result of burning hydrocarbons over decades, it is only lately that we have begun to understand the symptoms and what they mean for our environment.

Political problems created by our oil crave

The current woes in the Middle East are a direct result of our appetite for oil. Our western societies are based on the consumption of fossil fuels that are largely won in this region.  Why this is a tenuous situation can be explained by these points:

  • Our reliance on oil has made us dependent on a region that is our historical counter-pole. Tensions and conflict are running rife as result of this. The muslim world and the western world do not share many beliefs and principles. That is not to say that we must be enemies. However, our dependence on the Middle East is the reason that  the region is a lackey of the west. The current situation is very frustrating for the people of the Middle-East and this results in a growing resentment against us.
  • We support corrupt regimes that do nothing for their people in return for one thing – our guaranteed and uninterrupted access to their oil.  Sometimes this results in serious anger, like the overthrow of the Shah in Iran in 1979. Also, Al Quaeda and Osama Bin Laden tap into this reservoir of resentment. Unless these people think they have their dignity and self esteem back, then this problem won’t go away and it will grow worse and worse. 9/11 2001 was a direct result of this.
  • The instable situation sometimes calls for direct military interventions. The Iran-Iraq war of the 1980s, the first Gulf war to liberate Kuwait and the second Gulf war were all interventions to guarantee a stable supply of oil from the region.

Alternatives for oil

We can rid ourselves of oil if we devote our energy and intellect to a massive transition to other energy sources.

Solar Energy

Solar energy provides an great alternative to oil. The sun radiates enormous amounts of energy and on earth we receive much more than we’ll ever need. For more information,  go to this site.

Wind Energy

Wind energy is a direct offspring of solar energy – the heat of the sun provides for temperature differences which cause winds. The wind is an unlimited and clean energy carrier. In certain regions, where solar energy is not a very rich source due to climatic reasons, wind is an excellent alternative.

Southwest Windpower Whisper 100

Small turbines range in size from 50 Watts to 25 kW, with rotor diameters ranging from 1 to 7 meters. They do not suffer from many of the limitations that the large ones have. For example, if you have 20 small turbines producing the same energy as one large one, the probability that all 20 stop at the same time because the wind  stops blowing is much smaller than the probability that the huge turbine stops. The small turbines can run freely, not impeded by the rule that they must adapt to a grid frequency – they run as fast as is needed. Their electricity output can be converted from AC to DC, to charge a battery or simply be converted back to AC with the proper frequency to feed the grid – local needs can be met. Their site location is not limited to wide open coastal areas or farms: Roofs on inner cities houses are excellent spots for small turbines. And, very important, they do not raise resistance in the public since their placement does not pollute the horizons:  Maximum tower height for a small turbine will be 25 meters, as opposed to the 150m high cathedrals of the electricity companies. 

Opponents of small wind turbines always point out that they are not economical in comparison to the large turbines. One point that is always forgotten in that comparison is that small turbines do not need the huge and costly electricity grid. Not building or maintaining such a network will save a lot of money and this will benefit the users of small turbines. The large turbines cannot function without such a  network and as such need the huge investments for a large electricity network.

 

 

Weapons of mass destruction

Weapons of Mass Destruction (an old article from 2003)

President Bush  George Bush(here listening to a song about Billy the Goat at the moment the World Trade Center was attacked) had a case when he wanted to find,disable and destroy the infamous Weapons of Mass Destruction (WoMD).  After all, nobody in this world needs these devices.  Bush, seeing his presidency lack a compelling theme, seized the opportunity and became the lone ranger in search of justice and peace.

But what constitutes a  WoMD ? And why was Bush looking in the Arabian Desert to find them? The whole world told him that they weren’t there. Saddam Hussein was an evil dictator, but he didn’t have them.

No, Bush should have looked in his own country. There are plenty WoMD there. And it is not hard to find them !

Many Americans actually drive a Weapon of Mass Destruction!

They call it a Sports Utility Vehicle or SUV.

If you ask me, it has nothing to do with sports unless you consider sitting in a car seat a sport..

Also, Utility vehicles  fit more in the category of delivery vehicles or garbage trucks.

What remains is a vehicle of preposterous dimensions.

For those of you who have never been in the USA, I’ll try to explain the hype. A SUV is based on cars used by types like Bush rangers (mark the pun) in Africa or explorers in the South American jungle. SUVs are built on a high frame and have huge tyres to propel the car in tough conditions. They also have a cargo bay that can hold a decent sized refrigerator plus a dishwasher.  This is where the similarity ends.
SUVs are much more luxurious than your standard bush vehicle. In many cases, the suspension is ‘softened’ to adapt to the not so tough driver – not something you would want when going offroad. But then, 98% of all SUVs never leave the paved roads. They are used for shoppings trips to the Mall (another megalomane American invention)  or ferrying children to school!
So why do people need monsters like  Ford Excursion
to perform such basic tasks? Why on earth you need so much steel to move around is beyond me.  Vehicles like

Denali Denial are unsafe, uneconomical and contribute disproportionally to global warming .

Oh, I know that there are Men out there that need a little ego booster.  Formerly, they resorted to symbols like the Penis Car. But since that went out of fashion, this has become their substitute.
But if you really want to be a tough bloke, go drive a .

When riding a bicycle, chances of surviving a collision with an anomaly  like this  are 8 times lower than in a collision with a standard car.

This is because as a pedestrian or bicyclist, you will end up under the vehicle instead of on top of it.

These vehicles are the summit of bad engineering, bad economics and bad safety. They are desparate attempts by car manufacturers to earn higher profits in a car market plagued by overcapacity.  Unfortunately we all suffer from this.

George W. Bush, stop your useless war in Iraq and go find and destroy the WoMD in  the USA! When you destroy all SUVs in America,  you’ll find that :

  • Your need for oil will have dropped so much that you do not need Iraqi oil or Alaskan wilderness drill sites anymore..
  • Your economy will grow  because American ingenuity can dedicate itself to designing the new, hydrogen propelled electric vehicle instead of designing military equipment for you wars abroad.
  • You can cut back on your military since no intervention in the middle east is necessary anymore.
  • Bin Laden will stop his terrorism. He relies on a money  stream earned in Saudi Arabia with ……oil …..!  When the oil stops flowing to America, Bin Laden will go bankrupt.
  • And countless other benefits ranging from liveable cities (ever tried walking around in Houston, Texas ? What a nightmare !) to a drop in asthma levels and fewer people killed in traffic.