To thoso who claim That Hamas broke the ceasefire
January 7, 2009
The ceasefire agreed upon by both sides was supposed to ensure two things:
1- The first was the stop of the Hamas missiles falling on the portions of the land Israel invaded (and occupied by force) back in 1948.
2- And that Israel would end it’s blockade on the Gaza strip.
http://news.bbc.co.uk/2/hi/middle_east/7460504.stm
That was supposed to have started on 18 June 2008 at (0300) GMT and should’ve been applied for six months. Unfortunately, Israel did not stick to this agreement (as usual). They blocked gas supplies and stopped food going in to Gaza numerous times. You can search for many articles that talk about the Israeli blockade efforts … I will just mention some here
http://www.independent.co.uk/news/world/middle-east/gaza-security-costs-girl-her-dream-1015852.html
http://www.independent.co.uk/news/world/middle-east/israels-economic-blockade-stops-gazas-strawberryfarmers-selling-their-crop-400562.html
http://www.latimes.com/news/nationworld/world/la-fg-gaza14-2008nov14,0,5998371.story
http://www.guardian.co.uk/world/2007/jul/06/israel
All these articles were published after the ceasefire agreement … which means that Israel did not stick to the agreements … and kept on blocking all supplies from the 1.5 million Palestinians in Gaza as a group punishment for them electing Hamas back in the January 2006 elections.
So the 6 month ceasefire ends, on December 18th 2008 and it’s supposed to be renewed, right?
I seek your answer out of some common sense … why would Hamas (the elected democratic government) agree on the renewal if Israel didn’t do it’s part of the agreement the first place?
One final thing is that the Hamas militia’s are operating from the border’s of the tiny strip (check google maps to know it’s size in reality), and that is why Israel has not sent it’s missiles to the heart of the city. Why would they now hide inside a UN school?
Remember … these people hiding inside the school were of the same faith as of those Hamas militia’s … why the heck would they use children and women as shields? It’s not like Israel is winning this battle till now so that Hamas militants need to hide behind civilian targets as what was in Iraq when the land was actually occupied by the US.
Oh … and have we already forgotten about the Qana massacres in the UN building and the refugee shelters in South Lebanon that were bombarded by ISRAEL … and of course they denied responsibility and said it was a MISTAKE!! My friend the history of that country is full of bloodshed and they always deny responsibility … explain that to me please?? Is that army run by a bunch of Morons? and if so … how does the US support them with weapons? Shouldn’t these things be kept away from morons??
I leave you with a couple of photos that show what is going on there … if you are weak hearted DO NOT OPEN these links.
http://www.soundofegypt.com/Palestinian/adult/massacres.htm
http://en.wikipedia.org/wiki/Qana_airstrike
http://www.indybay.org/newsitems/2006/07/30/18292861.php
http://www.youtube.com/watch?v=wl3W_8Ya6RU
http://www.informationclearinghouse.info/quana_01_19_03.htm
http://www.ynet.co.il/english/articles/0,7340,L-3325489,00.html
Peace.
Copied…
Raramorph The Ruby Arabic Morphological Analyzer
September 14, 2008
Raramorph is a Ruby 1.9 gem for an intelligent port of Aramorph based on Buckwalter Arabic Morphological Analyzer Version 1.0 , Released By eSpace Technologies.
The first Release of Raramorph full morphological analyzer tools , provided with an executable or a library can be included in the code , with basic developer tools , to be extended in the next version.
Due to algorithmic and data structures optimization in Raramorph , we enhanced the performance of the library reaching an average of 4 – 5 seconds in loading the dictionaries which was the main bottleneck in the java raramorph reaching to 10-11 seconds and average of 2-3 seconds in parsing meduim sized files and printing the output file.
Installing Raramorph :
gem install raramorph ( note that raramorph requires Ruby1.9 )
Usage :
for exectuable :
raramorph input_file_name output_file_name -v -a -v verbose mode ( optional ) -a arabic output ( optional )
In Coding
require ‘raramorph’
For analyzing a file
Raramorph.execute(input_filename, output_filename ,verbose = false, not_arabic = true)
You can use functions like analyze_token , tokenize , segement_word all as static methods in Raramorph class , In the next Release developer tools will be more stable including more features for analysis and finding the morphological solutions , which can be used in searching and mining engines.
Also Raramorph -ferret adapter is to be released soon , for helping in the morphological analysis in search engines.
Raramorph Source Code is avaliable at :
http://github.com/espace/raramorph/tree/master
SystemVIPC now compatible with Ruby 1.8 and Ruby 1.9
September 9, 2008
SystemVIPC is a Ruby 1.8 module for System V Inter-Process Communication: message queues, semaphores, and shared memory.
eSpace Has released a version from SystemVIPC-0.8 RC1 that is compatible and works fine for Ruby 1.8 and Ruby 1.9
It’s really nice to work with SysVIPC with its simple used APIs , Here I’ll provide a simple tutorial for using SysVIPC Shared Memory.
Downloading and Installing
- Download SysVIPC Compatible Release for Ruby 1.8 , Ruby 1.9 at : http://github.com/espace/sysvipc-0.8-rc1.git
- Extract the Source , then run : ruby1.9 extconf.rb ( note : run with the ruby version you want ) then : make install Makefile
- You will have the sysvipc.so file appearing now
- In all cases you have to put these lines of code :
require ’sysvipc.so’
include SystemVIPC
Shared Memroy Example
## Testing Shared Memory
- $key = ftok ‘/tmp/shm’ , IPC_CREAT
- $sh = SharedMemory.new($key, 33554432, IPC_CREAT | 0660)
- $sh.attach
- child = open(”|-”,”w+”)
- if child.nil?
- $sh.write(’In Shared Memory’)
- sleep 2
- $sh.write(’now showing you the world!’)
- else
- sleep 1
- puts $sh.read(100)
- sleep 3
- puts $sh.read(100)
- end
Lines 1 , 2 , 3 we convert the path name into as SysVIPC key , then we initiate if necessary 8 MegaBytes shared Memory Segment associated with key , then finally we attach the shared memory segment.
lines 4 , 5 we for a child for the process
At lines 6 , 8 we use the SharedMemory method write to write two data items to the shared memory segment
lines 11 , 13 the forked child process reads the data written by the parent process in the shared Memory segment and prints it.
sleep call is used for synchronizing the events..
Hope this is helpful….
View The SystemVIPC documentation at : http://sysvipc.rubyforge.org/
Push Server Technology in Ruby On Rails with Juggernaut
July 26, 2008
For an application that requires communication and interactive communication between the users , chatting is one of the most suitable to make you achieve this aspect . A lot of chatting programs are availiable , alot of chatting sites are availiable , but if you want to make a browser based chatting through your application , this might seem to be a little bit complicated.
The main problem is that , Our traditional browsers pulls the page from the server using requests and the server replies with a response , this model is not applicable to use in a browser based chatting application , as what is supposed to happen when client X send the data to client Y ? Client X sends the data to the server then the server pushs this data to client Y , In our traditional model the server can’t send the data to the browser without a request from the client , this puts to us limited choices to implement this , as periodically asking the server for new data which is not efficent and highly costing.
So what is the solution … ? PUSH SERVERS TECHNOLOGY
Push technology, or server push, describes a style of Internet-based communication where the request for a given transaction originates with the publisher or central server. It is contrasted with pull technology, where the request for the transmission of information originates with the receiver or client. A lot of Push Servers have been introduced .. I looked at most of them the most exceptional one , was the Flash Media Server But its not free for more than 10 connected users , and simply you can look at its price to know why its not feasible to be used by startups
…
So as working with Ruby On Rails , I searched for a neat Ruby On Rails solution , this was the result … Juggernaut Push Server Plugin . This was an excellent solution for me… However let’s take a look at Juggernaut.
Juggernaut is a push server written in Ruby , that can make your application interactively communicate with the server. Juggernaut uses flash objects , javascripts , rails code .
How does Juggernaut work ?
Juggernaut uses a flash object in the browser with a server socket , which makes juggernaut work on almost 90 % of the current browsers , as it only requires flash 8.
Juggernaut Consists of three main parts
- in-browser/client side elements
- a stand alone push server and
- Rails elements to tie everything together.
So this is a simple chat scenario….
- Browser connects to rails server , recieves the required javascripts , SWFs files ( Element 1 )
- The browser creates a flashXML socket with the push server ( used for listening ) ( Element 1 )
- The Client sends the data using AJAX method to a controller. ( Element 3 )
- Rails send the data to the push server using the Juggernaut plugin methods ( Element 3 )
- Juggernaut push server broadcasts the data to the channels ( Element 2 )
- Clients receive the new data using the flashXML socket and updates the dom elements with Javascript ( Element 1)
Juggernaut has different modes of operation , the data can be sent to a certain channel ( no. of users ) Or to a specific user .
Advantages of Juggernaut
- Allows a real time connection with a client – Rails can literally push javascript in real time to the client which is then evaluated.
- Using flash sockets allows us to use different port other than the rails application port , which helps us not to overload the application server with requests which may lead to crash the application , thats why we need a stand alone application server
- Push server – written in Ruby using EventMachine. EventMachine has a non-blocking IO so scales very well
- Integrated, as a plugin, into Rails.
- Subscribers can subscribe to multiple channels, and broadcasters can broadcast to multiple channels.
- Broadcasts can be made to channels, or to a specific client.
- Connect/Disconnect triggers.
- Authentication support.
- Uses Flash 8 – installed on more than 95% of computers.
- Supports all the major browsers (uses ExternalInterface): Firefox 1+, IE 6+ and Safari 2+
My friends and I made juggernaut plugin to add a secured chatting sessions to juggernaut using RSA or DES encryption algorithms , I’ll write a blog post about it soon.
So How can I use juggernaut..
This is a very good tutorial about installing and using Juggernaut in your application , it is quite straight forward in linux , but it has some problems in installation with windows and it solved here
Hope this was helpful
Control your Admin pages in Radiant applications
July 20, 2008
Radiant is a cool tool for managing the contents of a website , however many times you will feel that you need to need to customize things in Radiant , but its hard to do because of the radiant structure which makes the radiant code not visible directly to you , lack of documentation in creating extensions , but we can overcome by a simple way , which is trying to control the Radiant Page without editing the main Radiant gem Code through some Radiant and Rails Facilities.
I was working in a project where I needed to edit the ( pre-created add page ) view for the admin , to add in certain cases some buttons , links , page parts with new actions to be added . The solution is quite simple…
It is assumed that you have a fair knowledge with Radiant extensions to complete through the steps.
Steps :
1 – Appending code to a written action in the radiant controllers
- In the activate method in the x_extension.rb file in your extension folder , Open the controller you want to add the functions in , use the rails call back functions ( after_filter , before_filter ) to append the code to the required action
Admin::PageController.class_eval do
after_filter :this_is_a_function ,
nly => [:new , :edit ,:update]
private
def this_is_a_function
# do your code
end
end
2- After adding the back end code we need to put the display to this code in the Radiant page , we can use the radiant ( admin.page.edit , admin.tabs ) to append objects to specific regions in the page , this is the attributes the admin.page.edit object has , these attributes defines certain regions in the page , where Radiant uses these regions to divide the page . You are able to edit in any of these regions , under any conditions without affecting the existing Radiant gem
@regions={:form=>["edit_title", "edit_extended_metadata", "edit_page_parts"], :form_bottom=>["edit_buttons"], :parts_bottom=>["edit_layout_and_type", "edit_timestamp"], :main=>["edit_header", "edit_form", "edit_popups"]}>
( admin.page.edit ) attributes
Example :
Add a button to the bottom of the form in case the page is having a certain page type ( Archive , normal , not found …) , Add a select list for the user to choose an element in the bottom part of the page
- Just add the following lines in your activate method in the x_extension.rb file
admin.page.edit.form_bottom << “add_button”
admin.page.edit.parts_bottom << “select”
In these two lines , we tell the radiant to add partials in the named regions ( form_bottom , parts_bottom ) to be render , as the regions are arrays of partials and the radiant renders the partials in the regions.
- The only remaining thing is to create the partials
A. create folder called admin and inside it add the page ( As we write the partials in the admin namespace )
B. Add the html code you want in the partials you want , you can add conditions inside the partials to make it rendered in some specific page claasses
3. You can add specific page parts to a certain class of pages by the same way of adding actions to controller , you can use the after_save call back and add some code to add a page parts to the page as follows :
Admin::Page.class_eval do
after_save :add_parts
def_add_parts
if this.class_name == “X”
this.parts << PagePart.new(:name=> “x” , :filter_id => “y” , :page_id=>this.id )
end
end
end
This will add a part for the class of pages you choose ..
Hope this will be helpful
Cooking PopCorn with Cell Phones !!!! Is This Possible ?
June 23, 2008
One of my friends sent me a link a couple of days for a youtube video showing some friends using their cell phones radiations to cook the kernel of popcorn (Video is in the bottom of the post ) , and actually they’ve done it !!!!! But What ? Is this possible?
The answer is no as i read in Wierd Blog;. They interviewed the University of Virginia physics professor Louis Bloomfield and this was his comment.
“[The videos] are cute,” said Bloomfield in a phone conversation . “But that’s never gonna happen.”
In a microwave oven, energy excites the water inside popcorn kernels until it turns into highly pressurized gas, causing the kernels to pop. If mobile phones emitted that much energy, the water in the fingers of people holding them would heat up.
“It would hurt like crazy,” Bloomfield said. “Cellphones probably warm your tissues, but studies indicate that’s not injurious.”
Bloomfield, author of How Everything Works: Making Physics Out of the Ordinary, dismissed theories bubbling up in comment threads about the videos that suggest harmonious vibrations are heating the corn.
“Ringing the phones doesn’t help because they’re interfering with each other and receiving a signal [from a cellphone tower] — not transmitting it,” he said. Furthermore, while it is possible to heat with sound, it’s not likely to happen at the low volume emitted by a mobile phone. “It would be like gathering opera singers together to sing, and trying to make the corn pop,” Bloomfield said.
He also said that the trick in the video they may had put a boiler below the table or stuff like this , but this is still weired …
I guess the guys weren’t doing this just as a trick or fun … May Be its a simple message about how HARMFUL the CELL PHONES are .. and how we are living in an electromagnetic field of waves …. living with us
May be some days with the more evolution in radio magnetic waves these side effects disappear .. OR may be cooking popcorn with cell phones will be true for our electromagnetic world we live IN ……
Here is the Video Watch And Enjoy
Facing problems while configuring anything in linux is a normal thing .. may be its boring and tiring .. but its really interesting when you solve them..
As a linux starter i face some problems while configuring ruby on rails environment for linux .. Here they are
Note : Sure before any thing you need to get ruby and rails installed
- sudo apt-get install ruby
- sudo apt-get install rubygems
- gem install rails –include-dependencies
1.Problem :Any Gem that lets you choose between mswin32 and ruby ( and of course you choose ruby ) is installed
- Solution : Simply this happens because these gems require compilation so just give them the tool
- sudo apt-get install g++ ( Now you are done and can work )
2. Problem : While Installing A gem it tells you this: Could not create Makefile due to some necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
- Solution : This Happens because the ruby1.8-dev required library is not installed so simply
- sudo apt-get install ruby1.8-dev Done
3. Problem : Always installing rmagick gem is a problem but i think its solution in linux is more simple than windows
- Solution : 3 Steps ( Download imagicmagick , The Lib Magick library , Then the Gem )
- sudo apt-get install imagemagick
- sudo apt-get install libmagick9-dev
- gem install rmagick
4. Problem : The great Problem of the file ( /tmp/mysql.sock ) which makes you not able to use rake db:migrate or any other access to the mysql databases
- Solution : This Problem arises as the mysql.sock file location and a name has changed during newer versions to be installed in this silly location ( /var/run/mysqld/mysqld.sock) . Really Boring… So now we have to make a symbolic link and also change the name so do this
- ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
These Problems were very annoying and tiring for me and i hope it helps
Live From MintWorx …. Go and Rock It !!!!
June 9, 2008
MintWorx is an online software project management tool offering different facilities and some new perspectives for the software project management..
If you are a startup don not want to bother your self with management , Secretly Go Get MintWorx now ; )
If you are in your graduation year , tired with heavy process documentation or even don not have a process , grab your group and Welcome in MintWorx World
If you are a freelancer willing to work , even joining a company , its MintWorx what are you searching for…
MintWorx.. Has now A beta Release .. Come in and Take A Look
MintWorx Team:
Moustafa Eamara :
- Project Coordinator
- Head System Analyst
- Developer
Ali El Said Ali:
- Head System Designer
- Developer
Mahmoud Basiony :
- Head Quality Assurance
- Graphic Designer
- Developer
Mohamed Gaber:
- Head Tester
- Developer
Ahmed Fouad :
- Head Technical Writer
- Graphic Desinger
- Developer
Dont Forget :www.mintworx.com





