Monday, February 13, 2006

“Hello World” proofed it can make you Roll on the floor laughing!!

While doing my daily websurfing, I ran into a page showing Hello World implementations by many languages. I found another link to a page showing the implementation by some class of languages called Esoteric languages. These languages are used mainly by hobbyists and to test limits for programming languages in general. They are never meant for real-world use.
Look at these implementations and laugh with me.

Saturday, February 11, 2006

Nerd, Not Nerd, Nerd, ...

I found this Nerd test on M.A.Meligy's blog. I didn't think I was as nerdy as the test showed.
It shows that:
4% scored higher (more nerdy), and 96% scored lower (less nerdy). All hail the monstrous nerd.
I guess then that I have to work more on my other non-nerdy skills, be more social and .. hmm .. forget all about computers for some while!!
My result picture is here
What about you?

Perfect website design : Watchmaker’s

I've seen a great website design. Really awesome. The colors, pictures and overall look and feel is perfect. Makes you feel relaxed just by pausing and looking at the page .
See the Watchmaker project.

Friday, February 10, 2006

The biggest number used in mathematics

Well, It is smaller than infinity, but it is larger than any number you have ever imagined.

It is the Graham's Number.

Let's first talk about a relativly small number, a Googol.

A Googol is larger then the age of universe in seconds almost 6 times larger, so you know you can't count a Googol, although a very small number. It is actually equivalent to 10100, e.g. 1 and 100 zeroes next to it.

...
A googol is greater than the number of particles in the known universe, which has been variously estimated from 1072 up to 1087.

If you drew a regular polygon with a googol sides that was 1027 times the size of the known universe, it would still appear circular, even on the scale of a Planck length. Planck length is smaller than 10^-39 of a meter.

There is Googolplex which is 1 and a googol zeroes next to it. And a Googolduplex which is 1 and a goololplex zeroes next to it. And there is a Googoltriplex which is 1 and a googolduplex zeroes next to it. There is also a Googolquadriplex which is 1 and a googoltriplex zeroes next to it.

The smallest one, googolplex, to write it under the following conditions: a printed page can hold 100 rows of 100 chars. 104 characters. Suppose we have a billion (109) of printers, each one printing a billion of pages each second. Then, after one year we could have printed 104 × 109 × 109 × 365×24×60×60 = 10×22 × 31536000 ~= 3.2 × 10×29 digits. After one billion years of printing, we'll have about 3.2 × 1038 digits. We still have 10(Googol-38) digits to write.

Thinking of this another way, consider printing the digits of a googolplex in 1-point font. 1pt font is .3 mm per digit, which means it would take about 3.5 × 1096 meters to write it in one point font. The known universe is estimated at 7.4 × 1026 meters in diameter, which means the distance to write the digits would be about 4.7 × 1069 times the diameter of the known universe. Regardless of the time needed to write it in the first place. Imagine how many light years you have to travel to write it. It would be larger than a billion (much larger) years if you are travelling at light speed.

That was a googolplex. So what about a googolquadriplex ? Seems a funny question. Actually the Graham's number is so larger than a googolquardiplex. It, as a matter of fact, can't be written using standart “exponentiation'' convention, like ab. It needs a special notation so that we can express it. If we used normal conventions, it would take more than it takes to write a googolplex, I assume.
I can't really discribe it better than this page.

Graham's number is related to a problem in a branch of mathematics called 'Ramsey theory'. Here's the problem:
Consider an n-dimensional hypercube, and connect each pair of vertices to obtain a complete graph on 2n vertices. Then colour each of the edges of this graph using only the colors red and black. What is the smallest value of n for which every possible such coloring must necessarily contain a single-colored complete sub-graph with 4 vertices that lies in a plane?
Although the solution to this problem is not yet known, Graham's number is the smallest known upper bound.
Martin Gardner wrote “Ramsey-theory experts believe the actual Ramsey number for this problem is probably 6”, making Graham's number perhaps the worst smallest-upper-bound ever discovered.
At end, the funniest number name I ever “read” is “Novemnonagintanoncentinonmillinovamyriadecemyrillion”!

