Are you looking for my non-technical blog?

This is now my technical-only blog, my non-technical blog is here.

31 January 2006

1427 Anno Hijra

Happy new Hijri Year, whish you all the best. Tags: , ,

Google Zeitgeist

Pulling together interesting search trends and patterns requires Google's human and computing power together. Search statistics are automatically generated based on the millions of searches conducted on Google over a given period of time - weekly, monthly, and annually. With some help from humans, and a pigeon or two when they have time, these statistics and trends make their way from the depths of Google's hard drives to become the Google Zeitgeist report. Link: http://www.google.com/intl/en/press/zeitgeist.html Tags: , ,

What is Cross Compiling?

Cross-Compiling is the procedure for building a program for a platform different from the one on which the cross Compiler runs. "Platform" does not only mean the hardware architecture but also software platforms, e.g. the process for building the GNU/Hurd operating system from sources on a running Linux for the same hardware architecture is also a cross compiling. Cross-compilation is typically more involved and prone to errors than with native compilation. Due to this, cross-compiling is normally only utilized if the target is not yet self-hosting (i.e. able to compile programs on its own), unstable, or the build system is simply much faster. For many embedded systems, cross-compilation is simply the only possible way to build programs, as the target hardware does not have the resources or capabilities. Resources: Scratchbox, Introduction to Cross-development for Embedded Linux Wikipedia, Cross-compilation GCC, Specifying Target Machine and Compiler Version Tags: , ,

DLink ADSL Modem - Telnet

You can telnet the D-Link ADSL modem using "root" as username, and your WebUI password. The system is using an Embedded linux by the way. Tags: , ,

Dream TV Horror

On Dream TV - an Egyptian stellite channel - you can see one of the funniest Ads at all. The Ad is about a Cinema complex they own, but the funny part there is that they call Harry Potter ... "The best HORROR movie for the year 2005" !! Tags: , ,

Cairo Stadium Chicks

Egypt is hosting the African Cup of Nations footall competition nowadays. But what I've noticed lately that there are many chicks who go to the Stadium and others painting their faces with the Egyptian flag colours everywhere. I've never seen girls fond of football before, and those few ones who wer into football were used to be ... ehm ... a little bit different from those *nice* ones we see now. So, are we going see more females into football in the near future, or is it just an Egypt-2006 ACN hype. Anyways it is really nice to see the female-effect on the football fans were people stop swearing, cursing, snoring, etc. Girls at The Cairo National Stadium, by Nimrod Kamer Tags: , ,

30 January 2006

Rewriting History Under The Dome

WASHINGTON, The staff of U.S. Rep Marty Meehan wiped out references to his broken term-limits pledge as well as information about his huge campaign war chest in an independent biography of the Lowell Democrat on a Web site that bills itself as the "world's largest encyclopedia," The Sun has learned. The Meehan alterations on Wikipedia.com represent just two of more than 1,000 changes made by congressional staffers at the U.S. House of Representatives in the past six month. Wikipedia is a global reference that relies on its Internet users to add credible information to entries on millions of topics. Source: Lowellsun.com Tags: , ,

29 January 2006

Levi Introduces iPod Jeans

Levi is set to release its iPod-compatible RedWire DLX jeans. The jean, which is said to come out in autumn 2006, will house a separate pocket for the iPod. It will also contain a built-in retractable headphone unit that would eliminate tangled wires. A red conductive ribbon will keep the Ipod connected while allowing users to remove the iPod from their pockets to view the screen. Source: http://www.onimoto.com/index.php?post=49 Tags: , ,

Tracing An Email

The purpose of this guide is to show the process involved in tracing an email. The first step required to tracing an email is finding out the headers of the email. What are headers? Email headers are lines added at the top of an email message that are used by servers as the email goes on route to get delivered. Generally email clients only show the standard To, From, and Subject headers, but there are more. http://www.onimoto.com/cache/50.html Tags: , ,

Egyptian Hackers

