Category Archives: Articles

Safe Programming Language

My current post on LinkedIn:

Safe language features:

– range check
– arithmetic overflow check
– stack overflow check
– strict typing
– if it also uses dynamic typed variables then a safe runtime type check mechanism
– if a variable goes out of scope, its resources must be freed
– if an object has a live reference it should not be freed
– You should be never allowed to free a resource twice or more
– nil pointer check, or completely avoid pointers (Java!)
– no nil value allowed to assign to any variable (it’s insane that in Java a String could be nil, it should be empty string instead of nil)
– no object should have a nil value, they should be empty object instead.
– no access across freed or otherwise invalid pointer
– code analyzer to detect (if possible) infinite loops
– exception handling, do not allow empty catch blocks or any swallowing of an exception
– detailed stack trace and memory allocation map

…and that’s it for now…

The Birth of Christianity

The birth of Christianity is a long process that has not really ended today. Faith, religion is forming, believers are changing, and there is only one which is not changing, the Holy Scripture. And yet for me the birth of Christianity can be linked to a single well-defined moment, at that moment all decided, faith was born, that is the faith in the resurrection of the Savior, which is the basis of the Christian faith, religion, without which there is no Christian man. He or she, who does not believe that Jesus really died for our sins and then was resurrected, is not a Christian. One may accept the teachings in many things and may even live by them, but if he lacks faith in the resurrection, he or she may be excellent, very good man but not a Christian.

Continue reading The Birth of Christianity

25th Brithday of Delphi

I was with Delphi. Since it appeared after Borland Pascal 7.0 as Delphi 1.0, I have been working with it. Our great moments were: Delphi 1.0, Delphi 5.0, 6.0, 7.0, Delphi 2007, Delphi XE4, XE7, Delphi 10.1 Tokyo, 10.2 Rio. The numbering scheme changed a few times, first it was Borland Delphi, then Codegear Delphi, then Embarcadero. But the most important features remained the same: fastest compiler, easy to learn language with continuous development, new language elements and a great, intelligent, easy to use IDE. A great source editor with a screen designer. The designer and the VCL was a huge advantage after Borland Pascal’s Object Windows Library.

Pascal was the first programming language I learned and it remained my favourite one. Native string type unburdens text processing, overflow checks eliminate the security holes which are in so many C-C++ programs even today, causing a lof of bugs and headaches for the users. Rich type selection. The “class” type makes easy the object oriented programming, easier than it was with the old “object” type. VCL components are very handful, and an active user community continuously expands the component supply.

I think, Delphi 2007 was the best of all, I love it and I work with it since we met. Delphi 6 was also a very successful one, I worked with it for a decade. But I think there could be many companies, like the one I worked for, which sticked to Delphi 6 and if they did not stepped in time, now they are not able to shift to more modern versions. The same effect as with COBOL. From the XE series I liked the XE7. Then it was a very good step for students and for little companies to make free the Starter Edition, I have a 10.1 Starter Edition, the good point is that it remains free, and not limited as the Community Editions. They are also good tools for the little ones, but their time limit is a little bit backstep compared to the Starter Edition.

And now for the negatives. Each version brings much news, and a few bugs, I was only satisfied completely with the 2007 edition, I did not encounter any bug in it. Now, for example, the inline var declaration causes error warnings in the IDE, but the code can be compiled. This bug presents already in two versions! Was it not tested and lives already in two versions? Also a few versions had the error that the IDE syntax check and the compiler syntax check was not synchronous. And I miss so much the stacktrace log, a quick help of the Borland time (now even the Delphi help is full of C++ stuff, who cares about C++, I’m in Delphi!), help is enormously slow compared to earlier chm help, I just pressed F1, and look, the help appeared at once! And the most I miss, a decent memory handling, now it is a neverending fight with memory leaks and access violations. Up to now it is the weakest side of Delphi. Absolutely missing is a JavaDoc-like tool which could create html and chm help from the comments written into the sources. These generated helps should be used by the IDE also, so one can get help from his or her own sources as from Delphi units.

