Monday, March 9, 2009

IDE, IDE, IDE, the IDEs of March


This is the story of installing a billion software development environments, and which ones gave me fits and which ones I will continue to use, at least until I am too dead to program anymore.

First of all, as the most basic "IDE", there is the Unix Makefile and the GNU compilers. This includes the infamous VI or EMACS (or whatever grim editor of your choice...). I have been using this kind of environment for decades, ever since the early Unix days, especially when the GNU compiler was available for most of them, and the "gdb" debugger (or something like it) existed. Yes, this kind of world is grim, but there is an elegance to it and a reliance on human intelligence that cannot be equaled by anything else, so far.

But it has the terrible drawback of being clunky. There are much better editors nowadays, and even make file makers, automakes, and so forth. Yet, the clunkiness will never go away, and you spend a lot of effort tweaking makefiles and all the dependencies and the order of object files and libraries. It is a pain in the butt, even on a single Unix/Linux machine. It is awful when you start making everything machine and OS independent.

VC6.0 through VS2008 and .NET. In recent years I've had to put up with Microsoft's IDE for a lot of programming. The early ones were pretty grim, and mostly made you get buried in complex object systems that assured your life would be a giant Microsoft Pain In The Butt Object forever. The later versions, especially now that there is the "CLI" or Common Language Interface, it is even worse than ever. Managed Code may be all the rage, but it is just crappy programs that result from it, unless you are running the fastest, most memory endowed machines on Earth. Some people are, so they don't notice how piggy the stuff is.

Many people LIKE Microsoft, and all it's complexities and sludgy software that puts Quad Core boxes on their knees. It does have an extensive, extremely robust functionality, and I cannot fault the standards of programming that Microsoft has set. As long as their companies buy all the tools and fast machines for them to develop on, who cares about anything like cost and power consumption. Now, there is C# (sort of a C++ version of Visual Basic) and all the C#pies in the world pray at the alter of Microsoft, once again.

My biggest complaint with .NET was when I tried to write photograph processing software using .NET. What a nightmare. It made accessing the pixels of any particular image file almost impossible. So I wrote a low-level processing module to do the heavy lifting and used .NET to do all the weird Microsoft GUI stuff. It kind of went -- thunk thunk thunk as it processed images.

Onward. GTK+2.0. On my two personal Linux boxes, one a modern Dell laptap with openSUSE 11.1, the other an old clunky Thinkpad 600e with Ubuntu (Xfce). They are able to use a variety of IDEs, despite the slowness of Thinkpad, as well. That poor little thing could never run the VS2008 crap, but it runs all the others (which I list below) OK. I also used a Redhat 64bit server for one contract, but no IDE -- straight makefiles for that dude. Things worked good, though. GTK+ is a very extensive, complex GUI tool kit (GTK == Gimp Took Kit) that was used to write the Gimp Image editor. Very, very complicated, and lots of low level C stuff, but it writes high performance programs.