The following post has been published on Eglug (Egyptian Linux Users Group) by printf@drupal.org,
I was just wondering if anybody would be interested in such an event? Basically, it should be something like DEF CON, but with more focus on introducing the concepts of and raising the public awareness about the digital world's (in)security as well as providing some means of legal entertainment for the ones with advanced skills. My initial plan was to organize a 2-3 days event with talk sessions/discussion forums about different topics in computer security and on the side a series of challenging games to test the players skills and knowledge.
It is really nice idea to have such kind of events here in Egypt, but the problem is that it is only few people who know what hacking really is. Most of the people here in Egypt and the Middle East think of hacking as the art of using some software tools to get some credit cards numbers or send zillions of packets to a web server to take it out of service. For me, hacking is the art of pushing a system beyond its limits, or forcing it to do things beyond the normal usage of it. I think we may encourage people to participate in some projects like porting linux to new hardwares (smart phones, play station, DSL modems, etc), writing some kernel modules, finding back-doors in some protocols or standards and create tools to use such vulnerabilities, etc.

However we may arrange for such meetings in parallel. A good starting point is a Call for Papers where people shall send some articles or ideas for topics they may talk about. One more thing is having a wiki, which is already there, but more people are encouraged to participate and share their ideas there.

Tags: , ,

Google's Anti-Spyware Project

Sun and Google have teamed up and started a project called Stop Badware. This project aims to expose all the spyware and adware bundled in software and the companies that are responsible. While it's funded by Sun and Google, the research will be done by Oxford and Harvard. Source: Slashdot.org Tags: , ,

Getif SNMP Tool

Getif is a free multi-functional Windows GUI based Network Tool written by Philippe Simonet. It is amongst other things, an excellent SNMP tool that allows you to collect and graph information from SNMP devices. These devices include (but are by no means limited to) Windows 2000 (using the SNMP4NT or SNMP4W2K or SNMP-Informant extension agents, of course!), and other OS's as well as devices manufactured by most major network companies (i.e. Cisco, 3COM, Dlink, Nokia, etc.) http://www.wtcs.org/snmp4tpc/getif.htm Tags: , ,

Linux Gazette Archives

Linux Gazette EZine, making Linux just a little more fun. http://linuxgazette.net/archives.html Tags: , ,

Writing Your Own Toy OS

This is a two parts tutorial written by By Krishnakumar R. in The Linux Gazette EZine, the first is a hands-on tutorial for building a small boot sector, and the second is about using the BIOS interrupts. Writing Your Own Toy OS (Part I) Writing Your Own Toy OS (PART II) Tags: , ,

28 January 2006

P2P Web Hosting

