Update 19 February 2016:
I've done the test again, using another computer and .Net 4.6.1. The speed of filling the DataTableReplacement class given at the end of the article, plus copying the data into a DataTable object is 30% faster than using a DataTable directly with BeginLoadData/EndLoadData and 50% faster than using DataTable without the LoadData methods.

Now for the original post:

It was about time I wrote a smashing IT entry. Here is to the obnoxious DataTable object, something about I have written before of bugs and difficulty in handling. Until now I haven't really thought about what kind of performance issues I might face when using it. I mean, yeah, everybody says it is slow, but how slow can it be? Twice as slow? Computers are getting faster and faster, I might not need a personal research into this. I tried to make a DataTable replacement object once and it was not really compatible with anything that needed DataTables so I gave up. But in this article I will show you how a simple piece of code became 7 times faster when taking into account some DataTable issues.

But let's get to the smashing part :) I was using C# to transform the values in a column from a DataTable into columns. Something like this:

NameColumnValue
GeorgeMoney100
GeorgeAge31
GeorgeChildren1
JackMoney150
JackAge26
JackChildren0
JaneMoney300
JaneAge33
JaneChildren2



and it must look like this:

NameMoneyAgeChildren
George100311
Jack150260
Jane300332



I have no idea how to do this in SQL, if you have any advice, please leave a comment.
Update: Here are some links about how to do it in SQL and SSIS:
Give the New PIVOT and UNPIVOT Commands in SQL Server 2005 a Whirl
Using PIVOT and UNPIVOT
Transposing rows and columns in SQL Server Integration Services

Using PIVOT, the SQL query would look like this:

SELECT * 
FROM #input
PIVOT (
MAX([Value])
FOR [Column]
IN ([Money],[Age],[Children])
) as pivotTable


Anyway, the solution I had was to create the necessary table in the code behind add a row for each Name and a column for each of the distinct value of Column, then cycle through the rows of the original table and just place the values in the new table. All the values are present and already ordered so I only need to do it using row and column indexes that are easily computed.

The whole operation lasted 36 seconds. There were many rows and columns, you see. Anyway, I profiled the code, using the great JetBrains dotTrace program, and I noticed that 30 seconds from 36 were used by DataRow.set_Item(int, object)! I remembered then that the DataTable object has two BeginLoadData and EndLoadData methods that disable/enable the checks and constraints in the table. I did that and the operation went from 36 to 27 seconds.

Quite an improvement, but the bottleneck was still in the set_Item setter. So, I thought, what will happen if I don't use a DataTable at all. After all, the end result was being bound to a GridView and it, luckily, knows about object collections. But I was too lazy for that, as there was quite a complicated binding code mess waiting for refactoring. So I just used a List of object arrays instead of the DataTable, then I used DataTable.Rows.Add(object[]) from this intermediary list to the DataTable that I originally wanted to obtain. The time spent on the operation went from... no, wait

The time spent on the operation went from the 27 seconds I had obtained to 5! 5 seconds! Instead of 225.351 calls to DataRow.set_Item, I had 1533 calls to DataRowCollection.Add, from 21 seconds to 175 miliseconds!

Researching the reflected source of System.Data.dll I noticed that the DataRow indexer with an integer index was going through

DataColumn column=_columns[index]; return this[column];

How bad can it get?! I mean, really! There are sites that recommend you find the integer index of table columns and then use them as integer variables. Apparently this is NOT the best practice. Best is to use the DataColumn directly!

So avoid the DataRow setter.

Update July 18, 2013:

Someone requested code, so here is a console application with some inline classes to replace the DataTable in GridView situations:

class Program
{
    static void Main(string[] args)
    {
        fillDataTable(false);
        fillDataTable(true);
        fillDataTableWriter();
        Console.ReadKey();
    }

