Monday, September 29, 2014

COMPUTER SYSTEMS IN DAILY LIFE

This is an area where is really hard to pick a subject, so broad is the range of computer systems that became an important – sometimes essential – part of my daily life.
For example, I receive all my money – payments for services I have delivered and my scholarship resources, etc. – thru Internet Banking.  I can’t think of a world without Internet-based banking transactions.
I couldn’t live without e-mail.  I use e-mail even more than phone calls to contact with family, friends, college mates, teachers, business contacts…
The Web, as a whole, is itself a part of everybody’s life!   Besides banking and mail, I use a lot of E-commerce – not just stuff I buy on-line, but stuff I search and find on-line before a go to a store.  If your catalog is not on-line, you probably will not have me as your customer!
Or we could think of office applications.  When I was young, I was a very good typist.  My first job (I was 14 or 15 years old) was in a public notary office, and we notary officers were known as top-level typists.  As a matter of fact, we had to restrain our speed to avoid “cramming” the types of our mechanical typewriters!  But now I don’t know if I’d be able to type a letter using a typewriter – so used I am to be able to correct mistakes, re-organize sentences and even the whole text, and all the other resources that text editors made available!


SKYPE
But, as an International Student, I think that an application which started as a “Voice over Internet Protocol using a Peer-to-Peer Communication Network” tool, around 2003, is the technology that I must focus in this article.  Yes, I use it to do business.  Yes, I use it to academic activities.  And, above it all, it allows me to be with my family.  I can not just type messages, not just talk with them, I can see them.  We can kind of “visit” each other, like one of these days when I just put my laptop, with the webcam turned on, in the kitchen and kept chatting with my daughter while cooking my dinner.  Or we can just let the connection open, the webcams turned on, and do our different stuffs, from time to time commenting anything that comes to our heads, feeling as we were together, in the same room.  No, it doesn’t “heals” homesickness, but surely is a lot better than a phone call, or just a letter each week. 
I really must be grateful to Janus Friis (he is from Denmark and, coincidentally, I have relatives in Denmark and do use Skype to talk to them!) and Niklas Zennström (Sweden), who, in collaboration with the founders of Kazaa (a peer-to-peer file sharing application), created Skype!  The name of the project derives from the words “sky” and “peer”.

VoIP
I think I first used VoIP around 2006, when the company I was working for tried to use VoIP in its Help Desk service.  It was really bad.  Noises in calls, calls falling, it has been a headache!
But since then, Voice over Internet Protocol improved a lot and became a competitor for “conventional” phone companies.
Voice over IP is a methodology and a set of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol. 
Skype uses a proprietary “Skype Protocol”.

Peer-to-Peer
P2P is a type of de-centralized network where all nodes are, at the same time, clients and servers.  It became popular with file-sharing applications like Napster and Kazaa.  Using P2P means that direct communication between nodes is involved.  The network uses processing and networking power of each node – the end-users machines.  Since this, P2P virtually eliminates costs associated with a large and centralized infrastructure.

Quality and Security
Skypes uses P2P in a way that also supports call quality routing calls thru the most effective path possible.
All communications are encrypted.  User logon is required and each user has a digital credential.

SKYPE – Client Applications and Devices
Skype runs in Windows, Linux, Android, Blackberry, iOs, Symbian, and several others.
Skype also sells its own phones, a mobile phone called Skypephone and a Wi-Fi Skype phone.
Several video games can use Skype, and more and more TV sets also do.

SKYPE Ownership and Value
Skype has been acquired by Microsoft in 2011, for 8.5 billion dollars.  After this, Microsoft phased out Windows Live Messenger in favor of Skype.

VoIP % of Market now a Days
In 2005, Skype had 2.9% of the international call market share.  In 2010, 13%.  In 2014, 40%. 
In January 2014, TeleGeography (an international communications market research and analysis company) has estimated that Skype to Skype international traffic has gone up to 36%. 


Sources:


Monday, September 22, 2014

An every-day-Algorithm


An every-day-Algorithm

First thing that comes to mind in terms of an algorithm I do every day is a recipe.  A recipe is a sequence of steps that correctly followed will lead to successfully accomplish the task of transforming groceries in a dish.  So, prepare yourself to enjoy “Arroz de Carreteiro”, a recipe typical from Brazilian State of Rio Grande do Sul!  The name of this dish means “Wagoner’s Rice”.  These “wagoners” were people who ride ox carts in long trips thru the fields; they used to cook his meals in just one pot, for convenience, and created this recipe.

