Monday, December 27, 2010

a programming semester

Next semester is a semester, full of programming courses. Distributed Systems (Erlang), E-Commerce project (J2EE and Django), Software architecture with Java (J2EE), Operating Systems (C and Linux kernel's manipulation) and a project on Distributed Information Systems (CORBA,REST,RMI ).
Honestly, this is the first time in my life that I have such an exciting semester. Let's face the real-world applications with academic approach . What are they supposed to teach that a typical-wanna be  hacker doesn't know ??

Tuesday, December 07, 2010

My presentation on DMMS

Here is my presentation on distributed Multimedia systems . I didn't mention the references in my slides. So, if you need them please let me know :)

Friday, November 05, 2010

my LinkedIn and Twitter account

I added my LinkedIn and Twitter account to the right side of the blog . I use these services a lot , so you can be connected with me more within this way ...

Sunday, October 31, 2010

my sight into CS world was worng ?

I didn't blog recently . The main reason was due to the context switching from doing pure CS foundation to more real-world-based applications . If some of the best criteria (based on Joel Spolsky's essay ) for being highly productive programmer (i.e. hacker in my term) are to be  :
  1. Being Smart
  2. Get things done.
I definitely did wrong at the second part , and I don't like it .

Something should change , not in word but in action ; Those changes has already begun  ...

Thursday, June 10, 2010

What Uppsala taught me

The first year at Uppsala University has finished, and like always, I started to think what was the gain of this year .
I think the most important aspect of studying in Uppsala was that they taught me HOW TO PROGRAM MATHEMATICALLY !! This is not a simple matter , specially to a student who had Electrical Engineering background and not Computer Science . Of course, they didn't teach me step by step on how to do it, but they provide some proper infrastructure to achieve this goal .
Unfortunately , I learned it a bit late (mid of May was the "Aha" moment to understand the whole concept ), but when I look back , I'm satisfied with my progress . Besides of some difficulties that this major (Scientific Computing) has , it is very worthwhile for people who want to mix their science/engineering capabilities with high-level mathematical programming . I don't know how I wanted to learn these stuff if I didn't pursue this major , but I know that it changed my perceptive to science itself.  For instance , I always wondered how I can implement a very long formula which expresses a physical rule ! Now , I not only know how to do that , but I can observe the most computationally consuming parts that affect the whole relation .
If you are interested in these stuff , I can explain it in future posts ...

Friday, May 21, 2010

Artificial Life

YES !!
At last , Craig Venter and his team made it after 10 years .
I am so so excited , I even can not type these words ! Craig had a lecture in my university (Uppsala Uni.) this winter and gave a long lecture about their discoveries .
WOW ... this is amazing ; What other things creationists need to believe in evolution ??
I love science , I do love it  . It moves humbly without any exaggeration ...  

Sunday, May 09, 2010

Knowledge and Simplicity

Everything should be made as simple as possible, but not simpler.
Albert Einstein

The Most important thing , I've learned here is to simplify stuff as much as you can "understand" every single detail of it . That's it , no more ....

My conclusion is so close to what Albert Einstein has told before !! But I didn't understand it till I figured out a concept in "Reinforcement Learning" during "Machine Learning" course . I'm used to give up or neglect very tricky and hard problems before , but for the first time in my life (yes,it's sad) , I decided to change my mind.
And guess what ?? By only spending one hour on one page , the result was awesome and I did understand the whole chapter afterwards .

The moral result : NOTHING is hard ; Some stuff just need more focus and dedication ...

That's it friends :)

Saturday, March 20, 2010

Fuzzy image Dilation and Erosion

One of the generic approaches to fuzzy Morphology is the Fuzzy Dilation and Fuzzy Erosion . Based on an trouble that I faced with during the Fuzzy image Analysis course , I decided to publish the Matlab code , based on the paper by "Bloch and Maitre" on "Fuzzy mathematical morphologies: A comparative study" . This is just the implementation of Definition 1 (page 1344 ). Needless to say that next definition are the same to Def 1 . Just play with the parameters :)

Here is the code :

%{
        Fuzzy Dilation and Erosion
        
        Copyright 2010 Vahid Rafiei .        
        This program is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation; either version 2 of the License, or
        (at your option) any later version.
        
        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
        
        You should have received a copy of the GNU General Public License
        along with this program; if not, write to the Free Software
        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
        MA 02110-1301, USA.
%}


% Settings
len=512;
useNoise=0;
strel=1;

%% Define v
if strel==1
x=linspace(-10,10,len);
v=2-(x).^2;
v(v<0)=0;
end