I have an idea fo creating a P2P network - like Gnutella, eDonkey2000, or FastTrack - to be used for hosting web pages. This can minimize the cost of getting a dedicated server and domain names. A web site is a group of files (HTML, PHP, images, etc) having the same ID (protocol://site-name.com). A person can initially have thes pages on his PC and allow them to be shared by the P2P Client/Server when someone requests a page from that site the page is downloaded from the initial host, and cached on the requesters machine as well. Further requesters can retrieve the pages from any of them. The more popular the site is the more hosts it is cached on. This may also help in thecase of free-riders. One problem here is generating the site-names as they must be unique across the whole network, but I think that some distributed Naming Service Data Base can help.

*** Added on 28 January, 6:44 PM ***
It came out that there is such thing already, see Freenet Project
http://freenet.sourceforge.net/

Tags: , ,

iPodLinux

iPodLinux is an open source venture into porting Linux onto the iPod. They have successfully ported a customized uClinux kernel to the iPod, and written a simple user interface for it (Podzilla). Many additional Applications have been written, as well as adding many capabilities not found in Apple's firmware. The bootloader allows for you to choose between either iPodLinux or Apple's firmware each time you turn on your iPod. Tags: , ,

Porting Linux

These guys are porting Linux to some PDA/iMate devices, however they have some nice info there about "What is involved in porting Linux", "Cross Compilation Tool Chain", and "Kernel Booting". Tags: , ,

Mobiles Spex.

All about Symbian, Nokia pones specifications. Nokia 3230, 7650, 3650, 6630 etc CPU, Memory, etc. http://www.allaboutsymbian.com/forum/showthread.php?t=34921 Tags: , ,

25 January 2006

What Do You Do ?

Haven't you ever wanted to know what are those bloggers you used to read for do? what are their profession or studies? Just tell us what do you do? Tags: , ,

Tkinter Layout Management

Tkinter is a good GUI toolkit for python, however they have to add more widgets such as Tree Controls, Tabbed Frames, etc. But what I hated most in it is the layout management, and I was unable to understand how to make the frames and different widgets in them stretchable till I found this tutorial. The problem with most of the Tkinter tutorials that they didn't mention anything about the Grid rows and columns weights and how this weight can affect their stretchability. New Mexico Tech Computer Center (TCC), Tkinter reference: a GUI for Python Tags: , ,

24 January 2006

PGP/GPG and Data Privacy

An article I wrote some time ago - translated into Arabic by Alaa Abdel Fattah - about PGP/GPG and their uses in encryption and data privacy ... but this is the Arabic version of it. http://www.eglug.org/gpg_intro Tags: , ,

18 January 2006

Python Programmers Weblog

Python Programmers Weblog, http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog Tags: , ,

Quaero

Germany and France are negotiating on plans to develop a series of sophisticated digital tools including a next-generation Internet search engine. In a speech this month laying out his 2006 agenda, Chirac spoke to those concerns, saying: "We must take up the challenge posed by the American giants Google and Yahoo. For that, we will launch a European search engine, Quaero.", Quaero, which means "I seek" in Latin. Source: Internationl Herald Tribune Tags: , ,

Telephone Numbers in Egypt

Sometimes you need to know the dial-prefix of a certain governorate (a.k.a province or state) in Egypt, or even you have a phone number and you want to know where it is located in Cairo. So you may use this form in TEData site that checks if the DSLAM in the Exchange you belong to has an available ADSL port to know the exchange name. You may also find the governorates prefixes in the drop-down list there. http://www.tedata.net/ADSL.htm Tags: , ,

Beej - Sockets Programming

This is the best place to learn Socket programming, you may also find useful information in the socket man page on unices. Beej's Guide to Network Programming Using Internet Sockets Tags: , ,

13 January 2006

Eid El Adha Movies Review

Out of those movies that have been in teaters this feast - Eid El Adha - I've seen both "Ouija" and "Zarf Tarek". Ouija was supposed to be called "Sahar El Layaly II", as it is almost the same kind of movie where people look as if they are from another universe, and the script is missing. "Zarf Tarek" is a typical Egyptian Comedy Movie; however it is much better than what I've expected it to be. Tags: , ,

An Introduction to Tkinter - Work in Progress

This is a nice yet incomplete Python/Tkinter tutorial, An Introduction to Tkinter (Work in Progress) Tags: , ,

Bluefish Editor

Bluefish is a powerful editor for experienced web designers and programmers. Bluefish supports many programming and markup languages, but it focuses on editing dynamic and interactive websites. Tags: , ,

Xfce Rulez

Xfce is one of the best looking Window Managers I've seen lately, I've just installed it today and I think I am going to switch from Gnome (i.e. Metacity) to it. Tags: , ,

Get out of Gnome

Once you are logged onto Gnome, you are not able to get out to the CLI once more. But here you are the solution;
/etc/init.d/gdm stop
I think this will work with KDE as well but use "kdm" instead of "gdm" Tags: , ,

12 January 2006

Sqlite - Date and Time Data Types

SQLite handles dates quite strangely. If you create a table and put a date in it, the only way SQLite will take the input is "2004-06-01 12:00:00" anything else it won't recognize as a date and thus none of the date functions will work. Assuming you have a date entered propely (like above) you get date information from the db like so.
SELECT date(DateField) FROM Table; SELECT time(DateField) FROM Table; SELECT datetime(DateField) FROM Table;
If you want unix time (seconds since the epoch) you have to format the output.
SELECT strftime("%s",DateField) FROM Table;
However that will return the time in UTC which is probably not what you want (it's not what I wanted). I want it to compensate for my local timezone and thus you have to tell it to use your timezone.
SELECT strftime("%s",DateField,'localtime') FROM Table;

Related Posts:
Green Data: Pysqlite

Sources: Perturb.org , Sqlite Wiki
Tags: , ,

09 January 2006

Online Pharmacies ... F**K **u!

I am totally pissed off of these spammers who keep on sending me bzillions of mails everyday about drugs, Rolex watches, low prices softwares, or even some cryptica mails written in Turkish. I've switched from MS Outlook to Thunderbird because it supposed to be able to categorize spam mails better, also Evolution on Linux claims that it can fight spam, but it seems that these mother f**kers like to play seek and hide with me. Tags: , ,

Egyptian Python Lovers

Here are the essentials: By the way, non-Egyptians are welcomed too :) Tags: , ,

07 January 2006

Writing Arabic on Ubuntu

بسم الله الرحمن الرحيم
To write Arabic on Ubuntu, first make sure that you have Arabic Language Pack (use Synaptic Package Manager to find "language-pack-ar", and "language-pack-ar-base") I also have "ttf-arabeyes" and "libfribidi0" installed here. By the way there is a package called "language-support-ar" that I think it includes all of the above stuff. Then go to System->Preferences->Keyboard and from the "Layouts" tab add the "Arabi/qwerty" layout. Now right click on an empty area in the "Panel" (The bar at the bottom of your screen) and choose "Add to Pannel" and add the "Keyboard Indicator" and here you go.

Tags: , ,

PyFusker

Python implementation of Fusker Introduction: Most probably you are redirected from Wikipedia to this page, so please if you have any comment on the code just leave it here so that I can improve it. Also if you can help me know why are people interested in the fusker technology that much, and what web sites do you usually fusker.
The Python Code
#!/usr/bin/python
""" PyFusker """
""" Author: Tarek Amr """
""" Version: 0.1 """
""" File: pyfusker.py """
""" Date: 07 January 2006 """
""" Replce [TAB] with \t """
class Fusker:
[TAB]def __init__(self, url):
[TAB][TAB]self.url = url
[TAB][TAB]self.urls = []
[TAB][TAB]self._generate()
[TAB]def _generate(self):
[TAB][TAB]comp = re.compile("\\[.+\\]")
[TAB][TAB]x = comp.findall(self.url)
[TAB][TAB]if not x:
[TAB][TAB][TAB]print "Url parsing error!"
[TAB][TAB][TAB]sys.exit()
[TAB][TAB]try:
[TAB][TAB][TAB]x[0] = x[0].strip("[")
[TAB][TAB][TAB]x[0] = x[0].strip("]")
[TAB][TAB][TAB]x1,x2 = x[0].split("-")
[TAB][TAB][TAB]x1 = string.atoi(x1)
[TAB][TAB][TAB]x2 = string.atoi(x2)
[TAB][TAB]except:
[TAB][TAB][TAB]print "Url parsing error!"
[TAB][TAB][TAB]sys.exit()
[TAB][TAB]if x1 > x2:
[TAB][TAB][TAB]print "Invalid range"
[TAB][TAB][TAB]sys.exit()
[TAB][TAB]temp_url = comp.split(url)
[TAB][TAB]i = x1
[TAB][TAB]while i < x2 :
[TAB][TAB][TAB]self.urls.append(string.join(temp_url,"%s" % i))
[TAB][TAB][TAB]i = i + 1
[TAB][TAB]return self.urls
[TAB]def list_urls(self):
[TAB][TAB]print self.urls
[TAB]def download_urls(self):
[TAB][TAB]for u in self.urls:
[TAB][TAB][TAB]try:
[TAB][TAB][TAB][TAB]print "Downloading ... ", u
[TAB][TAB][TAB][TAB]os.system("wget %s" % u)
[TAB][TAB][TAB]except:
[TAB][TAB][TAB][TAB]print "Wget Error!"
[TAB][TAB][TAB][TAB]continue
if __name__ == "__main__":
[TAB]try:
[TAB][TAB]url = sys.argv[1]
[TAB]except:
[TAB][TAB]print "Usage: python fusker.py http://www.website.com/img[01-06].jpg"
[TAB][TAB]sys.exit()
[TAB]f = Fusker(url)
[TAB]f.download_urls()
Tags: , ,

Pyblish

It is hard to write programs source code on your own blog or webpage especially when writing a language like Python where tabs and white spaces do matter. However blogs are the best place to share your coding ideas and receive comments and bugs fixes on them. So one nice idea is to replace the tab or "\t" with [TAB], and since it is really hard to do it by hand this is a python proggie to replace them automatically.
''' Pyblish - Python Publisher '''
''' Author: Tarek Amr '''
''' Version: 0.1'''
''' File: pyblish.py'''
''' Date: 07 Jan 2006 '''
import string, sys
if __name__ == "__main__":
[TAB]try:
[TAB][TAB]filein = sys.argv[2]
[TAB][TAB]mode = sys.argv[1]
[TAB]except:
[TAB][TAB]print "Usage: python pyblish [ --decode | --encode ] INPUT_FILE_NAME"
[TAB][TAB]sys.exit()
[TAB]if mode == "--decode":
[TAB][TAB]temp = filein.split(".")
[TAB][TAB]temp[-1] = ".txt"
[TAB][TAB]fileout = string.join(temp)
[TAB]elif mode == "--encode":[TAB]
[TAB][TAB]temp = filein.split(".")
[TAB][TAB]temp[-1] = ".py"
[TAB][TAB]fileout = string.join(temp)
[TAB]else:
[TAB][TAB]print "Usage: python pyblish [ --decode | --encode ] INPUT_FILE_NAME"
[TAB][TAB]sys.exit()
[TAB]fdin = open(filein,"r")
[TAB]fdout = open(fileout,"w")
[TAB]for line in fdin.readlines():
[TAB][TAB]if mode == "--decode":
[TAB][TAB][TAB]line = line.replace("\t","[TAB]")
[TAB][TAB]elif mode == "--encode":
[TAB][TAB][TAB]line = line.replace("[TAB]","\t")
[TAB][TAB]fdout.write(line)
[TAB]fdin.close()
[TAB]fdout.close()
By the way this code has nothing to do with that web server and application framework hosted at sourceforge and called Pyblish too

Tags: , ,

04 January 2006

Eid El Adha

Within few days it will be Eid El Adha (Al Adha Feast), which is also known as the Major Feast as it is 4 days while Eid El Fetr (the Minor Feast) is on the other hand 3 days only. One of the main things that people do in Eid El Adha is el Adheya (eating sheep meat) which is done as a celebration for what Prophet Ibrahim (PBUH) had done when he was ordered by Allah to kill his own son Ismael, then Allah sent him a sheep to kill instead of Ismael when he was about to do it. Also people go to pilgrimage during that time in Mecca. Tags: , ,

03 January 2006

Juniper NetScreen IDP to Block Shareaza

The signatures in the IDP are capable of blocking P2P and IM applications when they use standard ports, but sometimes these applications use non-standard ports nor protocols especially when the signatures are bound to specific protocols/ports.

For example the signature to block eDonkey "P2P:EDONKEY:CLIENT-HELLO" is bound to the TCP port range 4242-4662, so in order to completely block eDonkey you can bind it to any.

Similarly the signatures for Gnutella "P2P:GNUTELLA:CONNECT", "P2P:GNUTELLA:CONNECTION-OK", and "P2P:GNUTELLA:CONNECTION-OK-V06", they can be bound to any protocol/port range instead of a specific ones.

And that's why I prefer using Juniper IDP as it gives you the flexibility to edit the different attack signatures to meet your custom needs. However I think that they have to stop binding the P2P and IM related signatures from the beginning as people are not supposed to do such stuff by hand every time they install a new IDP.

Tags: , ,

Juniper NetScreen IDP GUI - Demo Mode

In orde to loging to the IDP GUI in an offline demo mode - i.e. without the need to have a real management server - just login as "admin" and use any password and type "/demo" in the Host Name field. Tags: , ,

Cyber Friendship is Void

I think after more than 10 years of introducing the Internet to Egypt it has been proven that Cyber friendship is a big fake. It's next to impossible to get a friend from IM programs or web forums. Just talk to people you know or else you'll get stuck with desperate ill minded people online. Tags: , ,

01 January 2006

NS-5GT, Switch from ADSL to Untrust

The NS-5GT with ADSL interface has the ADSL port active by default, and the Untrust interface is down. So in order to failover to the Untrust interface instead of the ADSL you can use the following command.
exec failover force
Tags: , ,