Friday, May 7, 2010

Unlike email, When you delete a sent a Twitter DM it got deleted from the recipent






Most of you might not know this (I didn't) so no harm in sharing.

We know that when you send an Email or a Message and you deleted the sent item still the recipient can read it.

However, unlike regular Email system and other Social networks, twitter in the contraray, keeps one copy of the message for performance issues. So when you send a DM or a tweet, a unique id get assigned to this tweet. The recipient only get notified that he got a tweet with this id. The rest is database relations.

Now when you delete the tweet the Id is gone, the database cascade deletion get triggered and delete all the occurrences of this id from all tables.

So when you sent a message you can still delete it before the other party read it, and of course the opposite is true, when you find your DMs are decreasing. Someone is deleting messages sent to you.

In Outlook there is a Re-Call option to do just that, but again the recipient should approve that.

Thanks to our smart Geek @Naseeeee for discovering this.

Saturday, April 24, 2010

My First Video Log - BlackSwan

This is my first video Log, I talked here about the theory of BlackSwan.

Enjoy

Wednesday, April 14, 2010

A Proposal to Replace Geo-Database Replication

No it’s not Virus replication am referring to here, its Database replication. For those who don't know what Replication is, in sharing information, the process of keeping the duplicated sources of data in sync is called Replication.

Let’s say I have a team updating a database and another team who must work on the same database but unfortunately not in the office, they are on the field.

The concept is easy, make a copy the database on the field team handheld/mobile devices and let them update it, when they come back to the office we detect only the changes between the office database and the field database and import only those changes. The changes are usually called the delta records.

This process is called replication. This process has caused some problems previously

DBMSs allow you to replicate a part of the database or the entire database.


Back to the Roots
So Replication was invented by the database vendors for this main reason, keeping things insync. Why field users don't update the database directly by connecting to the Internet and save all this delta changes hassle. Performance is one reason, security and consistency are other reasons.

Lets Enhance this Architecture
Let’s go back to the roots and try to re-invent the wheel here. Why updating the office database from the field is slow? Because whatever Database software you are using, is designed in a way that allows high interactivity between the client and the server that work on LAN network perfectly. Thus it’s slow for limited Internet connection.

If we redesigned this software or at least created an interface for thin clients, depending on compressing heavy objects or sending named objects instead of heavy ones or even serializing the objects. All this summed would create a more convenient environment for field users and will also create a centralized up to date database.

Thursday, April 8, 2010

VIVA Bahrain creates a Tipping Point for Nokia 1202

Just after the buzz over the launch of VIVA Bahrain starts to drop and their remarkable offer ( Free SMS/Calls to any VIVA number) coming to an end soon, U noticed lot of people start carrying a second (or third phone). 90% of the time this phone was Nokia 1202.

This small pattern reminded me of a book I read 2 months ago called the Tipping Point for Malcolm Gladwell. The tipping point is a point at which things get nuts without any apparent or enforced reason. For example sales goes up suddenly without any Marketing campaign, Crime level gets low without any increase in the police force, etc. Usually the reasons behind a tipping point share 2 properties, randomness and effectiveness.


So What happened?
When VIVA launched their offer, people start getting the free SIM card. Looking for a temporary cheap phone available, they all seem to stumble upon this Nokia 1202 with a cost of BD 9. They buy it, mobile shops noticing this particular phone sell the most, order even more creating an epidemic.

I know this barely affect Nokia profit, but it was a pattern worth noticing.

I really find the Tipping point is just another alias of the BlackSwan introduced by Nassim Nicholas Taleb. A theory I will write about in another post.

Monday, March 29, 2010

So you think you are Special?

What is the difference between a bear in the South pole and a one in the Amazon jungle?

The development of animals are part of their built-in intelligence. They adapt with the environment they currently live in, and if they fail to adapt; They die.

This has been the case for few billion years ago in the Earth. The strong survives and the weak who fail to adapt dies.

So how are you, as a human being, different from animals?

We happened to have the most intelligent engine among all creatures. We call that engine , the Brain.

Look around you, we build houses to avoid the rain. We used to build them horizontally, then when we run out of space, we created vertical housing technique. Thus we had story buildings.

We created communities, systems, politics, cultures and thousands of Arts. We interconnected the Earth with the tool of the Internet. Now anyone in Earth can connect with anyone in matter of seconds.

God must be proud of us.

That's why we dominated the entire Earth in only few thousands years. Something all creatures whom have been living in Earth for more than 14 billions years ago.

And our development is raising exponentially.

Hence, we are special, smart and yes the strongest. At least for now.

But are there other creatures out there in the unlimited universe who out smarted us and have developed even faster than us? Are they trying to reach us?

Who knows.

Thursday, March 4, 2010

Earth your Brain




I previously talked about the various methods on how to Earth your Pain. Earthing the Brain, however, is a totally different experience.

Earthing the Brain is the process of cleaning your brain from past knowledge and experiences and thoughts that you have acquired and instead open your mind to unlimited possibilities without projecting actions on these past experiences.

This is not easy to accomplish. Our experiences basically defines who we are and its difficult to let go of what we are. However, looking at the world with an "Earthed" brain open our eyes to totally new experiences. An Earthed brain can listen more and see more.

You can say an Earthed brain is an application of Zen brain, an empty brain that can accept new knowledge, new experiences. Just like a brain of a kid that never fears to try new things.

An Earthed brain can make us see clearly potential Black Swans and sorta "predict" the unpredictable.

The most important thing, it makes us realize how little we know about the World, thus it teaches us how to listen and learn the most from our surroundings. Basically it makes us climb the mountain of Knowledge higher, except that the 'Ego' dog will cease to follow us up to the mountain.

Friday, February 19, 2010

A Single Random Number holds so much Information

If I told you to think of a number from 1 to 100
the result will be different every time I ask you


Lots of factors affect this number. There are the external factors like the weather (cold, hot, windy, humid) or the internal factors like your mood (sad, happy) , status (married, single), health (fatigue, healthy) etc..

All those factors get fed into the function of your random generator and generate a number that is dependent on these factor.

Imagine if we can hypothetically gathered 100 serial killers and ask them to choose a number between 1 to 100, while we try to fix the other external factors as much as we can. Then chart the results. We do the same with 100 child abusers, 100 nurses. Compare the results

We will get interesting results, we will get pattern.

So whatever random number you select. This number hold information, very valuable information. its not so random after all.

Think of that.

Thursday, February 4, 2010

You and I are One

"If you imagine a million dollar in your head, you will work harder and you will make it"

"If you continue thinking that you will be poor your entire life, you will work less and you will not get any money soon"

"If someone's sad sat in a chair and then you come and set in the same chair you're mood will change based on his because the energy transfers those negative signals to you"



I summarize those from books. Books like The Secret, Law of Attraction, Ask and its Given, Money and the Law of Attraction, Law of Connection those books sell because they answer questions. Questions that sat for long time unanswered.

Those books are temporary fillers for gaps about yet unexplained phenomena of a much stronger concept. Those books projects extraordinary acts, that can only be explained by superstitions, into some negative/positive energy concept that leads to particular act of human in a very sexy way manipulating human emotions with explainable yet convincing idea.

That's why they sell.

Quantum physics on the other hand, dictates that everything is governed by set of law of classical physics (Newton laws), but when you go to a small scale, in the level of the atom, different set of laws take over. Those are the quantum laws.

The Quantum laws suggest that we are all one, we are all vibrations of one source called the Super string field or the universal field. We are nothing but frequencies that wave from that.

So what I do, affect the world, what you do affects me, when I'm happy I can make you happy. When I think I affect the world, what I think here in Bahrain affects the mum who sets in her apartment way there in South America.

The question is how? All one day will come into a simple mathematical model that we are can understand.

Thursday, January 28, 2010

We are nothing but Waves of Vibrations

Who are you?

Are you the person who I met when he was angry and stressed from work? Or are you the sweet person I met when he just received his yearly Bonus?

Are you the person who yelled at his mother once in his life? Or are you the person who helped that old man 15 years ago?

Its difficult to stay one person everyday.

We are nothing but waves of vibrations with varying frequency.

Hussein yesterday with a frequency (X Mhz), can make a decision, wake up in the morning by a building constructions noise which raises his frequency to (10X Mhz) forming a completely another Hussein, and regrets yesterdays decision.

We are a collection of frequencies like radio channels. We switch from a frequnecy to another based on totally natural random events that hit us. For example, I can think of an idea NOW at time (t1) and later at time (t2) describe it as a silly one.


There is one original frequency that is patently yours ..

The challenge is to find it. Embrace it and yes STICK to it.

Tuesday, January 26, 2010

Configurable VS Cogs Products

To my experience I can classify a Product into two types Configurable and Cogs Product.

Configurable product
A Configurable product is a product that is wired to a particular algorithm or logic. What really changes are the actual parameters that feeds the logic. Usually those parameters are written as XML configuration file or in tables whatsoever.

Configurable products are fast to develop and easier to test. The reason is that you collect certain requirements and develop this product as per these requirements. The challenge is to make your product as generic as possible so it can fit as many of your clients.

Example
Say I have a product that can draw a map of customers usage of electricity in a given year. This product is configured to take as an input Customer Table Name, the table should contain Location field which represents the location of the customer and the a Load field to create the legend. So you might have the Location field named as CustomerLocation or Customer_Location or Customer_Position or Customer_Lat_Lon doesn't matter. As long as you configure the product correctly you don't need to change your Customer Table name or its fields.

However, the product won't work if you have for example the Load field in a table while the customer data is in another table, because this violate the infrastructure of the product.



Cogs Products
Think of Cogs product as a framework application replaceable Cogs (Classes). So the product is a collection of classes that talk to each other via the Interfaces ONLY. And its important the word interface in this context. Oriented approach plays a major rule in the cogs product. Clients can write their own logic that Implements those interfaces and literally replace the built in logic with their own.

Cogs product require a neat UML design and a decent knowledge of Design Patterns.

Lets have an example.


Example
Lets take again our product in the example above and alter it a bit. The product have a class called DrawMap that Takes in its constructor ICustomer interface. ICustomer interface has method called getLoad and getLocation. The beauty of this design is that I can write my own Customer class lets call it MyWeirdCustomer that implements ICustomer and write the methods getLoad/getLocation which reads from a table or file or whatever and return the load and location respectively. Feed that object to DrawMap class and TADA. It works. The reason is that DrawMap doesn't care what your class is or how it is reading the load or how it is calculating the location. Whether you are asking Google Earth to geocode your location or have your location as native X/Ys; What DrawMap only cares about is that you implements ICustomer and that you have the function getLoad/getLocation.



The best approach is to merge the Cogs Product with Configurable one giving your client the ability to customize their code and have a configurable product. Having a hybird like product