Sources :
http://en.wikipedia.org/wiki/Graham_number
http://en.wikipedia.org/wiki/Googol#Trivia
http://en.wikipedia.org/wiki/Other_names_of_large_numbers
http://en.wikipedia.org/wiki/Moser%27s_number
http://www-users.cs.york.ac.uk/~susan/cyc/g/graham.htm
http://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation
http://en.wikipedia.org/wiki/Hyper_operator
http://en.wikipedia.org/wiki/Conway_chained_arrow_notation
http://en.wikipedia.org/wiki/Skewes%27_number
http://en.wikipedia.org/wiki/Large_numbers#Approximate_arithmetic_for_very_large_numbers
http://home.earthlink.net/~mrob/pub/math/largenum-2.html
http://mathworld.wolfram.com/GrahamsNumber.html
http://www.madsci.org/posts/archives/oct98/905633072.As.r.html
http://en.wikipedia.org/wiki/Googolplex
http://wiki.tcl.tk/13471

To blog or not to blog!

I still don't understand how people who blog write some personal information about themselves and publish the URL of the blog everywhere. It is unsafe if someone gained so much information about you. Imagine for example someone who wants to deceive people in some email by representing himself as you and confirming that with some information he got from your blog. Yeah, it is the Conspiracy Theory. But it might be true. Imagine also one who is collecting information about your personality so he can know how to deceive you.
...
These reasons keep me from converting my blog into a sort of a diary. I am restricting my blog only to theoritical discussions and technical opinions only. So you might feel that this blog is sort of “dry”.
No blogger can ever know who is reading his blog. It might be your future boss or your future friend. And this is actually happened. I was reading someone's blog. And after 2 days, I've met him as a total conincedence. I didn't show him that I know him, it will be a strange situation —especially that he doesn't know me—, although I actually knew about him what can fill 2 pages. I knew his birthdate, his favorite topics and his friends. He was really a sincer blogger, he almost wrote his life day-by-day in his blog. Funny it was like I lived each day with him like a close friend just by reading his blog. I don't like this type of blogging.
Although blogging comes from “web log”, but i don't see why not specialize blogging as each blogger wants about his blog. Of course this does not mean that I convert a blog into a forum for example!
I don't think that you will reach this line. You will get bored and leave before completing. Anyway this is my blog and I write however lengthy posts as I like. It is up to you to read a whole post or not, but please do not comment on a post you didn't read it all.
I blog only when I have nothing else to do. So you will always find the posts lengthy. Presumably, it is not because I like torturing the reader. But because I like to write my whole point of view as a block.

Ambaba War

I have heard about 'Ambaba war' from someone who I can't remember now. I searched for it and found it. It is a nice game, although not a 3D game. I have suffered until the link opened becuase the MegaUpload site give Egypt only 100 concurrent downloads, no more. So I had to wait until there was an empty place for me. The game is about 36 MB. I would like to upload screen shots, but I can't ignore the fact that I am a lazy blogger.

Edit: Note: I have discovered that it is an english game called 'Heavy Weapon Delux' and that guy only arabized it and claimed that he made it on his own!!
source : http://heavyweapongame.com/


Download link: http://www.megaupload.com/sa/?d=41HPI40I

Original posts : http://www.bramjnet.com/vb3/showthread.php?t=35577
http://vb.vip600.com/showthread.php?t=68094
I was thinking of re-posting posts from my old blog here, but it looks like i will never make it. It feels like a duty and that is not my point of view of blogging. So, sadly, I guess i will start over in this blog.

Friday, February 3, 2006

OldPosts: Programs Digest

Like the links digest.
OllyDbg http://www.ollydbg.de/ - A really great (assembly-level) debugger, I used it to patch WinRAR 3.51

OldPosts: Links digest - Volume 1

http://channel9.msdn.com/ - Channel9, not sure what it is, but it looks good
http://geekswithblogs.net/Mohamed/ - Mohammad A. Meligy's Blog
http://rewayatmasreya.com/ - Rewayat Masreya, has very good articles
http://www.hackr.org/ - Test your hacking abilities
http://www.try2hack.nl/ - A harder hacking test
http://wikipedia.com/ - Really great site to search for anything about programming (or about anything)
http://www.devx.com/tips/Tip/12582 - new Operator usage (there is information you might not know anywhere else)
http://www.zaon.com/company/articles/3d_rendering.php - How to choose a 3D Application (for designers)
http://c-faq.com/ - A must-visit site for any C/C++ programmer
http://www.cuj.com/documents/s=7998/cujcexp1902alexandr/ - Using 'volatile' keyword in C++ to develop thread-safe applications
This is a new idea. Instead of keeping URLs unvisited in my Bookmarks/Favorites, I just keep them here, for me to check them later or for anyone who wants to visit them. Unfortunately adding them day by day will create too much entries. So I will just modify a sinlge entry to add new links, when the entry is big enough i will create the next Volume.
Hope you find it useful.
Note: once I repair my old PC, and have access to my 'old' Favorites you will find thousands of links here :D