Eclipse.A one-time IBM product -- now Open Source. I like Eclipse for Java things pretty good. It makes good code, it is fairly elaborate in helping with editing, finding bugs, automatically fixing certain things and debugging. It makes Java programs that run identically (or nearly so) on all Linux boxes and all Microsoft boxes. Eclipse also has a C++ interface (perspective, it's called), but it isn't so elaborate or useful as the Java related stuff. Eclipse is a bit intense for the Thinkpad, but the programs created by it run very nicely on the Thinkpad 600e. I was able to write decently performing image processing routines directly in Java that worked adequately, if not lighting speed.

Netbeans. I also like Netbeans. I have used it to make some Java based web pages and stand alone Java programs that are pretty tight and portable. It also allows C++ and (with some difficulty) is able to make portable code, within limits. It does not involve any particular GUI for C++, so you are on your own there. I used GTK and a few extra tools to make GTK somewhat easier. But GTK at it's easiest is NOT easy. It is fast, however. It is probably possible to mix wxWidgets into Netbeans, but I have not tried yet. Especially on Microsoft, where the most difficulty getting those things to all play together lies.

Anjuta. This is a very cute Linux program, and it has some nice interfaces to other things like GTK/Glade and other programming aids. I actually liked using it, except that it wouldn't run on Microsoft without a massive effort, and it sometimes crashed in the middle of very complicated work. Although I thought at first I could get it to work on Microsoft, it would be very difficult.

Code::Blocks (using wxWidgets or GTK). This program is my favorite, so far. Mainly because I am a C++ guy (not C# nor .NET -- real C++). Also, it has a swell widget maker interface that is nearly as clever as the VS2008 Forms editor. The main difference is the resulting code is WAY faster with Codeblocks and wxWidgets than .NET. I'm sure there is some reason why .NET is used by a lot of Microsoft coders, but they don't care if it runs on Macs or Linux. With wxWidgets it runs on virtually ANY computer with some kind of C++ and graphics subsystem to support it's GUI.

I cannot say Codeblocks is easy to setup. Some cases are OK, such as if you just use the wizard to create a new project on Linux, everything is a snap. On Microsoft I had to try about 4 different configurations to get wxWidgets to work (finally just using VC9.0) but for GTK programs I use another thing (MinGW C/C++). I'm not sure why it had to be so difficult, but there were a few things I just resorted to using a text editor to fix underneath the hood. And when I copy program elements from Microsoft to Linux I have to be very careful to ONLY copy the source files and not the setup files.

However, after I get it all working, and get the Debug vs Release stuff all in focus, it works very well. And the resulting programs are very robust and attractive, and they obey whatever standards of GUI behavior exists on whatever system they reside on.

So, in the IDEs of March, Codeblocks wins. Yet I still like Eclipse for Java, whenever I need that kind of thing. And I also like Netbeans for some things. In fact, it would REALLY nice if someday there was some kind of virtualized IDE that ran all those things simultaneusly and could use the best features of each one whenever the Software Project of the Day needed it.

Someday, perhaps, but so far it is nice just to have something that I can write truly portable code on any system I'm using, and run it directly in C++.

I have recently tried Qt. Although it is commercial, except for a crippled "free" version, it seems nice enough. I is limited on Windows to a non-VC++ world, and that bothers me somewhat. But I'm still impressed with it.

Now, I will have to get my hands on a Mac OS/X system, and really make my life complicated. I don't mind so much if I have to jump through hoops or whatever, but I will use wxWidgets (and hopefully something like Codeblocks) to do the GUI stuff, no doubt about it. I just don't want to pay for a Mac right now.

Anyway, that's my 2 cents on the IDEs I've used. I'm sure there are others, and some people love one over another, different than me. But once I've spent time learning something that works as well as Codeblock, Eclipse and Netbeans, it is hard to bother with anything else.

Sunday, March 1, 2009

Sicko

I am recovering from pneumonia. I have had it before, I most likely will have it again. I never wrote about it before, however, except as a brief note to someone in email. I never thought of it as what it is.

Pneumonia is a murderer. It kills you. It has no mercy. It has no regard of agony, nor respect of stature, nor any other ethic. It just wants to kill you as quickly and thoroughly as possible. The only weapon in the battle against it is the very most powerful antibiotics known to man. If your immune system is weak and your access to these antibiotics is blocked, you are dead. There is no coming back from the brink. You must either kill the bacteria that fill your lungs or they will kill you.

A worse form of pneumonia is caused by viruses. Usually, even in today's high technology, there is no cure for that. You are just dead. It is only a matter of time. Perhaps some manner of draining your lungs of fluids -- but keeping the rest of you hydrated -- might buy some time, But for a virus to die, your own immune system must do the killing. Very few drugs can kill a virus without also killing the host.

So I feel lucky I only got the bacterial kind, some form that takes advantage of a cold or flu virus that brought you to your knees first. It then colonizes very rapidly, In just a few hours the disease can double and quadruple to the point where it begins to effect your oxygen. In a few hours more it can become hugely populated, beyond counting, to the point of clogging your lungs. Your immune system tries its best to fight it, but only makes things worse. Your lungs fill with liquids, which, unless you can cough that all up continuously, will drown you.

But you cannot keep coughing forever, and your exhaustion will spell doom.

Fortunately I began to feel the effects of oxygen deprivation. I know about such things from scuba diving and from having had pneumonia before. I went to the doctor on my own, as badly as I felt, knowing that something was very wrong. I made it on time. I was not beyond the critical stages. Antibiotics will work, this time. At least I hope so -- I'm not completely well just yet.

Tuesday, February 17, 2009

The Day of the Microsoft

It is no secret that if I could lift Microsoft over my head and throw it into the ocean, there would be Microsoft -- in Davy Jone's locker. One of the reasons for that sentiment is for the entire day that I spent re-installing XP (not even Vista -- just little old XP...)

It is not even done yet as I write this, some 12 hours since I began. It was all because -- a couple months ago -- I decided to give IE8 a go. Ever since then my old trusty XP box started having random crashes. Since the two events seemed unrelated, I chalked the random crashes to the overburdened machine's constant workload. It is a 5 year old machine -- maybe getting crinkly or something, I thought.

But as each crash occurred it seemed to be more and more related to using IE8 for something, or for updates of XP (which use IE a lot). But eventually it crashed right at the point I was using IE8.

SO... I spent all day trying to GET RID of IE8, which meant that I had to get rid of XP and start all over again. I am still at it. I don't want IE8, but it seems like I'll be stuck with it, one way or another. Is like something dead that comes back alive to get ya.

OH, how joyous my Linux machines are -- each with their little quirks, but they are quick to be fixed, even if I have to redo the whole damn thing it takes about an hour - versus 13 hours now.

It could be worse -- Cobol or something

Sunday, February 8, 2009

Apocalypse No


This is the year to see who falls out of the wagon and gets trampled by the stampede. There is a feeling of "impending doom", a term usually reserved for manic depressives or apocalyptic people.

I truly hope that nothing terrible happens, since in today's world there is too many greedy bastards. Too many people with guns, practicing for years to have their way with whoever gets in their way. Too many people with no skills whatsoever to live in the wild, or live on pennies per day.

Bread lines were real in my father's teenage years. There was nothing, no work, no nothing. Just dust and whatever they could scrape together off the land. Having a gun was for shooting rabbits, not people. A great thinning of the herd would happen in today's world.

Friday, January 9, 2009

2012: Astronomically not a problem

End-Of-The-World theories and predictions are very numerous, and many dates have already passed, so it is very difficult to take any single one of them seriously. I have a simple rule of thumb -- if religion has anything to do with the predictions -- not to worry. The Mayans made a calendar, it needed to end somewhere because the rock was only so big. It just so happened to end in 2012.

Science, however, has plenty of problems that can keep your anxiety pill bottles emptied.

The year 2012 is only a partial passing from one point in the plane of the Galactic orbit to another. The Sun is so large that it already has passed those points, and the Earth will only share in that passing in 2012. But there is no particular problem that could be identified with that point. No gravity wells, asteroid clouds or hordes of alien space ships. There might be some problems with the orbits of asteroids or comets that we don't know about, but the Mayans probably didn't know about them either.

Right here on Earth, though, there are plenty of problem areas, i.e. the various volcanoes and supervolcanoes that could happen -- the Yellowstone caldera for example. It blows every 600,000 years or so, and is overdue. The Mt. Ranier volcano would be bad enough for people in Washington and Oregon, etc., even though it would be hundreds of times less bad than Yellowstone. Both of these sites are having little spits and groans. Neither can be predicted within any 1 year accuracy, that is for sure, and certainly not to coincide with December 21, 2012 or any other date. If Yellowstone went off, however, there could be Mass extinctions world wide.

There are also undersea landslides and earthquakes that can cause massive tidal waves, which periodically screw up life along many shores. The Pacific Coast from Canada to Northern California is periodically inundated with such waves, as are the South Asian islands such as Indonesia. Low lying areas are the most exposed, of course, but sometimes the waves are so big that even large hills are overwhelmed. Not usually world changing, but certainly bad news for local folks.

The Sun is strangely quiet. This means that less solar wind is blowing, so more cosmic rays are reaching us, although most of them are absorbed in the upper atmosphere. The Sun usually has these 11 year cycles of sunspots, but there are almost no spots lately, long overdue. What this means for us I don't know -- weather might be effected by electrical energy from collisions of cosmic rays, etc. I'm not sure what to think of it.

The Earth periodically passes through thicker gas clouds in parts of the Galactic arm where our Sun orbits in. When this happens there are perturbations of the Oort cloud, which can cause comets to rain down into our orbit. This seems to be the 26 million year extinction cycle, and this effect won't occur again for millions of years, but when it does -- Mass extinctions.

Every few thousand years there is a supernova somewhere in the Galaxy. If it is close enough to us it can emit so much UV and gamma radiation that our atmosphere would be stripped away, cooked and result in bad news on the surface of Earth -- Mass extinctions. Unpredictable.

Bacteria -- and other microorganisms. There are often Red Tides in our shores. We can even go down to the shore at night and watch the glow of those particular microbes that emit light when disturbed by the waves. They tend to kill every single bottom and filter feeder in the ocean, which can spiral into a great die off of fish, seals and whales. This happens on a local scale every 10-20 years. It can happen on a global scale, too, but unknown how often. Sort of a Biblical "sea turns to blood" type of thing.

Our own populations and economic problems can mushroom into a pandemic. We will eat everything we can catch. We will burn anything to keep warm. We can spread strange diseases around the world and have no method of curing them. We will convert the world to a desert with little clean water. But only if our population exceeds some X number. We may have exceeded X already, and we are only just beginning to have the bad effects -- die offs of life forms we depend on, pollution poisoning fresh water sources, etc. Mass extinctions could result from our own idiocy.

Nothing can be linearly predicted. Humans have a self-awareness and unpredictable behavior. We might self-correct many of our problems and avoid the effects of our populations on the planet. Certainly we would not completely die off -- when the population fell to some M minimum, then there would be enough life-support on the planet to support all the life forms we need to survive -- hopefully.

Anyway, for my grand children's sake I hope none of these things happen too soon.

Thursday, January 1, 2009

More Death and Less Resolution

There are few issues in the world that are more problematic than the Israeli-Arab conflicts. It is a problem that transcends generations, and has been going on for centuries. The current issue of the "State of Israel" versus the "State of Palestine" is only the latest page of the latest chapter in a very large book full of tragedy and horror.

Since I am neither Israeli nor Arab, there is little I can directly experience of their affairs. I do have Israeli friends and, at least remotely, I have some Arab acquaintances. I know more Islamic people than Arabs, however, since there is an obvious difference. Although Islam and Judaism have their problems, too, the remoteness of Pakistanis to Israelis, for example, is too great for their to be direct eye for an eye revenge battles such as there are with the Arabs. You might think the same was true of Iran, since Persians and Israelis have not been in many direct conflicts over the centuries.

Yet, due to the Palestine problem, many Islamic peoples have taken up the battle against Israel, and by extension, against all Jews. The fact that Christianity is also "somewhat" related to Judaism seems to damn them as well, although the Arabs are much more related by blood to the original Jews than to most Christians in modern times. But this also extends to Islamic peoples of Indian descent or to Indonesians. They are Islamic by force of belief, not by being Arab. The hatred of the Jews because of their religion is therefore entirely irrational.

The hatred of anyone for any reason is usually irrational, since it is an emotional reaction rather than a conscious choice. There are few people that I could say "I hate", and when I do examine closely why I might say that, I cannot come up with a logical "A is to B as C is to D" kind of answer.

If someone murdered my children, I would certainly be emotionally effected, no question of that. I would probably hate whoever did such a thing. But what would it be that I hated? That person? What if they were also dead, killed by the police or by their own hand after committing the murder. Should I hate the non-existent person? Should I hate the gravestone of that person? The reasoning would be meaningless, but I might still hate that person -- because I would hate the memory I have of my loss and the cause of that loss. I would be hating that part of my brain that encodes the loss of my child at the hand of a murderer.

Many centuries have passed since the Roman emperors wielded their power of life and death over the peoples of the Mediterranean. The Romans killed whoever they liked to kill, whenever they wished to do so, for several centuries. Amongst their victims were Christians, Jews, Egyptians, and even other Romans. Should we all hate the Romans and their descendants? Should we try to erase all the Roman influences within our cultures? We would wind up hating ourselves because our cultures are so intertwined with the Romans (and the Christians and Jews and Egyptians, etc.) there can be no unraveling them.

The current operation in Israel is against the "Hamas" organization. They are Arab, Islamic, and implacably hateful of Israelis. They feel wronged, oppressed, displaced, etc. One can feel some sympathy for their plight. At the same time they are unapologetically guilty of murdering women, children, and anyone else who happens to be close by, using suicide bombs, random rocket attacks, mortars, booby traps, car bombs, etc. These are all the tools of guerrilla fighters.

After so many of these attacks upon the citizens of Israel occur, then the inevitable response from the much stronger, more technically advanced IAF rains massively destructive weapons down upon them, which also kills women, children and anyone else who happens to be close by.

The cycle continues. In the distance, Iran threatens to "extinct" Israel. The Al Qaeda hordes threaten the same. The angry Arabs and Islamic peoples of all the places that hate Israel are increased in their anger and hatred yet again.

Personally, I have asked questions about the problem of my Israeli friends (who live in America, and for the most part do not wish to partake in these operations, and do not wish their relatives or fellow Israelis to be harmed by the inevitable revenge cycles thereof.)

I ask, "Why not just take all the money used to buy arms, buy nuclear materials, buy political influence, and so forth, and use that to buy some land in Canada or somewhere with lots of land and little population, and build your country there? Surely it would be cheaper.

The answer, "Because the Temple of Jerusalem, or at least the Wall, is there. It cannot be arbitrarily moved to the Yukon or even to Egypt. It has historical and religious meaning. You may as well ask Mecca to be moved to Nebraska."

OK. "So, do you think you need to kill every single Arab that surrounds Israel?"

Answer; "No, only the violent, terrorists and fanatics."

OK. "So, will you ultimately have to use nuclear weapons against some Islamic country that has a nuclear weapon?"

Answer: "Not any more than when America needs to use nukes against other nuclear powers. Usually there is a balance of power, and sane leaders prevent all out strikes."

OK. "So, wouldn't the same logic apply to Iran? Do we need to stop them?"

Answer: "Well, hopefully they are rational, at some level, and will not actually use such weapons, however there are many irrational acts which countries such as Iran and Pakistan take part in. And to a lessor degree, India and China also take part in problematic enterprises. Everyone must keep an eye on everyone else. Not Israel, not the USA, nor any other country should become irrational and use these weapons. But there is always a chance."

OK. "So, do you think Hamas, if left unchecked, would use such a weapon if they ever got their hands on it?

Answer: "Look at what they do now. They lob explosives into Israel with the full knowledge that destruction will rain down upon them as a result. A nuclear weapon that destroyed Israel and also destroyed Gaza would only be seen as glorious in their eyes, somehow fitting the 'martyr' label, ensuring the 70 virgins in Heaven, or whatever."

This is the typical question answer session. There is no solution using logic or reason. There is only religion, hatred, revenge and that sort of thing. It keeps on going, over and over. I truly am afraid that it will lead to either the utter destruction of Israel and the surrounding Arab states, or to an infinite series of the kinds of wars and sieges that are going on right now, until all eyes are gouged out and all tongues are cut off.

I hope not. This is so tiring to me.

Monday, December 29, 2008

Hamas Mess

I am not an Israeli, and I am not a Palestinian, therefore I can probably have no authority in commenting on the horror of wars in the Middle East between Arabs and Jews (and so many other entities.)

But I do have an opinion, as unwelcome as opinions may be. It has been 60 years since the creation of Israel after the fall of the Nazis and the Jewish war with the Arabs to obtain a homeland. I have not witnessed any of those things directly, since I was not born yet when they occurred. I will most likely be dead when and if there is ever an end to the wars. So far they have occurred during my whole life.

The Arab perspective is always from the point of view of someone whose land has been occupied by outsiders. Naturally they feel wronged, displaced and oppressed. It is probably not fun to be an Arab in Israel or the Palestinian territories. However, there are also other Arabs -- not just Jews -- who contribute to the bad lifestyle of the Palestinians. And they also have themselves to blame. Much foreign aid has gone into those lands, only to be transformed into weapons or gangster kingdoms instead of a better lifestyle for the intended people.

The Israeli perspective is always from the point of view of people without a homeland, driven from every land they wound up in over the centuries, and with many exterminations and atrocities committed against them by their host peoples. This started long before there were any "Palestine" borders. Between the Greeks and Egyptians and Romans and, in modern times, by the Nazis and Soviets, the Jews had always been slaughtered and displaced, and in far worse conditions than the worst of the modern Palestinians.

Although I am American, and therefore am hated by all parties for various reasons, (both true and false,) I still have my point of view. I was born into America, and I had no choice in the matter -- no differently than a Jew in Israel or an Arab in Gaza -- to be born into that world whether one likes it or not is not a choice, it is a matter of circumstance. To be hated merely because I was born here is strange, but more common amongst the world's primitive societies.

If Hamas had a nuclear weapon capable of destroying America, there would be little hesitation before it was used. I am afraid they have such deep hatred for Israel they would use it immediately, right next door to Gaza, even if the effects would destroy most of Palestine as well -- one of those "martyrdom" operations that also wipes out unwitting women and children in a brilliant splendor of religious fanaticism.

Unfortunately, there are such nuclear weapons in the hands of precarious Islamic countries, although in Pakistan the balance of power is mainly between themselves and India, another precariously ruled nuclear power composed of several other religions. Both of those countries are consumed by religious extremism, however there are some rational people in control of the weapons launch apparatus -- so far.

In Iraq and Kuwait, at least partially radioactive materials are laying about on the ground in the form of depleted uranium, used by anti-tank weapons, A-10 Warthog munitions, and the armor of tanks and other vehicles.

I am not sure how easily one can collect such stuff, and fortunately it is "mostly depleted" and cannot be formed into nuclear weapons or power station fuel pellets. It is radioactive, however, especially when collected into unshielded piles. It is especially dangerous when vaporized and breathed, since it is also quite toxic - like many other heavy metals.

People who are living in poverty may be quite happy to collect the stuff for small amounts of money, obtained by some bad actors who may be more capable of using it in a dirty bomb, or making their own armor piercing weaponry. We should always be careful what kind of stuff we take out of Pandora's Box and scatter about in foreign lands.

I do wish that Israel and Hamas would find some sane balance, in which both entities could live more peacefully. But I know it is just a wish, some mistaken belief that people everywhere can be rational, to live and let live. Since my wish cannot come true, then, since Hamas only feeds the fanaticism of terrorism, which is also directed toward my children and my future -- I can only hope that Israel quickly "wins" their war.

But I know it will be just a temporary win, on whichever side, and in some future time it will be perhaps my grandchild who writes a similar opinion as this, in a future war of insanity, only to be followed by another, and another.