v=v/max(v);
plot(v,'--');


%% define mu
x=linspace(-4,4,len);
mu=3-x.^4+4*x.^2;
mu(mu<0)=0;
mu=mu/max(mu);
if(useNoise)
    mu=mu+0.1*(rand(size(mu))-0.5);
end

hold on
plot(mu,'-','Color','red')


legend({'V','mu'})

% mu and v is ready

%% Definition 1

% Dilation

nalpha=10;
alph=linspace(0.0001,1,nalpha);
deltaAlpha=1/nalpha;

Dmu=zeros(size(mu));

tic
for a = alph
   valpha=v>=a;     
  for x=1:numel(mu)    
      mask=zeros(size(mu));
      mask(x)=1;
      mask=convn(mask,valpha,'same');
      Dmu(x)=Dmu(x)+max(mask.*mu)*deltaAlpha;      
  end  
end
toc

figure(2)
plot(mu,'Color', 'red');
hold on
plot(Dmu,'Color','blue');
legend({'\mu','D\mu'})
title('Dilation (Def. 1)');

% Erosion
Emu=zeros(size(mu));

tic
for a = alph
   valpha=v>=a;     
  for x=1:numel(mu)    
      mask=zeros(size(mu));
      mask(x)=1;
      mask=convn(mask,valpha,'same');
      mask(mask==0)=NaN;
      Emu(x)=Emu(x)+min(mask.*mu)*deltaAlpha;   
  end  
end
toc

figure(3)
plot(mu,'Color', 'red');
hold on
plot(Emu,'Color','blue');
legend({'\mu','E\mu'})
title('Erosion (Def. 1)');


Cheers ,

Sunday, February 21, 2010

Meditate in Science

After years of thinking about what's exactly the difference between super succeed persons (Science in my concern) and ordinary people , I've come up with this :
"You have to Meditate in Science .... There is no other way".
The set point was an article in Newyork Times ; This article is about the importance of Practise and hard working which is not new of course . The difference starts by this sentence :
Mozart played a lot of piano at a very young age, so he got his 10,000 hours of practice in early and then he built from there.
 This is exactly what I want to talk about : 10,000 hours ! If you spend 3 hours a day on an specific work , it takes about 10 years and if you devote more ,say 6 hours per day , it takes 5 years to be master in your stuff .

This kind of devotion needs a self-disciplined mind and a powerful motivation , and that's why I say you have to meditate in science . In meditation you almost cut your communications with around world and just concentrate on your breath, for example . But if you extend this mindset to your specific interest (any interest , from music to science ,etc.) and start to meditate on it , you'll get there so sooner as you imagine .
Again , it needs hard self-discipline, but as soon as you start it, you will get used to it little by little . Inertia occurs when you want to start something, but after that stage, another inertia needs to stop you ; and in your situation you don't need second type of it anymore :)

Good luck on your journey ...

Saturday, February 13, 2010

New mapping technology from Microsoft.


This is what that changed my viewpoint to Microsoft Research for ever !!
This fantastic brand-new technology from Microsoft is exactly what I though about in Visualization course . I wanted to mix the same idea with Google Map , but I didn't know how to start :)
Anyway , Microsoft implemented it comprehensively , and I'm really excited about it . This is a glamorous technology that delighted me deeply .

Well done :)

Where is the privacy Google BUZZ ?

Lately , the Google company have presented their new brand product , Google Buzz . Though, it seems that Buzz is an interesting technology , the level of privacy is awful ! As soon as I award this problem, I turned it off . Mail address is a key in privacy and personal stuff and Google should think about it more conservative . I Hope they fix this problem soon ....

Update 1: This is the first attempt of Google to fix the problem .

Monday, February 08, 2010

So long till now

OOPS ! It seems that I'm not an active blogger anymore !! I think it's because of social networks like Facebook and Twitter . They are really addictive .

Not really important .... I'll be active more by the end of February and the nature of posts tends to be more technical and less personal . 

Monday, January 11, 2010

TODO list for 2010

For coming year, I want to do some interesting works and I publish them here to reinforce my motivation !

1- I've decided to open source some of my projects . I'll do it little-by-little . I think they are 7-8 projects . I want to actively contribute to open source world. I don't want to shame when I face the sentence "Speak is chip, Show me the code " anymore !!

2- I've decided to switch to "Front-End" world (mostly JavaScript) for fun , beside of my main area of interest (Computer Vision).

3- This year is a so critical year or me . Lots of works are waiting to get done. Fortunately , I've become more self-disciplined nowadays, and this rises my expectations ....



** Any suggestion guys ??