OldPosts: My Blogging Type

I've got the link from Mohammad el Meligy's Blog http://geekswithblogs.net/Mohamed/ .
Quote:
***Your Blogging Type is Pensive and Philosophical***

You blog like no one else is reading...
You tend to use your blog to explore ideas - often in long winded prose.
Easy going and flexible, you tend to befriend other bloggers easily.
But if they disagree with once too much, you'll pull them from your blogroll!
EndQuote
Finally, I have moved here :).

Wednesday, February 1, 2006

OldPosts: Time travel

Quote from http://forums.lycaeum.org/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=9&t=000979 :

How can something move in time? It can move along the x-axis and it's velocity is dx/dt. If it moved along the time axis it's velocity would be dt/dt or 1. dimensionless one, at that. There can be no time travel.

(IMHO = in my humble opinion / OTOH = on the other hand)

Defining Travel : travel is a movement in some dimension. A movement is a change in the position of that dimension(s). A change can't happen on it's own; it must follow some external change. One would ask, the external change would need another change too. Yes, IMHO that it is an infinite loop. The change in X would affect Y which will affect Z which on the end would affect X and so on.

So to describe movement, we need to describe what changes can affect it. Before we do that we must say how was the movement described before. It was described in terms of displacement. But displacement is not enough. Because it does not uniquly identify a movement. I can move 10 meters north, or west, each is a different movement. So we need to make it more specific. We add direction. Which as may jump to the readers mind as a vector of X,Y and Z. Yes. But this is also not enough. One moving to USA in a plane at 500 KM/H and one is also moving but in a boat of 50 KM/H. Is not analogous types of movement though at the end will be the same place. At this point we needed velocity (speed). First, we ask, now we have that movement depends on displacement, thus if change in displacement = 0, there will be no movement. Direction depend on movement; if there is no movement there is no direction. Velocity introduces a new parameter. Time. If change in time = 0, there will be no displacement. But what does changes time ?

So far we defined Movement as undirectly depending on changes of time. Thus time restricts movement. There is some different argument : if movement = 0, will time change ? Some one will say 'Sure'. It may be changing. But how can you tell ? Movements will exists as long as time changes. So, if one can STOP movements, all movements. He theoritically will STOP time. OTOH, argument would say : which by contradiction, is proved if larger changes of Movement will cause time to change with the same amount. Einstien proved that, as one approaches light speed, time will shrink until it reaches zero. This is contradictory. As meaning if you are Moving in light speed, you will STOP time. But as concluded earlier this will make Movements = 0. As far as i conclude, this means that once you reach light speed, your speed will equal zero. OTOH, as your speed increase, time changes will dicrease. which lead to dicreasing in your speed. Actually time shrinking will not make your speed dicrease. If speed = dx/dt, as dt approaches zero, speed approaches infinity.

From the above one can conclude that if your speed increase then the displacement is still the same. Directly from what did Einstein proove. Given that time changes depend on the speed, and speed depends on the displacement per time unit; meaning that speed is inversly proportional to time unit. That is true if Displacement per time unit is constant. But in real life, speed only increases when the displacement per time unit increases. Which means that if we can increase the speed, while keeping the same displacemnt per time unit, then we can decrease the time unit. which will force us to recursivly decrease displacement to keep the ratio constant. When displacement reaches zero, time unit will equal zero. This is undefined as displacement zero is undefined. This was to shrink the time unit. Shrinking the time until means that we move faster relative to other slower entities. Ironically, in a race moving faster means that you reach the finish line first, which is other racers future . Meaning if you can increase the speed and decrease the displacement you will move to future. Descreasing the displacement is only meaning to decrease the new disp/t after t decrease, so it means slowing down while you increase your speed. This is moving to future. Moving to past means jumping over the zero time barrier, which is met when you are moving at the speed of infinity and not moving out of your place (note that this means going to infinite future). Jumping over the barrier requires you moving at negative infinity , while you are moving "inside you place" (displacement zero). As you reach -n speed where n <>

This all is an argument which expresses the conditions for Time travel IMHO. It shows a lot of contradictions. Which if sometime is solved it might happen to travel through time.