March 22, 2011

Survive or Die

Those that are very vulnerable and susceptible are gonna get sick and die; and those people who are gonna survive, are going to have some kind of resistance which they are going to transmit to their descendants.

March 15, 2011

God made it the right way, we are far off the road

When I look at myself my body and my muscles, I say to myself, I am a strong guy. But this strong arm is made of teeny-tiny bity cells.  Is any one of my muscle cells stronger than others? What makes it stronger>? some chemicals or proteins in a cell that are niot in another? I think they should be pretty mych all the same. (please disprove me). what about between two people?

So we should be able to make structures that are thousands of times strunger than each of its components in the best energy efficient way. The truth is that, in the creation of human beings we are very energy efficient. we just have 3 basic meals a day but we are very strong and intelligent/ for example we can easily lift a 20 lbs of load and carry it but to produce the energy for the same effect we have to use oil to make electricity  to make a single robot do the same thing. Do you have any idea how much oil we would need for that single job? I don't have either, but I know that a single drop of oil is the accumulation of thousands of living with accumulated energy of the whole earth.  compare it to a single meal that we have

February 20, 2011

HTTP Web Server

As part of a project I got involved in programming a web server from scratch! It was quite interesting to implement the way HTTP works, specially the HTTP POST command!

February 10, 2011

Distributed Clustering

One of the important features in a WSN is clustering as it can be highly helpful in data aggregation, distributing policies among nodes and setting controllers, assigning the overlay topology to reduce energy consumption and etc.

I am trying to come up with a distributed protocol for WSNs where we neither have the location information of the nodes or their mutual distances, all we have is the local connectivity for each node in a distributed fashion. I have found some interesting former research in this regard but I am a little puzzled for now! :)

January 5, 2011

A Programing Contest! YYYYehhhhhaaaaaaaaaa!

So here is the Facebook programming contest. Who is the man to compete? I love it.

November 13, 2010

Installing GIT on Ubuntu 9.10

On the to install GIT over Ubuntu 9.10, the instruction of the Github website didn't work! So I had to scratch my head and investigate it myself.

The instruction being as:

It is recommended to only use the Ubuntu package management system to get a basic Ruby environment. Then you will use gem to install all your ruby packages.


So to get started, you will need to install these Ubuntu packages:

$ sudo aptitude install ruby-dev libopenssl-ruby rubygems

You will also need to install the development package of your database client library, for example in the case of sqlite3:

$ sudo aptitude install libsqlite3-dev

You can now install Rails and Radiant using the gem command:


$ sudo gem install rails radiant

You will also need to install the Ruby wrapper for your database client library, for example:

$ sudo gem install sqlite3-ruby

Once radiant has been installed successfully, you need to add the directory containing the radiant command to your PATH. If you’re using Bash, you can add a line like this to your .bashrc file:



export PATH=$PATH:/var/lib/gems/1.8/gems/radiant-0.8.1/bin


Right at sudo gem install sqlite3-ruby I got stuck. I tried a lot of different suggestions available online, not sure if athey had any impact or not but I think this is what solved my problem: and because of a versioning mismatch I was not able to install it.
  • remove ruby 1.9 and ruby 1.9.1 and install ruby 1.8 and ruby gems 1.8.
and instead I had to add /var/lib/gems/1.8/gems/radiant-0.9.1/bin to my PATH.

----
Then, you need to install GIT. Ubuntu recommends to use GIT, first you must have a public SSH key, so we make one:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$  ssh-keygen -t rsa

add your public key to your github account https://github.com/account

$ sudo apt-get -y install git-core gitosis
$ sudo -H -u gitosis gitosis-init < ~/.ssh/id_rsa.pub 
 
You'd get something like
Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Your gitosis is installed!

November 12, 2010

Machine Learning

"All models are wrong, some are useful." - George Box

From the interesting talk by Hilary Mason.

October 11, 2010

Java Getting Bigger

Oracle publishes: Oracle and IBM Collaborate to Accelerate Java Innovation Through OpenJDK [Link].

This means a counter act against the great effort of Microsoft to stabilize its .NET framework. It means two giants of java will cooperate to gain better quality java, Oracle through the formerly SUN JDK, and IBM through OpenJDK. A neat competition and coordination. I am eager to see what is going on to the JSR!

Entropy for Dummies

The entropy is the expected amount of information you get in a sample of a distribution. You can think of it as "how surprised are you, on average, on seeing a sample of that distribution".

An unbiased coin toss has one bit of entropy, as any way is equally likely, but a toss from a coin where both sides are heads has entropy 0, as you're never surprised when seeing its results.

The entropy can also be seen as a constant minus the information gain of a distribution over the uniform distribution (and this divergence, as you know, is the number of bits you "save" when you use a code based on the actual distribution instead of on the uniform distribution).

it's best to get used to it by seeing how it works in theorems and algorithms, and for this I recommend Davd Mackay's book, you can get the PDF from here.

Source.

October 10, 2010

Wikipedia!

Today (it is 1:23 AM now) I started my very first contribution to wikipedia in Persian (Farsi) by the definition of polyhedron or چند وجهی as a beginning. Feels good! :)

To add your language (e.g. Persian) to the definition of a word I followed the following guide from here:


To link to a Hindi-language article from a relevant article in another language's Wikipedia, go to the bottom of the other language's article and add a link like this:

[[hi:Article title here]]

(For example, the bottom of the English Wikipedia article "India" contains a link, [[hi:भारत]], to the Hindi Wikipedia article "भारत".)

You will probably see other languages there (French, German, etc) with their links. If you do, then please add the Hindi link in the appropriate spot alphabetically; this helps us keep everything sorted.

October 8, 2010

Age of Data

Recently I have been busy implementing a C compiler as part of the Programming Languages and Compiler course at UTSA. This project is to be built on POET language.

Apart from school, I was interested in the "Journalism in the Age of Data" video post by Geoff McGhee.


Huge amounts of data available around us means something. Extracting and visualizing these data is quite challenging.

October 3, 2010

Matt Ridley: When ideas have sex.

I am pleased to announce that I succeeded in contributing to the TED.com community. By translating the fantastic talk When ideas have sex by Matt Ridley, I have the honor of letting a large group of Persian speaking people (across Iran, Tajikistan, Afghanistan, ...) to benefit from this community.

You can access the translation either by choosing the Subtitles in Persian (Farsi) under the video, or through my TED.com translator page.

*****Service, is what matters.*****