Saturday, June 30, 2007

Сон...

Позавчера ночью мне снилось, что Путин принял Ислам. Причем перед уходом в отставку и публично, на специально созванной для этого пресс-конференции. При этом убеждал всех собравшизся в том, что права мусульман и в самом деле ущемлены, и что он, хоть и уходит в отставку, но намерен всячески способствовать исправлению сложившегося положения. Напоследок, в свойственной ему манере расставлять паузы между отрывисто произнесенными словами, он засвидетельствовал, что Бог только один и нет у него сотоварища и Мухаммад (сас) его посланник.

Проснулся с осознанием того, что это было-бы очень хорошо. Хотя потом стал думать, что может и нет :) Но Аллах ведет прямым путем кого пожелает и не будет в этом факте ничего удивительного.

Wednesday, June 27, 2007

Words in a text

Here is shown the method GetWordsFromString(string s), which is takes some text on it's input, and returns list of words used in text sorted by number of occurences of each word in the text.

        public class WordsComparer : IEqualityComparer<string>
{
public bool Equals(string x, string y)
{
return x.ToLowerInvariant() == y.ToLowerInvariant();
}
public int GetHashCode(string obj)
{
return obj.ToLowerInvariant().GetHashCode();
}
}
private static Dictionary<string, int> GetWordsFromString(string s)
{
Dictionary<string, int> resultDictionary =
new Dictionary<string, int>(new WordsComparer());
Regex wordsRegEx = new Regex(@"\w{3,}");
MatchCollection matches = wordsRegEx.Matches(s);
foreach (Match match in matches)
{
if (!resultDictionary.ContainsKey(match.Value))
{
resultDictionary.Add(match.Value, 1);
}
else
{
resultDictionary[match.Value]++;
}
}
List<KeyValuePair<string, int>> sortedList =
new List<KeyValuePair<string,int>>();
foreach(string key in resultDictionary.Keys)
{
sortedList.Add(new KeyValuePair<string, int>(key, resultDictionary[key]));
}
sortedList.Sort
(
delegate (KeyValuePair<string, int> o1, KeyValuePair<string, int> o2)
{
return o2.Value.CompareTo(o1.Value);
}
);
resultDictionary.Clear();
foreach (KeyValuePair<string, int> kvp in sortedList)
{
resultDictionary.Add(kvp.Key, kvp.Value);
}
return resultDictionary;
}
For example the top 100 words of Tolkien's "The Lord of the Rings" are:

the 33644
and 22049
that 6766
was 6542
they 5214
You 5074
but 5044
his 4833
said 4229
not 4108
FOR 4021
with 3320
had 3245
were 2859
there 2784
have 2691
ALL 2557
him 2474
from 2296
them 2245
now 2205
their 2126
Frodo 1997
are 1818
then 1797
will 1791
out 1645
This 1596
Great 1388
came 1379
what 1357
Sam 1273
Long 1261
could 1235
come 1227
into 1214
more 1207
would 1204
down 1192
one 1172
Gandalf 1167
like 1160
When 1160
your 1155
again 1115
before 1101
some 1093
been 1064
back 1006
Many 1005
away 979
still 970
men 946
Last 903
upon 890
far 884
than 883
about 878
see 876
only 860
did 837
over 834
HERE 833
yet 823
Dark 817
its 809
time 805
has 796
ARAGORN 795
Old 785
well 772
can 761
way 758
went 754
any 743
even 729
must 712
may 712
seemed 712
where 707
our 704
shall 698
know 683
Pippin 676
which 670
looked 637
who 634
little 629
eyes 625
very 619
Hobbits 619
after 616
light 611
while 599
merry 584
Road 574
King 569
through 566
Ring 564
other 564

Tags: Sorting Dictionary by value

Friday, June 08, 2007

Work

Finally, I have almost finished my work on the Barcode generation/reading subsystem. It works fine and allows to store in a barcode a full path to a database (including name) and up to 7 digit number which corresponds to a record ID. Thus, we can code in a barcode any databases with number of records up to 9 999 999. This is good enough I think :)

Мусульмане Бутово провели пикник на природе

[05-06-2007] Около 50 мусульман столичного микрорайона Бутово провели в минувшую субботу, 2 июня, пикник на природе. Под шашлыки и чаепитие на лесной поляне бутовские последователи Ислама приняли участие в спортивных состязаниях и мусульманской викторине. Инициатором встречи стала местная религиозная организация «Милость».
Как сообщил Ислам.Ру глава бутовской общины мусульман Мурат Алимов, мероприятие началось с лекции «Единство мусульман. Способы единения исламской уммы», прошедшей в помещении «Милости». На природе мусульмане провели футбольные матчи между командами мужчин и командами девушек, а также игры по волейболу. Все участники состязаний получили призы.
«Мы надеемся, что в будущем проведение таких пикников станет хорошей традицией», - сказал М. Алимов. По его словам, текущим летом бутовские мусульмане намерены провести еще две аналогичные встречи на природе.

Was taken from http://www.islam.ru :)

Tuesday, June 05, 2007

Regular Expressions for work with HTML

Here is some methods to work with HTML which I have written today. They are pretty simple and don't catch issues like different opening and closing html tags but works fine for me :)

private static string GetStringWithoutHtmlTags(string s)
{
Regex htmlTagsRegex = new Regex(@"");
MatchCollection mCollection = htmlTagsRegex.Matches(s);
return htmlTagsRegex.Replace(s, "");
}
private static StringCollection GetTextInAllHtmlTags(string s)
{
StringCollection resultStringCollection = new StringCollection();
Regex htmlTagsRegex = new Regex(@"<\w+>(?\w+)");
MatchCollection mCollection = htmlTagsRegex.Matches(s);
foreach (Match m in mCollection)
{
resultStringCollection.Add(m.Groups["innerHtml"].Value);
}
return resultStringCollection;
}

Bootovo Muslims community and…

About 3 months ago, our teachers organized the community of Muslims from Bootovo (they live in district of Moscow named Bootovo). The rented the apartment and converted it into the Mosque. It is really small and nice :). They make Djuma prayers on Fridays and conduct a little school. That place is really cool. Last Sunday our community was there. We spent our free day in conversations, playing of football and finally we went to the nearest forest and had some picnic with kebabs :). There were about 15 brothers and 30 sisters on that assembly. Photos will be latter, inshaAllah.

The Mosque in Bootovo (inside)