Ahmed Kotb Main Blog



Overflow ?! :D


One of my friends (Mohamed El Geweily) sent me this image yesterday , hope you like it

this is a 1440 x 900 version

and this is 720 x 450 version

you can tell your opinion here in comments or contact Mohamed directly on his mail


since i have installed ubuntu 10.04 ,  i have noticed that the icons in the system menu is missing ,  like this

actually i didn't bother .. but today i had some time to kill so i searched about that issue and found that it is a known bug since karmic and the solution is not that hard

here are the steps :

  1. Press Alt+F2 ... type gconf-editor and press run
  2. navigate to : /apps/desktop/gnome/interface
  3. and make sure that the menus_have_icons is marked
here is the gconf-editor screen

and you will have your icons back :)

i also noticed that this option brings icon to many menus in Ubuntu not just the system menu
here is the bug page: https://bugs.launchpad.net/ubuntu/+source/gnome-panel/+bug/442973
hope that was useful


unix2dos and dos2unix were handy tools used to convert files' endings from/to windows and Linux.
after i installed ubuntu 10.04 then installed the tofrodos package as usual i was surprised that the two programs doesn't exist , after some searching i discovered that the programs were just given different names
the unix2dos become todos
and the dos2unix become fromdos
you can adopt to this new names or give them aliases if you wish...
hope that was useful.


while i was reading the git community book , i have noticed this paragraph in the first chapter

It is important to note that this is very different from most SCM systems that you may be familiar with. Subversion, CVS,Perforce, Mercurial and the like all use Delta Storage systems - they store the differences between one commit and the next. Git does not do this - it stores a snapshot of what all the files in your project look like in this tree structure each time you commit. This is a very important concept to understand when using Git.
actually i didn't believe that ... i thought that would make git the most space inefficient scm ever created ... although data is compressed before storing but still each new change to a file however small will make git store ALL that file Again to the repository !!!!

so to make sure of that i wrote the following script

git init
while [ $i -lt 20 ]
 echo commit $i
 du -hs
 git add a > /dev/null
 git commit -m "commit $i" > /dev/null
 echo $i >> a
 echo '--------------'

the script appends one character to the file then commits the changes , at each commit it prints the size of the repository.
during the 20 commits the size of the repository grew from 1020K to 7.1 MB !!!

off course that is not the full story , git uses something called Packing ... it stores large number of objects in the same file using delta-compression , so data is not written more than one time , still newly created objects are stored again so periodic repacking is needed to reduce the repo size.

lets try to execute git gc in our repo
it prints the following
Counting objects: 60, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (40/40), done.
Writing objects: 100% (60/60), done.
Total 60 (delta 20), reused 0 (delta 0)

and the size of the repo became 1.3 MB !!! that is just great ...
so git is really space efficient compared to others.


This term I had to do some work on matlab so I installed the linux version but I found something very irritating in the guide gui builder , the gui wasnt stable at all and every time I move a button or any control all the window flickers like this …

at first I thought compiz was the reason for this but it turns out that disabling compiz has no great effect.
after a lot of searching I found that the reason of the problem was Java !! … matlab didnt find the jre location therefore couldn't render the gui well,
so a the executing this simple command in your terminal solves the problem

export MATLAB_JAVA=/usr/lib/jvm/java-6-sun/jre/

note : you have to replace the path on the previous command with the correct path of the jre


Ubuntu 10.04 LTS

it has been long since my last post but today Ubuntu 10.04 was officially released and available for download with lots and lots of new features ...the sad news is iam still using 9.04 and i dont have any time for a clean install due to study and assignments :(

which reminds me about a program that i use to manage my todo lists and i wanted to blog about but unfortunately there was no time for it either ...
Getting Things Gnome is a small program to manage todo lists and tasks

pretty list , isn't it ? :)

just found that it will be getting an integration with online services like remember the milk which is great..
any way enjoy Ubuntu :)


this is just an announcement
today i have put the chrome minesweeper extension code in github so any one can view/fork it
github link : http://github.com/ahmedkotb/ChromeMinesweeper


Recent Posts

Recent Comments



The next version of Ubuntu is coming soon


My Stats