Anyway, it is the best developer tool and language I know, I am waiting for the upcoming 10.4 edition. And of course I wish Delphi another very happy and successful 25 years! Let’s go together!

Nyíregyháza, February 15, 2020. – March 22, 2020

COBE – Our Place in the Universe

NASA launched the COBE satellite on 18th of November, 1989. The main purpose of the mission was the examination of the thermal spectrum and the flatness of the cosmic microwave background radiation.

Flatness is important in terms of the emergence of cosmic structures. If the background did not show any “grain”, then we could not know the origin of those material centers, which later the galaxies and galaxy clusters would develop from. COBE found those “ripples” of the cosmic background, which could start the build of these cosmic structures. This is therefore a clear success, confirming the currently most popular theory of birth of the Universe, the theory of Bing Bang.

Another confirming of the theory is also the result of the COBE mission. It turned out that the spectrum of the cosmic background radiation nearly perfectly matches the spectrum of the absolute black body radiation. That means that the Universe was in a thermal balance in that time. This of course raises more questions, in particular, in relation to the second law of thermodynamics: if the total energy was in the radiation field in thermal equilibrium with maximum entropy, than the heat death of Universe, – which was so often cited by the physicists of the 19th century, as the threat of future – will not come in the future, but already has occurred in the past.

There is a more interesting result of the COBE mission. A Doppler-effect is detectable in the frequency of cosmic background radiation. The radiation frequency shifts towards blue in one direction of space, and shifts towards red in the opposite direction. It is calculated from the amount of shifting, that the detector, which is Earth itself, moves in space with a velocity of 600 km/s.

And it raises very interesting questions. For we know – since Galilei and Einstein -, that absolute velocity has no meaning, if we speak about the speed of something, we should always point to the reference body, we mean the speed to. Now, however, here is a speed, which we measured without telling the reference point we used.

So is this an absolute velocity? In contrast with all we learned about the principle of relativity of Galilei and Einstein in the school?

The majority of the scientists reply to this, that it is compared to the speed of the background radiation, so there is no any absolute in it.

But the truth is not that simple. For what is that background radiation? This is an electromagnetic space of radiation, which fills the whole Universe. So this is not a reference point, or body, or any rigid object in the classical sense. This radiation space is absolute in the sense that it is accessible to all the observers of the Universe. All of them can measure their velocity referenced to the background, they can count the velocity referenced to each other from this, so an absolute frame of reference could be built with the help of this. In addition to, the temperature of the background decreases by the age of the Universe, so an absolute time scale is also can be constructed.

Though, there is a little problem with this absolute scale. Namely, that the local velocity of expanding could not be detected, but this could be expected from an absolute frame of reference. Now let’s take an object, which is – according to its distance and the Hubble constant – moving away from us with half speed of light because of the expansion of the Universe. If there is a true absolute frame of reference, then he can measure it referenced to the background radiation. This would result so drastic blue-, and red shift, that the cosmic background would seem radically different to him, than to us. But the background should be nearly the same for every explorer in the Universe, for if it were not, there would be a respected explorer in the Universe, and this would be a harder return of the geocentric view of world.

Let’s note that the absolute frame of reference is not the same as the respected explorer. The former is an electromagnetic background, the latter a material explorer, who would be selected as some kind of center of the expanding Universe.

The key question is that: when we can measure our velocity to the background radiation, so why are we unable to measure our speed which comes from the expansion of the Universe?

Michelson and Morley at the end of the 19th century did their famous experiment precisely because they wanted to show the movement of the Earth in relation to the hypothetical ether. The null effect led to the special theory of relativity. The COBE showed the movement of the Earth a century later, though not relatively to the ether, but to something very similar to it. If Michelson and Morley had executed the COBE measurements, would there be a theory of special relativity?

I think, not…

March 1, 2014.