    private static void fillDataTable(bool loadData)
    {
        var dt = new DataTable();
        dt.Columns.Add("cInt", typeof(int));
        dt.Columns.Add("cString", typeof(string));
        dt.Columns.Add("cBool", typeof(bool));
        dt.Columns.Add("cDateTime", typeof(DateTime));
        if (loadData) dt.BeginLoadData();
        for (var i = 0; i < 100000; i++)
        {
            dt.Rows.Add(dt.NewRow());
        }
        var now = DateTime.Now;
        for (var i = 0; i < 100000; i++)
        {
            dt.Rows[i]["cInt"] = 1;
            dt.Rows[i]["cString"] = "Some string";
            dt.Rows[i]["cBool"] = true;
            dt.Rows[i]["cDateTime"] = now;
        }
        if (loadData) dt.EndLoadData();
        Console.WriteLine("Filling DataTable"+(loadData?" with BeginLoadData/EndLoadData":"")+": "+(DateTime.Now - now).TotalMilliseconds);
    }

    private static void fillDataTableWriter()
    {
        var dt = new DataTableReplacement();
        dt.Columns.Add("cInt", typeof(int));
        dt.Columns.Add("cString", typeof(string));
        dt.Columns.Add("cBool", typeof(bool));
        dt.Columns.Add("cDateTime", typeof(DateTime));
        for (var i = 0; i < 100000; i++)
        {
            dt.Rows.Add(dt.NewRow());
        }
        var now = DateTime.Now;
        for (var i = 0; i < 100000; i++)
        {
            dt.Rows[i]["cInt"] = 1;
            dt.Rows[i]["cString"] = "Some string";
            dt.Rows[i]["cBool"] = true;
            dt.Rows[i]["cDateTime"] = now;
        }
        var fillingTime = (DateTime.Now - now).TotalMilliseconds;
        Console.WriteLine("Filling DataTableReplacement: "+fillingTime);
        now = DateTime.Now;
        var newDataTable = dt.ToDataTable();
        var translatingTime = (DateTime.Now - now).TotalMilliseconds;
        Console.WriteLine("Transforming DataTableReplacement to DataTable: " + translatingTime);
        Console.WriteLine("Total filling and transforming: " + (fillingTime+translatingTime));
    }
}

public class DataTableReplacement : IEnumerable<IEnumerable<object>>
{
    public DataTableReplacement()
    {
        _columns = new DtrColumnCollection();
        _rows = new DtrRowCollection();
    }

    private readonly DtrColumnCollection _columns;
    private readonly DtrRowCollection _rows;

    public DtrColumnCollection Columns
    {
        get { return _columns; }
    }

    public DtrRowCollection Rows { get { return _rows; } }

    public DtrRow NewRow()
    {
        return new DtrRow(this);
    }

    public DataTable ToDataTable()
    {
        var dt = new DataTable();
        dt.BeginLoadData();
        _columns.CreateColumns(dt);
        _rows.CreateRows(dt);
        dt.EndLoadData();
        return dt;
    }

    #region Implementation of IEnumerable

    public IEnumerator<IEnumerable<object>> GetEnumerator()
    {
        foreach (var row in _rows)
        {
            yield return row.ToArray();
        }
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }

    #endregion
}

public class DtrRowCollection : IEnumerable<DtrRow>
{
    private readonly List<DtrRow> _rows;

    public DtrRowCollection()
    {
        _rows = new List<DtrRow>();
    }

    public void Add(DtrRow newRow)
    {
        _rows.Add(newRow);
    }

    public DtrRow this[int i]
    {
        get { return _rows[i]; }
    }

    public void CreateRows(DataTable dt)
    {
        foreach (var dtrRow in _rows)
        {
            dt.Rows.Add(dtrRow.ToArray());
        }
    }

    #region Implementation of IEnumerable

    public IEnumerator<DtrRow> GetEnumerator()
    {
        return _rows.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }

    #endregion
}

public class DtrRow
{
    private readonly object[] _arr;
    private readonly DataTableReplacement _dtr;

