Wednesday, August 14, 2013

5 years of kotbcorp

Two days ago this blog completed its 5th year  :).
So congratulations to my self and Thanks for the few followers that have been here for the past 5 years.

You can view site statistics here.

A lot happened in the last 5 years, good and bad stuff, hope the next 5 years are going to be better for me and for the readers.

Ahmed Kotb

Sunday, August 5, 2012

Signal Flow Graph Solver (sfg.js)

Hi it's been a while since i have posted here (about 1 year) and i apologize for that,a lot happened in the last year that prevented me from keeping this blog updated.
Any way this post is about a project that i have been working on in my free time.
It's a signal flow graph solver made entirely in javascript. it might come handy in solving simple problems or for demonstration of signal flow graphs.
Here is a quick -not so fancy- video about the application

I have released the source code on github under the mit license,so check it if you are interested.
hope you might it useful.

Friday, May 27, 2011

Mimic Compiz Zoom in Windows 7

The most thing that i miss once i log into windows is the compiz zoom using the winkey and the mouse wheel feature on linux , i tried to search for alternative but with no luck each time till i read an article recently on lifehacker which shows that the new built in magnifier in windows 7 has a mode to magnify the whole screen rather than certain part (aka docked mode) , that was great news except the shortcut keys are Winkey +/- and can't be changed !!.

After some searching i found a program called autohotkey that could serve me in solving this issue , any way if you aren't into technical details you can grab the compiled version and start using it immediately.
Otherwise , here is the complete source code of the script
; Created By :
;     Ahmed Kotb on 27/5/2011
; licensed under :
;     Creative commons Attribution 3.0
; version :
;     1.0

; A small script that enables you to zoom in/out using the winkey
; and mouse wheel instead of winkey +/- on windows7 magnifier program

SendMode Input
SetWorkingDir %A_ScriptDir%

;zoom in
#WheelUp::send #{sc4E}
;zoom out
#WheelDown::send #{sc4A}

You may need to alter the default zoom value instead of 100%  to a more usable amount , iam fine with 25%

Hope you find it useful.

Thursday, October 21, 2010

Android Art

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

Wednesday, July 21, 2010

Missing Icons in Gnome System Menu

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:
hope that was useful

Wednesday, June 23, 2010

missing unix2dos and dos2unix in ubuntu 10.04

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.

Saturday, June 19, 2010

git packing

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.

Tuesday, May 18, 2010

Fix matlab gui in linux

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

Friday, April 30, 2010

Ubuntu 10.04 Released

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 :)

Sunday, February 21, 2010

5 years of kotbcorp

Two days ago this blog completed its 5th year  :). So congratulations to my self and Thanks for the few followers that have been here for ...