Ingredients – 4 people:  Oil (cotton, canola, sunflower); 1 kg prime beef; rice – 2 cups; 2 big onions;  2 tomatoes; red chili pepper -1; garlic – 3 cloves.  Salt – to taste.
Algorithm:
Chop the onion, the tomatoes, the pepper and the garlic.
Dice the beef in 1cm cubes.
Put oil in a pot – enough to cover the bottom. 
Heat the oil.  Try it with a bit of onion from time to time; when it wheezes, it’s hot enough.
Add the onion, the pepper and the garlic.  Stir with a spoon all the time, until the onion gets transparent.
Add the beef.  Continue to stir to avoid burning or sticking to the bottom of the pot. Do it until the beef is fried.
Add the tomatoes.  Stir until the tomatoes starts to cook and release its juice.
Add the rice.  Stir until the rice absorbs the juice that got out the beef and the tomatoes.
Add 2 cups of water.  Add the salt.  Cover the pot.
When the water starts to dry, lower the heat.
Before the water dries completely…  IT’S READY!  The rice shall be cooked, but not soft.  Turn off the stove and enjoy!

Could a computer system be built to follow this algorithm easily?  I don’t think so!  Certainly not easily and maybe not at all! 

Even a person not familiar with cooking could produce some disgusting stuff instead of an appetizing dish!  There are a lot of concepts that the algorithm’s author is assuming are shared with the person following the instructions.  For example, what exactly is “prime beef”, how to chop vegetables… And “salt to taste” is really vague – just like “the rice shall be cooked but not soft”.

But I think it would be possible - not easy at all - to build a robotized system to cook Arroz de Carreteiro.

If you assemble an extremely controlled environment, and use extremely standardized ingredients, this system would not need necessarily use any kind of sensors to be aware of the results, all it would need to do would be blindly following a sequence of steps.  But, in that case, a different kind of rice, or a different tuning of the stove, for example, could lead to unpredictable results.

To build a system really aware of what is happening, like if the rice has the right consistence or not… Well, then we would need a very highly sophisticated system, with sensors, controls, and probably several layers of functional abstraction! 

I would say that ask our auntie to help us follow the recipe would be cheaper and simpler!

But if I share this “algorithm” with somebody familiar with cooking, probably a good dish will be cooked without problems!


Another habitual action to what I even actually wrote (despite partially) an algorithm is my morning routine. 

05:30
 Get out of bed.  Walk like a zombie adrift and without purpose.

Turn on the computer.  Walk like a zombie adrift and without purpose.

Check weather web site.  Walk like a zombie adrift and without purpose.

Put some music to play.
05:45
 Exercising – and here I have a set of scripts for each day of week.  For example, on   Mondays:  Squats, Abs, “Reverse Abs”, Rowing (I use the bunk bed J ), One-Leg-Squats,  Push Ups.[1]  

Between one exercise and the next, pick the clothes I´ll be using (according to the weather)  and put it over the bed.
07:00 
Shower, shave, dress up.
07:15
 To Derby for breakfast


[1] The exercising scripts for each day could be considered as “sub-routines”!

Since that early in the morning I´m sleepy and sometimes really tired due to staying up late, busy with the astonishing amount of homework our pitiless teachers ( J ) give us, it really helps to have a “script” to follow!   

And this is not the first version of this algorithm.  I tried several “versions”.  Some included more steps, like “check newspapers from Brazil” – dropped, not the best time of day.  And the part regarding using the intervals between exercises to pick the clothes for the day is a result of brilliant optimization!  J  Probably, more improvements will be done in the future. 


Monday, September 15, 2014

John Von Neumann - Brief Comments on His Life


John Von Neumann – Brief Comments
 