    public DtrRow(DataTableReplacement dtr)
    {
        _dtr = dtr;
        var columnCount = _dtr.Columns.Count;
        _arr = new object[columnCount];
    }

    public object this[string columnName]
    {
        get
        {
            var index = _dtr.Columns.GetIndex(columnName);
            return _arr[index];
        }
        set
        {
            var index = _dtr.Columns.GetIndex(columnName);
            _arr[index] = value;
        }
    }

    public object this[int columnIndex]
    {
        get
        {
            return _arr[columnIndex];
        }
        set
        {
            _arr[columnIndex] = value;
        }
    }

    public object[] ToArray()
    {
        return _arr;
    }
}

public class DtrColumnCollection
{
    private readonly Dictionary<string, int> _columnIndexes;
    private readonly Dictionary<string, Type> _columnTypes;

    public DtrColumnCollection()
    {
        _columnIndexes = new Dictionary<string, int>();
        _columnTypes = new Dictionary<string, Type>();
    }

    public int Count { get { return _columnIndexes.Count; } }

    public void Add(string columnName, Type columnType)
    {
        var index = _columnIndexes.Count;
        _columnIndexes.Add(columnName, index);
        _columnTypes.Add(columnName, columnType);
    }

    public int GetIndex(string columnName)
    {
        return _columnIndexes[columnName];
    }

    public void CreateColumns(DataTable dt)
    {
        foreach (var pair in _columnTypes)
        {
            dt.Columns.Add(pair.Key, pair.Value);
        }
    }
}


As you can see, there is a DataTableReplacement class which uses three other classes instead of DataColumnCollection, DataRowCollection and DataRow. For this example alone, the DtrRowCollection could have been easily replaced with a List<DtrRow>, but I wanted to allow people to replace DataTable wherever they had written code without any change to the use code.

In the example above, on my computer, it takes 1300 milliseconds to populate the DataTable the old fashioned way, 1000 to populate it with BeginLoadData/EndLoadData, 110 seconds to populate the DataTableReplacement. It takes another 920 seconds to create a new DataTable with the same data (just in case you really need a DataTable), which brings the total time to 1030. So this is the overhead the DataTable brings for simple scenarios such as these.

and has 0 comments
You thought the World Sucks series had ended? No, it is just in the process of gathering data for cool new posts! This one is about moronic shows on children TV! Do their parents know what "children-centric" stuff their kids watch?

First of all I must explain what "manele" is. It is a kind of music with Arabic and Romanian folk music influences that has become a symbol of a type of Romanian urban subculture inspired from tribalism. You know the type, they are never original: members call themselves a family, they call each other brother, they dress and behave in a "manly" fashion, with speech inflexions that are supposed to show how tough and superior they are. It's like the US "African-American" street culture and in many ways it is a local clone of it.

Ok, now for the actual topic of this post. Yesterday I was watching TV (why, you ask? because I haven't bought yet the second computer and my wife commandeered the only one) and I was given the ultimate proof that it makes people dumb. It was a children TV show that involved teenagers from our own time having superpowers in some mystical realm.

So far so good, but then I noticed how their super powers came from a cell phone! To invoke the magical mana they actually typed some number on the phone pad. Then they transformed into colored knights that were heavily inspired from Japanese shows of the same persuasion, basically a guy in a colourful spandex suit and a motorcycle helmet with a silly sword in hand. The colors of the knights were a bright green, a bright cyan, pink, bright magenta, red and yellow! But what shocked me the most was that they spoke in "manele" style, calling each other "brother" and basically street talk! When they actually combined into a big mechanical knight on a big mechanical flying dragon and fought against what looked like a monster hydra with special effects from the old Japanese Godzilla versus [enter stupid monster name here] movies I was laughing my ass off.

No, really, I am not kidding! This was on TV, on a children's channel! Yeah, bro, that's coo'! Gimme five (gay porn looking knights that "couple" with each other to form a really stupid looking toy like fighting machine)! TV sucks, that was obvious, but to actually show this kind of scatological aberration is even beyond my pessimistic expectations.

One of my favourites blogs is The BÜKRESH Blog which boasts a number of excellent concise images, although rarely meaningful text. However, I found this particular entry having all the makings of a great article. It has it all: great pictures, ironic text and an unbelievable subject. It is written in Romanian, so I will try to translate it below. First visit the link and see the pictures. (and yes, those are real human bones)



First a bit of data that might help you understand what is going on: In the old center of Bucharest they recently found ruins from a previous time. I have no idea what time and what the ruins represent as I am not interested in archaeology, but bottom line they tore up a couple of streets and started digging underneath and expanding the site.

Gypsies are an ethnic minority in Romania, genetically linked to populations in India, and mostly shunned for their style of life, unclean living conditions and high criminality rate. They represent a maximum of 5% of the Romanian population and discriminating against them is illegal in Romania.

What the article is about is the way the archaeological site is being handled.

Translation:
Is it hard to describe the mixed feelings the medieval ruins in the Bucharest old center gave me. I passed by there for the first time (across the street from the Comedy Theater on Tonitza street) last week. In the space from the second image
there were 4 people - a 50 years old Gypsy man, sitting in a squatting position and smoking a cigarette, a Gypsy woman of the same age, with all the Gypsy clothing arsenal (I have nothing against them, quite the contrary, but I want this description as clear as possible), digging like she would be working the field, and another Gypsy girl, 15 or 16 years of age, kissing with her boyfriend who came to see her at work. In the top-left corner there was a pile of bones, a complete human skeleton, cranium included, and on the edge of the hole there were bags of food - lunch for the four workers. Yesterday I went there again and this time there was nobody there. I took the pictures you see. Today I passed through again and it was the same situation as yesterday. On the French street there were 10-15 workers digging, aged between 15 and 60 years old, multiple ethnicity and some of them were either drunk or very drunk. They wore no protection gear or uniforms. Some wore Adidas type shoes (and working in mud), no one had gloves or protective helmets. I asked them about the archaeological site and why there were hundreds of years old human bones laying around... They said they didn't know and that people had come before and taken some in big bags. I asked them if their bosses ever came to see them and they said that they do that, once or twice a day...

The firm that is handling the rehabilitation of the old center is called Sedesa and it's from Valencia. The money are sourced in a non-refundable credit (in other words free money) from the Dutch government, a credit from the European Bank for Reconstruction and Development and public funds (the city-hall, Sector 3 division).

I am concluding with these words taken from the Sedesa company site:

Sedesa is a solid business group with more than sixty years of experience and international activity. Its high level of specialisation has not only enabled the group to establish itself in numerous sectors, but also to carry out projects and infrastructure based on quality, respect for the environment and solid technological ability.

by Vlad Nanca on 05 December 2007

and has 0 comments
Two articles in today's BBC News: Bush spares Libby from jail term and 'Scepticism' over climate claims.

The first talks about Bush, very concerned about the "excessiveness" of the jail sentence for Lewis Libby, a vice-presidential aide tried and convicted for purposefully disclosing the name of an undercover CIA agent in order to harm her husband who opposed the war in Iraq and then perjury and obstructing justice. The sentence was 2.5 years in jail (a lot less than stealing something), but the president of the United States decided it is ... excessive. Hailed as a victory of justice, the whole trial was negated by this one action of president Bush. Who knows what this Libby guy has on him?
I was incredulous at first, as I was yesterday when I was reading an article about banning superfoods in Europe, stuff like blueberries, salmon, spinach and soy. But it was the name 'superfood' that was banned, not the food itself, so I had reasons to be incredulous after all. But what about this? How can one stand and watch the whole media being grossly manipulated, the population lied to and sent to war on bogus reasons, then, when people get convicted for this, they get sprung out of jail by Bush! To tell you the truth I am still incredulous. I must have misread something.

The second article talks about the public perception of climate change in Great Britain. Apparently, 56% still think that global warming is a matter of debate. By the time they "think" global warming is a problem, they will probably be boiling in their own air conditioning juice. What does it need to make them see? Sinking of the British isles? A tornado in London? Hell freezing over?

and has 0 comments
I've just seen two movies: Sicko and Maxed Out, which describe, each in their own way, the issues arising from aggressive capitalism like the one in the USA. Some people are really quick to jump with the "oh no, it's socialist propaganda!" line and ignore the message, but, if you think about it, there is nothing wrong with some socialist propaganda now and then, since we are bombarded with capitalist propaganda every day in the form of ads and commercials and corrupt government propaganda.

I will make a (hopefully) short detour and talk about my perception of capitalism and democracy. I've always felt that there is something wrong with them, but could not exactly pinpoint it. Well, democracy is easy: the majority of people are idiots, therefore the rule of the people means you are lead by idiots. But capitalism? What is wrong with being competitive? Isn't that the only guarantee of performance? And then it struck me! Competition is not the problem, it's the performance! It's about one's definition of performance!

And now I return to the two movies, of which Sicko tells of insurance companies that pay doctors depending on how many people they refuse treatment to and Maxed Out shows how people are graded by the income they bring to the credit card companies, meaning that people with a high risk of being late on payments or even the ones that are not capable of paying are their main income sources, since they pay all those additional risk interest fees and late payment penalties.

Because this is grading performance. What it would be like for the police to try to catch mainly the people that will post bail and then run? What would it be like to have firemen being promoted on how little water they use? And since performance is now more and more defined exclusively in economic terms, who will inherit the world? The economic performers! banks, insurance companies, salesmen, marketeers, the ones that put everything into financial equations and care nothing about anything else.

The police and fire department, as brilliantly observed by Michael Moore in Sicko, are social services. In countries like the UK, Canada, France and even Cuba, getting professional medical help for your injuries for free (in other worlds universal health, health service socialization) is available. And doing great!

And now I look at Romania, I see the same thing that bothers be about America: everything is sold and bought. You need money to pay hospital bills, a lot of them not being covered by medical insurance, even if you have one; pharmacies payed by drug companies to sell their expensive products instead of for getting the right medicine to the right person; governments, no matter their political color, being bought and payed for by wealthy industrialists; banks and financial services effectively robbing you blind.

Oh yes, I agree, a socialist system does not work, but some services must be social. I would imagine welfare, health and education should be social services. The state should pay for them from taxes we all pay. No matter what company does the service, its income would originate from the state, rewarded by the real performance of their service: people not dying from poverty and disease, people cured from illness, people getting a high education and paying higher taxes because of it when their time comes.

But how can this happen in Romania? The government is so impotent and corrupt that it only does what large corporations, banks and political interests tell it to. And when people have had enough, here comes a superhero saviour, manufactured to look like the thing the people want by the very people that rob this country dry. I would hate to see Romania becoming a pale imitation of the US, a poor country with a cut-throat capitalism that benefits thieves only.

and has 0 comments
I've come upon this PDF file that explains what an euphemism is. I moved then to doublespeak, which is already a highly talked and blogged about term (679000 googles) because it is a form of euphemism used by politicians and press to change the emotional impact of information or even distort its sense. Stuff like "Collateral damage" to replace civilian death or "physical persuasion" used instead of torture.

Here are some useful links:
PDF file on euphemism
Doublespeak at Wikipedia
Also very interesting is the discussion on the article on doublespeak, which some call biased.
A funny rant about doublespeak and the US foreign policy when it comes to wars that are not wars

I had this idea to put a chat on the blog, kind of like the old school Bulletin Board System I had once. The fun I had back then, talking nonsense to so many people I didn't know... [rolling eyes].

Anyway, I took the advice of Blogger and used the chat from TagBoard. The other recommended chat was marked as bad by SiteAdvisor. The first thing I noticed is that it was a very simple site as well as a very simple chat: your basic iframe and some text inputs. The second thing I noticed is that most of the features were restricted to payed accounts.

Well, who needs them? Auto-refresh? I can make my own! Ban IP? What for? Filter messages? Why? But soon enough I got a spam message. So I went to the TagBoard interface and deleted it. Next day I got two. I deleted those as well. Then 4 appeared. Deleted. Then 8! I was kindda worried that they would progress geometrically. And maybe they did, but TagBoard has a limit of messages it keeps in memory.

I have no real evidence for this, but I can only think of one reason this spam would occur a few days after I enabled the account, and that is that the spam is perpetrated by TagBoard itself to force you into buying an account. Afterwards you would probably notice that the spam comes from a single IP, you would block it, and be happy. Also, I noticed that the iframe that they served me occasionally tried to open a popup. It fits into the general profile I've associated with them.

Therefore, the chat is gone. I only had like two messages on it anyway. People seem more interested in commenting (yeah right).

and has 0 comments

You know, even about Bush people have said that he is in reality a very smart man and his obvious stupidity is an act. Could it be that Basescu is the same way? Oh, it seems I need a politics tag for this blog.

Well, Basescu is back in his presidential office, just like Ariel is back in school, and in his very first day as a not-ousted president the very day of the referendum that decides to oust him or not he does this incredible stupid thing. Basically he first goes shopping in a mall (like a normal citizen, mind you) and then he gets annoyed with this reporter woman that kept filming him with her cell phone. So he takes her cell phone. He has no idea how to turn off the phone, so it continues to record, including a conversation between Basescu and his wife in which he calls the reporter an aggressive stinking Gypsy. Then the recording is being analysed by the president's SPP corps (kind of like Secret Service) and the bit about the stinking Gypsy is removed. Little did they know that a recording like that can be restored; and it was and now all this is public domain.

There was great protest against the obvious racist remark, also about the way the president of a country treats a reporter and nobody does anything about it. How stupid can you be to do something like that, right?

But let me bring you this conspiracy theory: Basescu did this on purpose! After the elections he faced a publicity void, one that he either had to fill with keeping his promises (a rather difficult feat for most politicians) or one that had to be replaced with a new stunt. It is already obvious that a lot of the people that voted against his ousting this time are zealots, loyal to Basescu personally, so a little incident like this would not decrease his popularity, maybe it would just show (again) how human and average and of the people our president is. And also shift the attention from the presidential duties to a more common, easy to understand, irrelevant topic. Yet the last thing, the recording that was supposedly deleted then restored, was a stroke of genius. He now got really close to the racist electorate. And, funny enough, the Romanian Press Group decided to boycott the president in the media, thus removing any need of him to do anything. I mean, if you are not on TV or in the press, why do anything? Meanwhile, the press devoted to Basescu would write only the good stuff. And the reporter herself, after receiving an apology note (Basescu is good with notes) and some flowers, decided not to charge the president with anything.

Could this have a hint of truth in it? Who knows but Basescu and his inner circle, but there is this joke circulating in Bucharest about two Basescu supporters. One of them says "Oh, it would have been great for this thing to happen before the referendum". "Are you crazy?", the other one replies, " people might not have voted for him!". "Nah. He still would have been president, but now 75% of the population would get rid of the stinking Gypsies".

The incident can be easily found on YouTube, but I am not going to give you the link, as it is irrelevant.

and has 1 comment

BBC News released an article today, regarding the referendum in Romania about the decision to oust or not to oust the president, Traian Basescu. The picture in the article was very representative and it is the same in this post. That's why I feel robbed! I go vote and I see that this kind of people stole the vote from under me.

But I went to vote anyway. It is my first time (political deflowering?), and I knew it was for nothing just as well as I knew it the times I didn't go to vote, the idea being that even if I will be (again) in the minority that no one cares about, Basescu will look at the numbers and see me there! He will see that some of the people don't really like what he does and how he does it. Maybe this will stop him from going all Elvis on us.

Anyway, to people who are not employed in the budgetary system, this ousting of the president thing was like a good opportunity to watch something interesting on TV for a change. Nothing changed when he got suspended by the Parliament and nothing really changes today. Maybe that will make people see soon enough that we don't need a hero, just a good system.

However, I still fell pissed off because I always get ignored in the votes because of the "people" in the picture. Geez! Use head, don't bang!

and has 0 comments
I was too tired to work this morning, so I got on Digg to read what people were reading.

And I've seen some interesting articles, like for instance one about Starbucks. They started this campaign in which people write stuff and the company writes it on coffee cups. One man dared to question praying in God, based on the assumption that people are rational beings with a strong will. Obviously that assumption was wrong, as some chick got 'offended' and started bitching about the text. It got me thinking, you know, of why nobody cares if I am offended by all the God crap I hear everywhere. Some guy said on TV a few days ago that in Romania 99.8% of the population are believers. Yeah, right! Like, they are not full time declarative atheists. How easy it is to spin things.

Anyway, back to interesting topics. There was one about how lawyers are behind the times. They write these 'cease and desist' letters, with a threatening language that no one can ever sympathize with, but nowadays these documents get on the Internet, for everyone to read. And hate. So they cause public relation troubles for the companies they were trying to protect. I don't really see a problem, though, as there are a lot more lawyers ready to sue these lawyers so there you go.

But even religious and legal idiocy fades compared to the total mind numbing dumbness of these two Vegan parents. Apparently, they've decided to make their 6 week old infant a Vegan from birth. They fed it soy milk and apple juice. The baby died.

How gullible are we?! How can we believe in all these stupid things and advertise them as indie revolt against 'the system' or 'healthy' lifestyle against the food corporations and so on? Is it so hard to mind your own business and let other people think and decide for themselves?

and has 0 comments
No, I am not talking about Dark Water, either. I am talking about water. Penn and Teller went to a rally of some sort and asked people to ban dihydrogen monoxide; water, that is...



So, if you are reading this, dear environmentalists and conspiracy theorists... don't listen to everything that sounds good, because most of it is not, even if it seems to enter the same agenda as yours...

and has 0 comments

I know, the third entry in my blog about Basescu doesn't say much about my IQ or style, yet now I know what I felt I needed to say, but didn't realise what it was. It is the similarity between the case of Traian Basescu and Ariel Constantinof.

It is amazing still that these two similar stories happened in the same time. Indeed, Basescu is like a high school student who is suspended from the school on the basis of his behaviour, without anyone really knowing if it is "kosher" to do so. Do the high school owners have the right to expel Basescu or is this a financially motivated blunder? Both of them are big mouthed smart asses, without being really malevolent, yet being rather naive. Just as Basescu, Ariel gets a lot of sympathy from bloggers and radio hosts (radio bloggers?) everywhere, but without any true support. On each of the blog pages that describe his ordeal there are hundreds of people that offer their moral support, but really not much else. Just as Ariel, Basescu gets only a bunch of people to at least voice their anger to the school directors.

Can the case of Ariel Constantinoff serve as a simulation of what will happen to the country in a few months? I don't know, but I really like Ariel more than Basescu. And at least he has parents, the chance to go to another school. For crying out loud, he's a kid! Teachers, leave the kids alone! But who will find enough sympathy in their hearts for an old, bald, shunned ex president who didn't yet catch on with reality?

That's it! No more Basescu for a while on this blog ;)

...which is the Romanian word for "The people". Something a little archaic, like in the old days, when the people were either being oppressed, discontent or revolting. Usually, one uses the word in describing folks living in the country or a people as a whole, but then they are always specifying the country.

These days, right after the Parliament decided to suspend president Basescu, the Romanian Internet went wild. "Poporul" that, "Poporul" this. Blogs everywhere, hailing the great hero of "the people", victim to the vicious plots of traitors and communists and economic interests and so on and so on.

I am not even commenting on the decision to suspend Basescu, although I never liked the guy, but I can and will comment on the reaction of so many people, fellow bloggers, journalists and opinion leaders, all caught in the demagogic and cynical trap of the "hero".

For example, I read that Basescu (single-handedly, no doubt) brought Romania in the EU. Wrong! Most of the job was done by the PSD before, and it would have been inevitable, anyway, since the EU wanted our market. He is also responsible for the transition from the ROL (the leu, the old Romanian coin) to the RON. I might argue that the transition itself is dumb and useless since we will be switching to the Euro in 5 years, but hey... what did the president of the country in order to influence in any way the switch to the RON? Again, he is a great guy, but he did this terrible mistake of putting Tariceanu as prime minister. Did he have any other choice?! He won the elections (barely, I might add) on the back of a coalition of parties, the democrats and the liberals. Being a democrat himself, he had to put a liberal prime minister, whether he wanted or not! What else did he do, this hero of the people, except telling Bill Gates that piracy was a positive thing for Romanians? (which is true, BTW) Publicly fighting with your prime minister is NOT a good thing.

The greatest thing Basescu ever did was impersonate fantastically well a man who fights corruption. But did he? Corruption scandals are everywhere around him, involving him, suggesting political blackmail by use of the Secret Services. Are they based on anything? I don't know, but I do know that the little corruption, the one that I have to face, as a normal person, did not diminish. Quite the opposite! The current government policy seems to be take from the small and give to the big.

But returning to the people, who are these people that like Basescu? The ones that are either sympathizers of the democratic party or not having any political sympathy (as all other parties are now against him). Who are these wonderful people who will fight for the symbol of their freedom and fight against evil (no, not Bush), against the political will of all the parties and the people that support them and against all the TV attacks against the president? Who are these great minds who can think for themselves and make a decision and stick by it? They are not the "popor", that's for sure!

So for you, all these people of the press and Internet blogging bravado, I suggest you speak of yourselves, leaving "the people" alone, since you are not their representatives (as Basescu is not). Leave the illusion of greatness to the dictator-hearted people. Lead by example, not by association. Because you are not of the people, you are a little better.

and has 1 comment
Well, it sounds better in Romanian, since just a few days ago it was Easter.

Anyway, it seems that the dark force that rules Romania has finally shown its ugly head and took vengeance on president Basescu. You see, some say the country is ruled by corrupt politicians, while others blame economic interest groups. But it's all a scam to hide the real rulers of Romania: the boutique traders!

It all started quite a long while ago, when Basescu was only the mayor of Bucharest. Back then he decided to demolish boutiques that provided cheap and accessible nourishment and drinks to the population and to kill as many dogs as possible. Their plan was long and elaborate, but the boutique people got through all of this without even being noticed. They and their dogs, saved from certain death by their covert operations. Finally, the day has come! Basescu was allowed to go as high as he did only to have a bigger fall in the end.

You might consider this post another tasteless joke from my part, but you will see... some day... when Basescu has lost all his political support, nobody loves him, his beautiful Presidential residence taken from him, feeling defeated, buried in despair... the dogs will get him. Oh, yeah, they will get him. They never forget!

and has 1 comment

Reading this article on digg, I began searching the web for this very cool religion called Pastafarianism and I feel that it relates to me in a very spiritual way. In other words, it makes me laugh my ass off!

As you can read in the Wikipedia article, the Flying Spaghetti Monster created the world (or is it the other way around?) in order to prove to idiots that you either think or you believe. There is no middle ground. Thinking requires trusting your observations, emitting theories and then validating them by using observed data. Believing doesn't require anything, therefore being easier to do, and can (and most of the time will) deny your ability to observe, your capacity to reason or to grasp reality and look down on your desire to understand anything that is believed.

Well, seriously now. One cannot believe the world was created by the Spaghetti Monster... Or maybe one can, as long as they accept the obvious fact that the Spaghetti Monster was created by the Invisible Pink Unicorn.