I considered writing this article about several people I think left a huge mark in Computing Sciences history.   Charles Babbage, George Boole…  Also Ada Lovelace (who is known in  Brazil mostly as Ada Byron), “Analyst, Metaphysician, and Founder of Scientific Computing” (see https://www.sdsc.edu/ScienceWomen/lovelace.html , see also “The Babbage Engine – Key People at http://www.computerhistory.org/babbage/adalovelace/ ) as well as the “Top Secret Rosies” (see Rediscovering WWII’s female `computers` -  http://www.cnn.com/2011/TECH/innovation/02/08/women.rosies.math/, see also Women Computers in World War II - http://www.ieeeghn.org/wiki/index.php/Women_Computers_in_World_War_II ).  After all, I`m al old school gentleman and redeeming women’s role in the history of Computing Science is a subject that pleases me.

But I concluded that if I have to pick one person, that person must be John Von Neumann.  Von Neumann was born December 28 1903 in Budapest, Hungary, and died February 8 1957 in Washington, DC.  His life was one of those of which we can say that truly changed the word, leaving a huge legacy in an astonishingly vast range of human knowledge areas!

In Computing Science, he defined – before 1950! - the architecture computer processors use until nowadays.  But he excelled in so many areas that a book about his life (by Norman Macrae) has the title “John von Neumann – The Scientific Genius who Pioneered the Modern Computer, Game Theory, Nuclear Deterrence, and much more!”.   The author was not able to find a title encompassing all areas in which  Von Neumann’s genius excelled!  In Wikipedia, Von Neumann’s entry has in the index “Set Theory” , “Geometry”, “Measure Theory”, “Ergodic Theory”, “Operator Theory”, “Lattice Theory”, “Mathematical Formulation of Quantum Mechanics”, “Quantum Logic”, “Game Theory”, Mathematical Economics”, “Linear Programming”, “Mathematical Statistics”, “Nuclear Weapons”, “Atomic Energy Committee”, “ICBM Committee”, “Computing”, “Fluid Dynamics”, “Weather Systems” - and this is not the complete list, believe me or not!   National Science Foundation’s website (www.nsf.gov) emphasizes his Computing Science actuation, and reads: “Brilliant mathematician, synthesizer, and promoter of the ‘stored program’ concept, whose logical design of the IAS became the prototype of most of its successors – the Von Neumann Architecture”. 
(You can find a good definition of IAS at Dictionary.com - http://dictionary.reference.com/browse/IAS )

Von Neumann was born in a wealthy family – his father was a banker and had nobility titles - and soon revealed to be a child prodigy.  At age of 18, he published his first paper.  At 22 he graduated in Chemical Engineering; at 25 completed his doctoral degree in Mathematics, and gained a reputation in set theory, algebra and quantum mechanics.  At 30, he was appointed to be a Professor of Mathematics in Princeton University – a position he maintained for all his life, and became an American citizen.

In 1943 Von Neumann worked at the Manhattan Project.  His expertise in hydrodynamics and shockwaves applied to chemical explosives had already been used in England, and were then applied to the design of the atomic bomb.  From 1954 to 56 Von Neumann worked as a member of the Atomic Energy Commission and outlined the policy of nuclear deterrence in President Eisenhower’s administration.

Even while working in Manhattan Project, Von Neumann worked in his classical applied math book “Theory of Games and Economical Behavior” (co-written with Oskar Morgenstern). 

Von Neumann started to include computers among his multiple interests around 1944, and oppositely to most his peers, rather than merely applying computing to tabling data, he quickly perceived the application of computers to applied mathematics for specific problems.    And, have turned himself to computing, he – typically – decided to build his own computer.  Von Neumann’s architecture is still used on most computers.  A change starts to spread, as parallel computing became more and more available.  Von Neumann was aware of the limitations of sequential computing, but decided stay with it due to its simpler implementation features.   Modern processors are still built according to “Von Neumann’s Architecture” .

Von Neumann was a legend in Princeton, even being humbly about his capabilities.  It was said that he was able to recite, verbatim, books he have read years earlier and could edit assembly-language in his head. 

Somewhat surprisingly, he was also knows as a wit, bon-vivant, and an aggressive driver – his frequent car accidents lead to a Princeton intercession being dubbed “von Neumann corner”.

In his last years, Von Neumann approached the question of if a machine could reproduce itself, and outlined how it could using an abstract model.  Conceptually, this work anticipated modern discoveries in genetics.

 Von Neumann has been diagnosed with bone cancer in 1955 but despite his rapidly deteriorating health he continued to work, receiving the Enrico Fermi Prize in 1956.
 

Sources:
http://en.wikipedia.org/wiki/John_von_Neumann
http://ei.cs.vt.edu/~history/VonNeumann.html
http://www.britannica.com/EBchecked/topic/632750/John-von-Neumann