Sunday, December 16, 2007

What's AJAX?

Everybody's talking about Ajax, and practically nobody actually has a clue as to what it actually is!

AJAX, n. acronym: Method of making HTTP server requests using Javascript code, and fetching the server response without reloading the web browser. Short for Asynchronous Javascript And XML. Uses the XMLHTTPRequest Javascript object.

Ajax in a Nutshell:
A way to hit your server and get some data from it without making your poor user reload the whole stinkin' page. (You can send data to the server, too, such as form submissions.) The HTTP request is normal, just done from Javascript! And no reloads!

Wha? XML?
Despite the name, XML doesn't have to be involved. Some Ajax packages let you offload data formatting work to your back end so you can return HTML and even Javascript instead of serializing stuff. Prototype.js is one of them.

The road from here:
Code it by hand, use a Javascript toolkit, or use a Javascript/server-side scripting language framework. Ruby on Rails and its clones have Ajax support baked in. For other languages, your best bet is one of the pure Javascript codepackages to the right.

Saturday, November 17, 2007

Sorting techniques and algorithms (2)

Before reading this article please refer to part 1.

Selection Sort:
Selection sort is the most conceptually simple of all the sorting algorithms. It's inefficient on large lists, and generally performs worse than the similar insertion sort. It works by selecting the smallest (or largest, if you want to sort from big to small) element of the array and placing it at the head of the array. Then the process is repeated for the remainder of the array; the next largest element is selected and put into the next slot, and so on down the line.

Because a selection sort looks at progressively smaller parts of the array each time (as it knows to ignore the front of the array because it is already in order), a selection sort is slightly faster than bubble sort, and can be better than a modified bubble sort.

Here is an example of this sort algorithm sorting five elements:

31 25 12 22 11
11 25 12 22 31
11 12 25 22 31
11 12 22 25 31
And here is the code for a simple selection sort:


Insertion Sort:

Insertion sort is a simple sorting algorithm. It inserts each element of the array into its proper position, leaving progressively larger stretches of the array sorted. What this means in practice is that the sort iterates down an array, and the part of the array already covered is in order; then, the current element of the array is inserted into the proper position at the head of the array, and the rest of the elements are moved down, using the space just vacated by the element inserted as the final space.

It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort, but it has various advantages:
  • Simple to implement
  • Efficient on (quite) small data sets
  • Efficient on data sets which are already substantially sorted
  • More efficient in practice than most other simple algorithms such as selection sort or bubble sort.
  • Stable (does not change the relative order of elements with equal keys)
  • In-place (only requires a constant amount of extra memory space)
  • It is an online algorithm, in that it can sort a list as it receives it
Here is an example: for sorting the array 52314 First, 2 is inserted before 5, resulting in 25314 Then, 3 is inserted between 2 and 5, resulting in 23514 Next, one is inserted at the start, 12354 Finally, 4 is inserted between 3 and 5, 12345

Here's a simple implementation of insertion sort in C/C++:

For a complete list of popular sorting algorithms please refer to this Wikipedia article

Friday, November 16, 2007

Tech Talks

Until Recently, home networks were primarily the realm of technophiles - most families either didn't need or couldn't afford more than one computer. But now, in addition to using computers for e-mail, people use them for schoolwork, shopping, instant messaging, downloading music and videos and playing games. For may families, just one computer is no longer enough to go around.

Join us in this session of Tech Talks as we discuss the fundamentals of networking and give a quick overview on how it works in the real world

Date: Tuesday, November 20, 2007
Time: 4:00pm - 6:30pm
Location: AAST- Ground Floor CS Building

For more info please call 010.171.2417

Facebook RSVP Status: http://www.facebook.com/event.php?eid=6327342354

Note: You may invite your colleagues to this event

Wednesday, November 7, 2007

AAST's new website launched

AAST has finally launched there new website which has been in the beta phase for a loooong period of time. The new website is much (and I mean MUUUUCH!) better than the old crappy one and it's not just a redesign, but a complete makeover with some new features as the AAST Calender (which is still empty though). Although it's still incomplete and has many broken links/pages, but it's an excellent start and hope they complete it someday and keep it up to date.

Check it out yourself: http://www.aast.edu

Tuesday, November 6, 2007

Tuesday, October 23, 2007

Monday, October 22, 2007

Sorting techniques and algorithms (1)

Have an array you need to put in order? Keeping business records and want to sort them by ID number or last name of client? Then you'll need a sorting algorithm. To understand the more complex and efficient sorting algorithms, it's important to first understand the simpler, but slower algorithms. In this article, I'll talk about the 3 algorithms we studied at college which are bubble sort, including a modified bubble sort that's slightly more efficient; insertion sort; and selection sort. Any of these sorting algorithms are good enough for most small tasks, though if you were going to process a large amount of data, you would want to choose one of the sorting algorithms that I'll talk about in the next posts isA.

Bubble Sort:
The bubble sort is the oldest, simplest and generally considered to be the most inefficient sorting algorithm in common usage. Unfortunately, it's also the slowest. It works by comparing each item in the list with the item next to it, and swapping them if required. The algorithm repeats this process until it makes a pass all the way through the list without swapping any items (in other words, all items are in the correct order). This causes larger values to "bubble" to the end of the list while smaller values "sink" towards the beginning of the list.

Since the worst case scenario is that the array is in reverse order, and that the first element in sorted array is the last element in the starting array, the most exchanges that will be necessary is equal to the length of the array. Here is a simple example:

Given an array 23154 a bubble sort would lead to the following sequence of partially sorted arrays: 21354, 21345, 12345. First the 1 and 3 would be compared and switched, then the 4 and 5. On the next pass, the 1 and 2 would switch, and the array would be in order.

The basic code for bubble sort for sorting an integer array using C looks like this:

A better version of bubble sort, known as modified bubble sort, includes a flag that is set if an exchange is made after an entire pass over the array. If no exchange is made, then it should be clear that the array is already in order because no two elements need to be switched. In that case, the sort should end. The new best case order for this algorithm is O(n), as if the array is already sorted, then no exchanges are made. After modifying the code it will be like this:

In part two I will talk about insertion sort and selection sort. Please post a comment if you have any questions :)

Tuesday, October 16, 2007

Developers developers developers developers...!!

A couple of years at Microsoft and you should start acting like this!!



In this video: Steve Ballmer, Microsoft CEO.

Monday, October 15, 2007

You are a Programmer IF...

1- You have more than a document file on your desktop called "To Do".
2- You start counting from zero.
3- You can find some code in a folder on ur PC & you wonder when & how you made this code.
4- You may stay awake a whole night trying to fix a bug, then when u go asleep, you dream of the solution.
5- You don't like most of the softwares in the market.
6- You forget to eat or sleep cause you were too busy writing some piece of code.
7- You stress the words IF, THEN & ELSE while speaking.
8- You always search for the undo button (ctrl+z) when u mistake in doing any handwritten stuff.
9- Most of your speech is not understood except by your colleagues in college or work.
10-You find yourself writing a semi-colon at the end of any sentence instead of a full stop;
11-You estimate lengths better in pixels than in meters & centimeters.
12-You use the eye-drops as frequent as you use the toothpaste.
13-The First words you write when trying sth new are "Hello World".
14-You never used that device that looks like a computer screen & called "TV".
15-You - every now & then - wake up with the keyboard imprinted on your face.
16- You have a volatile Memory like RAM.
17- You write C++,C# or Java better than u write your own language.
18- You don't think wearing sports shoes with a suit is strange.
19- You remember all your passwords, but fail to remember you own birth date.
20- The word 'Engine' reminds you of games more than of cars.
21- Anytime you see a penguin, you think of Linux.
22- You have a LAN in your room.
23- You're the highest-paid yet the worst-dressed person in the office.
24- You follow the instructions only if everything else fails.
25- You use F1 instead of SOS.


Source: JetBrain blog (a blog by Roaa Mohammed, an MSP at Ain Shams university)

Wednesday, September 19, 2007

Imagine Cup

Mohab and Marwan (MSPs at the AAST). CCIT's Imagine Cup booth

What is the Imagine Cup?

The world’s premier student technology competition, Imagine Cup is one way Microsoft is encouraging young people to apply their imagination, their passion, and their creativity to technology innovations that can make a difference in the world – today. Now in its fifth year, the Imagine Cup has grown to be a truly global competition focused on finding solutions to real world issues. In 2007, more than 100,000 students from 100 countries entered the Imagine Cup competition.

The 2008 Theme: The Environment
This year, Microsoft is calling on young programmers, artists and technologists around the world to "imagine a world where technology enables a sustainable environment." We’re challenging students to bring their ideas to life in a multifaceted competition that comprises nine categories, each catering to a different technological or artistic affinity. Students’ work will reflect valuable, real world solutions, while giving them the opportunity to compete for cash prizes. When coupled with the power of technology the potential of young people is unlimited and the ideas they develop for the Imagine Cup could significantly improve the lives of millions of people around the world. In this competition, everyone wins. The 2008 World Finals will be held in Paris France from July 1-8, 2008.

Who can enter the Imagine Cup?
You are eligible to enter any invitational that is a part of this Contest if you meet the following requirements at the time of registration:

  • You are 16 years of age or older.
  • You are actively enrolled as a student at an accredited educational institution that grants high-school or college/university (or equivalent) degrees any time between January 1, 2007 and May 31, 2008.
  • You are not an employee or intern of Microsoft Corporation, or an employee of a Microsoft subsidiary.
  • You are not involved in any part of the execution or administration of this Contest between.
  • You are not an immediate family member of (parent, sibling, spouse, child) or household member of a Microsoft employee, an employee of a Microsoft subsidiary, or a person involved in any part of the administration and execution of this Contest.
  • You are not a resident of any of the following countries: Cuba, Iran, Iraq, North Korea, Sudan, and Syria.
  • If you are a Microsoft campus representative (such as Microsoft Student Partners http://student-partners.com/) and you meet the eligibility criteria set forth above, you may enter, but you are prohibited from using Microsoft property or resources, including without limitation, Microsoft networks, hardware tools and technology resources and/or the counsel of Microsoft employees, in connection with the creation or execution of your entry.

Competition Categories
Below is a list of the 2008 Competition invitationals.

  • Software Design
  • Embedded Development
  • Game Development
  • Project Hoshimi
  • IT Challenge
  • Algorithm
  • Photography
  • Short Film
  • Interface Design
Visit http://imaginecup.com for more information about the Imagine Cup and to register for the 2008 competition. Good luck! ;)

Wednesday, August 29, 2007

Guess who's back, back again!

YES! I'm back to the web hosting business :) It has been more than 1 year since I sold my beloved company NileServers (which is displaying an "Account Suspended" message right now by the way!). My new company's name is VergiSolutions (don't like the name? try to come up with a better one!), and its website was supposed to be launched one month ago! (who needs a website for a web hosting company anyway :P) I had to postpone it to work on the new web-based Information System of MetalMax which I will (hopefully!) finish very soon. So wish me luck (and move all of your websites to VergiSolutions :P)

The first Egyptian 3D game

Have you ever heard about the first Egyptian 3D game? It's called Abou 7adeed (previously named Boo7a) and it's based on the character of Mohamed Saad's famous movie "Boo7a" and how he and his friends rally together to take revenge on evil-doers. I'm officially the first one to buy the final version of this game :) Although I'm not into gaming at all but I just got very excited about the idea of playing a game with Egyptian characters, culture, folklore, environment...etc, specially when I met the young, talented and ambitious developers of the game, and founders of Khayal Interactive Entertainment, AhmedEl-Deeb, Mostaf Ashour and Ahmed Sabri, at last year's Cairo ICT when they where promoting there game at TE Data's booth.
My game download progress has reached 71% (of approx 378 MB), so I will be writing a review about the game very soon :) Till then, watch the video below, it will give you an idea about the game.

Update: After my download reached 96%, some one from TE Data called and asked me to reconfigure my router with him on the phone, so I had to pause my download. When I tried to resume it later, the file I was downloading disappeared from Abo 7adeed's server! DAP keeps displaying the "File requested does not exist" message :@ I contacted support@abo7adeed.com, few minutes later I got a "delivery failure" message!! So I had to contact info@khayalie.com directly. Hope they are not one of those wait-48-hours-to-get-a-reply companies!

Update 2: About 4 or 5 hours after I sent the email to Khayal IE, I thought about trying the download for the last time before going to sleep, and IT WORKED! Few minutes later, I was installing the game :) The installation ran for a few minutes then it returned an error message. The file is corrupted! :( I sent another email to Khayal and went to sleep. I woke up next day to find a message from them telling me that they have re-uploaded the file and double checked that it's working fine. I downloaded the game again, installed it and happily played till level 4 (or 5, can't remember exactly). I'm not going to review the game now, but I'll just give ratings about a few aspect about the game:
Gameplay: 6/10
Graphics: 7/10
Sound: 4/10
Value: 6/10
Overall rating: 5.75
Final comment:
Not very good, but not that bad either (if you compare it to international games). BUT it's a excellent start for the Egyptian games, but will need TONS of work/improvements if they are planning to publish another version of this game.
Wait for the detailed review....

Monday, August 27, 2007

How to get a Blue Screen of Death!

Did you know typing into Internet Explorer Version 4 through 7 "about:mozilla" in the address bar would cause a Blue Screen of Death (BSoD) (well, humor me here, its just a blue screen, but still funny).
If the above doesn't work, you are running Windows XP SP2, so type: "res://mshtml.dll/about.moz" and you will get it!

I just hate that stupid BSoD!! :@ It keeps popping up every now and then ever since I bought my laptop, and now one is able to know what the problem is! :S

Top 10 Reasons Firefox "Owns" Internet Explorer

  1. Tabbed Browsing
    Firefox rocks at tabbed browsing. Not only does the tabbed browsing work really well, but it also is blazing fast! Tabbed browsing in Firefox completely dominates and should embarrass the tab browsing developers at Microsoft.
  2. When Windows Crashes, Firefox Recovers Your Tabs!
    If you use Windows, you will have lots of crashes! I love how Windows is CLUELESS on what the heck was open after recovering from a crash. I mean, on top of it crashing on me, it makes me log back in, re-launch whatever I had open, and then make me want to kill myself. The saving grace I have now is Firefox saves all the latest tabs I had open, and asks me if I'd like to open them! What a concept! Thanks Fox for making my Windows Blue Screen of Death experiences slightly more enjoyable.
  3. Find Stuff On Web Pages Without A Pop Up Box!
    I hate when I try and find something on a web page in Internet Explorer! It creates a "pop up box" for me! which I then type in, and it try's to show me where it found things... Firefox Find is not intrusive at all, and super fast! It will even highlight multiple instances of the search term, so I can skim the document quickly.
  4. Way Faster than Internet Explorer
    Firefox is super fast! Even after Windows crashing, Firefox will load your many tabbed pages instantly at the same time, and your CPU does not get totally used and destroyed, and you have plenty of RAM left! I dare you to load 10 Internet Explorer 6 windows, or even load 10 windows in "tabbed" browsing in Internet Explorer 7. I hope you have an infinite supply of RAM.
  5. Customizable, and Plug-In Friendly
    It's so easy to download awesome plug-ins for Firefox! It's easy to install them, and it's easy to remove them if you don't like them. Internet Explorer didn't even have this ability until Internet Explorer 7, which is useless anyway for another 100 reasons I'm not even going to bother going into.
  6. Great Download Manager
    Firefox has an awesome download manager that shows you the progress of your downloads, lets you specify default download locations, and lets you keep things clean. Try downloading multiple items in Internet Explorer and your poor taskbar will start sucking wind fast!
  7. Simple User Interface
    Simple is awesome, and Firefox understands this. Internet Explorer is freaking complicated! The way I rate a user interface successful is by the interface behaving how I expect. If I click things, and they don't do what I think they should do, I get upset because that's a bad interface!
  8. Less Crashing
    Internet Explorer crashes all the freaking time! You'd think the browser made by the company that wrote the operating system, and integrated into the operating system, would not crash! Wait... I get it.. lol. I have yet to see Firefox Crash!
  9. Small Install!
    Internet Explorer is the biggest browser I have ever seen. Firefox is a 5MB file, and Internet Explorer is at least a 20MB download depending on your options.
  10. Built-In Google Searching
    Google rocks, so does Firefox with Google Toolbar. Internet Explorer does not rock, and neither does MSN Search. If you use Internet Explorer, you have to know how to change the default search provider, where as Firefox comes built in with Google Search, and the Google Toolbar!

Saturday, August 11, 2007

Web Site Top 10 Things to Consider!

So you are creating a new web site! That's fantastic! But what do you need to make sure you consider when you embark on the project? Below is a list of 10 things that you must consider before you build your site.
  1. Browser Resizing
    Does the web site resize nicely in different browser window sizes. What is the target size you are designing your site for? A site can look great on 1024 by 768, but what happens when you put your site on a high resolution 21inch LCD Panel. Your site should look good on any resolution!
  2. Background Color
    If you use white background colors, do you actually specify white, or just leave it as default? A lot of people have their default background colors set to grey instead of white. When you load a site up that does not explicitly set the background color to white, it shows up as whatever the user has set up as his default.
  3. Site Alignment
    Will the site be aligned on the left, right, centered? Very important decision to make! Ensure you have this question answered before you begin, although it can be changed later, it can be a pain.
  4. Will the header and footer of the site resize?
    Does your header need to resize every time the browser window is resized? what about the web page footer? Make sure you speak with the designers if you have any working on the project and get this detail hammered out!
  5. Browser Compatibility
    Will the site need to be 100% compatible with all browsers? Opera? Safari? Internet Explorer? Firefox?
  6. Dynamic Rollovers
    Does the site require dynamic rollovers for navigation buttons and hyperlinks?
  7. No Tables
    Do not use any tables, use DIV tags or SPAN tags for everything.
  8. Standards
    What standard will you follow? W3C Valid HTML 4.01, W3C Valid XHTML 1.0 Transitional, or W3C Valid XHTML 1.0 Strict.
  9. Make sure to use SEO Semantic Coding with complete presentation separation.
    You are probably really familiar with normal HTML coding. SEO Semantic Coding, or Semantic Markup focuses on writing code that is descriptive. It enables search engines and other web site indexers to categorize your site properly, and give it more weight in search results.
  10. Web Site Loading time.
    Make sure you know all the basics about saving images. Doing this piece wrong can cause your page load times to increase exponentially! PNG/JPG/GIF... make sure you know which file type to use in the right situation.

Monday, August 6, 2007

Make Your Site Web 2.0

Web 2.0 Although Web 2.0 is a buzz word to refer to the "second coming" of the Internet, I thought we would talk a little bit about what exactly a Web 2.0 Site entails. How can you upgrade your site to Web 2.0 today? Below are some of the key things you should do today to make your web site Web 2.0 ready!
  1. Add RSS Feeds and Subscriptions.
    Give your users the ability to subscribe to certain sections of the web site. This way they can get notified via email that content has changed, or a new article added. This will keep your visitors coming back for more.
    Web 2.0 Resource: FeedBurner
  2. Add some AJAX Content.
    AJAX is great not only because it look cool, but also because it makes it very easy for users to use the site. It makes a site feel more responsive, and more like an actual windows application.
    Web 2.0 Resource: Dojo, Script.aculo.us, Google Web Toolkit
  3. Use CSS for all look and feel elements.
    So many of the old Web 1.0 web sites out there still use html tags for fonts and other such things that can all be placed with a CSS file! This adds so much bandwidth waste and really slows down the users’ experience. Switch to semantic HTML with CSS today!
    Web 2.0 Resource: css Zen Garden
  4. Use Gradients and curves in your new buttons.
    Look at nearly all the new Web 2.0 sites out there and you will notice that most of them use a lot of gradients, with drop shadows, and curves. This style is critical if you are going to look like a new Web 2.0 site!
    Web 2.0 Resource: Create Web.0 Buttons in PhotoShop
  5. Have live active content.
    Nobody wants to visit a site that is always the same and doesn't change! This is extremely boring, and there is really no need to come back to the site. Change your site daily, hourly if possible! The more you update your site, the more visitors you will receive coming back for more!
    Web 2.0 Resource: SharePoint Portal Server 2007
  6. Add social networking aspects to your site.
    Social networking is the way to go, if you can afford the development. Build an entire community around your site and you will see the traffic skyrocket.
    Web 2.0 Resource: facebook, myspace
  7. Tag your pages instead of creating categories.
    Creating categories for sites is very old school. Create tags instead! This allows users to quickly find related content throughout your web site, without the need to search through countless categories to find something!
    Web 2.0 Resource: WordPress
  8. Give users the ability to rate content on your site.
    Digg gave users the ability to rank articles and other content on their site, and look how popular they became! Add a "Rank It" button to your site today, and watch the expression take form!
    Web 2.0 Resource: Digg, Reddit
  9. Provide Podcasts or Videocasts.
    Having audio content that your users can listen to is fantastic. Think of all the iPod's that are out there, and how often they are being used. By creating a Podcast, you are making your voice audible across the billions of iPod's and other music devices out there. Videocasts can be even better, if you have the budget.
    Web 2.0 Resource: Apple Podcasting, Podcast Alley
  10. Provide users with a Web API using Web Services.
    By providing programmers a Web API, you are giving people the ability to create custom applications to your web site! Sometimes things can be created that you haven't even thought of! Make sure you keep it clean and simple, and try and stick to some standards.
    Web 2.0 Resource: W3C Web API, Google API
  11. Make your site extremely simple to use.
    In this day and age, your web site has to be drop dead simple to use, or people will leave! On average if it takes a user more than 8 seconds to figure out what is going on, or what they should click, they will leave your site!
    Web 2.0 Resource: Steve Krug, Jakob Nielson
  12. Give users ability to participate with the site and its members.
    Users love interacting with other users. Give them a way of communicating with each other, and expressing their emotions, thoughts, and ideas.
    Web 2.0 Resource: linkedin
  13. Let users contribute content.
    It's great that you are adding content to the site, but why not let your users contribute to the content. Everyone wants to be heard, let your visitors do it through your site!
    Web 2.0 Resource: YouTube, Flickr
  14. Use Flash or Silverlight to add some interactivity and response.
    Add some interactive applications to your site using one of these tools. I prefer Microsoft Silverlight, as it has a proven structured programming engine to back it up, Microsoft .net! You can use C# or Python to write this bad boy, and it also supports AJAX extremely well.
    Web 2.0 Resource: Silverlight, Flash
  15. Let users "Social Network This" instead of "Bookmark This".
    Bookmarking a site is great, but everyone these days is adding their bookmarks to del.icio.us or StumbleUpon. Remove the "Bookmark This" button and add the "Digg This" button. Not only will your users be able to keep track of the site, it will also allow them to share the sections of the site with other surfers, promoting your site for you!

MCIT, you gotta be kidding me!

If you’re an ADSL (aka “high speed”? internet) subscriber located in Egypt and have the least knowledge about what’s going on in the world out there, I would be sure that you had a heart attack when you read that announcement, which is NOT the rumored reduction in the current ADSL subscription prices as we have been fed by the government and ISPs during the last months, but brilliantly offering low priced and limited packages, in a press release that had been removed within few days from the Ministry of Communication and Information Technology website due to the outrage in the general internet user base (check Mesh-Gayeb), and replaced by a smarter one, but who they’re kidding.

Should I now bow on my knees for that they’ve kept the unlimited packages untouched instead of cutting the prices down for like 50% at the very least? the truth is that I wont, I’m being ripped off every month paying LE. 190 ($44) for a 512Kbps connection, while a buddy of mine living in Netherlands is paying €30 ($41) for 20Mbps, and that’s just one example.

The thing I’m sure of is that these guys (ISPs) are either just plain stupid, or they’ve studied marketing very well but the type which is not applicable in the third world! Marketing says that when there’s a commodity with no substitutability characteristic (in our case, ADSL service, you can’t replace it for anything else, say like mobile connections “it’s not yet as convenient”, we need ADSL), so in the eyes of ISPs there’s no reason to bring prices down, people will still pay for it either it’s for LE 10 or for LE 1000. But then say hello to illegal connection sharing world where more than 30+ individual in a neighborhood can share a single internet connection, now wont it be better if these individuals are subscribed to 30 different cheaper connections instead of a single expensive one? you do the math! In this particular case I’d throw away any marketing I’ve learnt and find creative solutions (and gathering public outrage isn’t one).

I wont go paranoiac like mesh-gayeb’s folks, but all I’m asking is to be respected! I know that I live in a poor third world developing country, but the government shouldn’t treat public as fools and promise something they can’t keep, and when they’re ripping me off for a low speed internet, with nonexistent reliability, they should admit it too, then we will be all slow but happy internet users!

Joke of the day: go to the ministry voting page, the result speaks for itself.

Source: Mohamed Tantawi's blog

Wednesday, August 1, 2007

Design Principles: 5 Easy Steps to Design a Website

If you want to design a website for business or personal reasons it might seem like a tough task. Fortunately, there are many resources and tools online today to help you get a website up and running quickly on the World Wide Web.

Below are the five steps to creating your own website.

1. Decide on a Website Theme. Choose a website theme that will flow with your business or personal goals. If you're selling search engine optimization services (SEO), choose a theme that fits well with SEO. Perhaps you'd like a website that offers training in a particular field or that provides useful information or services in fields such as health, insurance, marketing, finance, family, home and garden, web design, etc.

Use search engine optimization tools such as wordtracker.com to determine popular keywords in your field. This will help you narrow your theme and find a niche market. The more specific you are, the more likely you'll reach your targeted audience.

2. Choose a Domain Name. You can visit almost any web host to find out what domain names are available. Your domain name is the web address people will type in to find your website and it is completely unique to you. It could end in .com, .net, .org, or a variety of other suffixes. Example: www.domainname.com Choose a domain name that meets the following criteria: 1. Not too long. 2. Easy to spell - even for kids. 3. Simple and easy to say. 4. Fits your website theme. 5. Easy to remember. Remember, your domain name will be used in all advertising campaigns whether in print or online, so keep it simple.

3. Choose Web Hosting. Web hosting is a must for a website. This is the "web space" you'll buy so your website can appear on the World Wide Web. You can choose from thousands of web hosts today, but be aware of the pitfalls if you choose the wrong host. Choose a web host that is dependable, affordable, offers excellent customer service, and offers the features you need for your website. Free web hosting services are available if you're starting a personal website, but are not recommended for business websites.

Be aware that not all hosting services offer special add-on features such as PHP or MySQL capabilities. Not all hosting services offer a reliable control panel for site management and following your website's visitor statistics. So, be sure to choose a web hosting provider that offers what you need for now and future growth.

4. Design Your Website. Once you choose a domain name and secure web hosting, it's time to design your website. You have two options:

  1. Learn web skills such as HTML and PHP so you can design your own website.
  2. Hire a web designer.

If you choose to learn web design, there are many tutorials and courses online to help you learn. You don't have to spend thousands of dollars taking a college course. Or, you can find a website that has the same features you want and ask who designed it. This will help you find a dependable designer who already has the skills needed for your project.

Either way, determine what type of programming language you will use beforehand. This will be based on the features your website will have.

5. Get Your Website Noticed. It's time to promote your website. You can promote in many different ways: search engine optimization, paid search engines, free search engine submission, e-zine advertising, and even off-line advertising. Include your website address on everything you print such as business cards, newspaper ads, letterhead, envelopes, etc.

Probably one of the most effective ways to promote is by adding content articles to your website. Articles get noticed by the search engines because they are informational and useful. The more information you offer, the better your search engine rankings will be. If you sell insurance, write many articles about insurance for your website or hire a writer to write them for you. Whatever your theme, provide plenty of content for your users.

Use these five steps to get your website going. You're on your way to web success!

Grand Theft Auto IV

Grand Theft Auto IV (also known as GTA IV or GTA 4) is the upcoming eleventh installment, and first in the fourth generation, of the Grand Theft Auto video game franchise, announced for release by Rockstar Games in 2007 for PlayStation 3 and Xbox 360. The game is set in a redesigned Liberty City in the year 2007. GTA IV has been nominated for a 2006 Golden Joystick Award in the One To Watch For 2007 category.
For more information please visit GTA's official website: http://rockstargames.com/IV/

Also take a look at the following official trailers:
Trailer #1


Trailer #2

Tuesday, July 31, 2007

Creativity & Innovation conference 2007

Tony Buzan is coming to Egypt!! :)
Awareness has brought one internationally-renowned expert in mental literacy and Radiant Thinking, Tony Buzan, to appear LIVE in Cairo on 26th - 28th August 2007.

Come and join other professionals at this one of a kind opportunity! Take part in discussions about developments in creative thinking applied to different disciplines, concentration as a function of time, memory performance during and after assimilation of information, the art of communication for memory, and the effect of our modes of thought on habit patterns and change. Listen to advice on now to improve these procedures in your environment.

Tony Buzan, author of 90 books on Mental Literacy and the brain will present an entertaining discussion on his powerful visual thinking tool, Mind Mapping developed by him, Speed and Range Reading and Brainsmart Leader.

Tony Buzan's work and applications on brain are now used by hundred's of millions of people around the world who wished to use their brains more effectively!

These 1-day workshops invite you to EXPERIENCE learning in areas you previously believed to be impossible! You will discover the skill of Mind Mapping, learn how to learn, and improve planning, thought organization, memory, creativity, and productivity. You will see how these new skills can be directly transferred into your business and life. Get ready to revolutionize your thinking during these mind-expanding seminars!

The creativity & innovation Event is your opportunity to ensure that your organization's mind is maximized, for accessing your range of intelligence, improving all thinking skills and dramatically improving your leadership and creativity.

I look forward to welcome you to the guru event in August.

Dr. Nader Nada
Chairman
Egypt Buzan Center
For more information about the program of the seminar, registration and any other information you may need, please visit the official website of the organizer, Awareness, and download the event brochure.

Saturday, June 9, 2007

Friday, June 8, 2007

Design Principles: Keys to Effective Website Design

Website design is becoming an increasingly important topic for all businesses. The online community is growing at a rapid pace each day. As more businesses establish their storefront online, competition is expanding from a local to global market. Now, almost every product is available to research and buy online. This only heightens the need for every business to have an online presence. While the Internet community is expanding, users are also evolving.

Today, the consumer is savvy and time conscious. While some consumers are looking to research products, many also want the option to buy online. As any business steps into the Internet community they need to ask themselves, "What can I do to entice consumers to buy from my website?"

It's no secret that building a website is no simple task, but the trick is to set your business apart from the competition. The most important thing to remember is make your site usable and customer friendly. A time conscious consumer will not expend effort trying to figure out a difficult or complicated website. If you can keep your site usable, customer friendly, and aesthetically pleasing your business will see increased revenue and return on investment.

Listed below are tips to creating an effective, efficient, and profitable website design.

1. Limit graphics: Glitzy graphics are great, but putting too many in a site can slow downloading time for the consumer. While you may have Cable or DSL Internet connections, many customers still use dialup. Also, putting too many graphics in the site can clutter a page and cause confusion.

2. Use casual language: When designing your site, use everyday conversational language. The more relaxed the customer, the greater chance of them buying from you.

3. Make paragraphs short and use bullets: No one likes to read long paragraphs of text. Break up paragraphs and long sentences with lots of bullets. Make the reader's eye flow down the page instead of across. Also use captions to showcase important information. People's eyes are drawn to text that is set apart from the rest.

4. Change the site often: Rotating your content is very important. It not only gives customers a fresh look at your site, but a reason to come back. In addition, rotating content also helps search engine rankings.

5. Place important information at the top of the page: Grab the customer's attention by placing promotions or other key information on the top half of the page. People should never have to scroll to find or read this information.

6. Have contact information visible: It should be easy for customers to contact you with questions or to order products. If they can't find your contact information they will continue shopping but with a competitor. Put your contact information in a visible place such as the navigation bar and header.

7. Don't put too much information on a page: People want to read information about products, but don't provide them with so much they get lost. Give the important facts, features, and benefits in a concise format.

8. Navigation should be visible and simple: Make sure that any customer can easily find what they want to buy. Make section names obvious and descriptive. The more options a customer has to segment products the better. For example, you can allow people to shop by product, brand, price, etc.

9. Online ordering should be simple: Give the customer an easy, fast, and secure way to order products. Make ordering screens simple and only collect necessary information.

By using these guidelines of website design you are sure to have an effective, efficient, and profitable site. It will be effective by giving customers a usable and friendly site to buy from. The site will be efficient by allowing customers to buy online, freeing you to pursue other opportunities to further your business. Lastly, it will be profitable by providing you not just a local but global customer base.

Friday, June 1, 2007

Microsoft Surface Computer

The Surface Computer has arrived. No keyboard, no mouse, no track pad! The digital table is all you need (include your fingers!). There's nothing more I can say about this 'THING'! I'll just leave you with the video:
http://www.popularmechanics.com/technology/industry/4217348.html

Thanks Seif for the link :]

Saturday, May 5, 2007

How to Download a YouTube Video to your computer

Ever wanted to save that favorite YouTube video to your local computer? Although some people might have you believe this is a difficult task, it’s actually very simple. Below is an outline to the easiest way to rip a YouTube video to your local computer.
  1. Load your favorite YouTube video.
  2. Copy the URL from the address bar.
  3. Go to RipZor.com
  4. Paste the URL into the textbox and click "Get Video".
  5. The website will generate a flash file for you to download.
  6. Click on the "Click Here" link to download the flash file, it will save as an flv file.

At this point as long as you have a flash viewer on your computer, you will be able to play this saved file, without having to connect to the internet, or having to go to the YouTube website! What if you want to play them in Media Center? You will need to convert this file to sometime of video format that is supported in Media Center.

The simplest way to do this is to download this zip file. It includes a program that will convert your newly created flash file to mpg format. Here are the easy to follow steps.

  1. Download the zip file here.
  2. Extract the zip file to a folder on your computer and run flvconverter.exe
  3. Click Add Files and Browse to the location of your flv file you just converted.
  4. Choose an output folder by clicking the browse button.
  5. Click "Process"
You should now have a mpg file on your computer that you can play at any time! Most importantly, you can add this to your video library on your Media Center without having to load YouTube!

Sunday, April 29, 2007

Microsoft Student Partners program

What is the Microsoft Student Partner (MSP) program?
The Microsoft Student Partner Program recognises the top minds from around the world who are passionate about technology. It's a once in a lifetime opportunity to develop real-world skills to help you succeed in your future career, to help others learn about the technology of today and tomorrow, and to connect with other like-minded students, all whilst having a ton of fun along the way.
The program is a way of encouraging students who are interested in building a closer relationship with Microsoft, and those who are simply hooked on technology, to develop their skills further.

What is an MSP?
The Microsoft Student Partner program consists of the brightest and most innovative student developers and technology enthusiasts from universities around the world.

The ‘ideal candidate’ for an MSP would be a passionate and enthusiast individual who wants to learn about new tools and technologies. You would need to have a whole range of skills including excellent time management, organization and communication skills to ensure that you could host a successful campus launch event.

An MSP should be comfortable and confident presenting in front of large audiences of both students and faculty members. You may even be asked to present in front of your fellow MSPs at an event. General business and sales skills come in very handy in order to allow you to articulate your ideas effectively when presenting.

MSPs are sociable, friendly and approachable individuals who like to meet new people. You will require the ability work as a team as well as use your own initiative. In summary, MSPs are innovative and creative students who are extremely passionate about technology.

Why be an MSP?
The MSP Program is designed to help you get the most out of Microsoft tools and technologies, develop your skills and give you a head start in the ‘real world’ once you graduate and enter the IT industry.

Being an MSP is a privileged and honored status for any student. You get a whole host of opportunities and benefits from being part of the MSP program including:

  • Global portal access to the latest news, actions, event, worldwide forums, resources and photo gallery.
  • MSDN Universal Subscription.
  • Technical events hosted by Microsoft – travel expenses funded, Industry and Microsoft speakers.
  • Mentor Program with Community Leaders & Microsoft Most Valued Professionals.
  • Software giveaways, betas, resource kits etc.
  • Promotional items for on campus use – posters, flyers, campus launch kits etc.
  • Star Award winners receive Tech-Ed passes (ticket, flights & accommodation) and reference letter.
Interested?!
Go the official Student Partner website for more details: http://student-partners.com

Friday, April 6, 2007

Google offers wireless Internet access via the toilet!

Google Inc. announced the launch of Google TiSP (BETA)™, a free in-home wireless broadband service that delivers online connectivity via users' plumbing systems. The Toilet Internet Service Provider (TiSP) project is a self-installed, ad-supported online service that will be offered entirely free to any consumer with a WiFi-capable PC and a toilet connected to a local municipal sewage system.

Structured Programming HW sheets & Labs solutions

The following Zip file contains solutions of:
  • Sheet 1, 2 and 3
  • Lab 3, 4 and 7
  • The 2 exercises at the end of lecture 4
Download: http://sharebigfile.com/file/135146/Structured-Programming-zip.html

Update:
I uploaded the file to another host since the megaupload link wasn't working.

Friday, March 16, 2007

Only in Egypt!!

I know these are kinda old and you have probably seen them before but I just love them! :)



















iPhone

You have to see this!

What is Bluetooth?

Bluetooth is a standard for short range, low power, low cost wireless communication that uses radio technology. Although originally envisioned as a cable-replacement technology by Ericsson (a major cell phone manufacturer) in 1994, embedded Bluetooth capability is becoming widespread in numerous types of devices. They include intelligent devices (PDAs, cell
phones, PCs), data peripherals (mice, keyboards, joysticks, cameras, digital pens, printers, LAN access points), audio peripherals (headsets, speakers, stereo receivers), and embedded applications (automobile power locks, grocery store updates, industrial systems, MIDI musical instruments). Ericsson joined forces with Intel Corporation, International Business Machines Corporation (IBM), Nokia Corporation, and Toshiba Corporation to form the Bluetooth Special Interest Group (SIG) in early 1998. 3Com Corporation, Lucent/Agere Technologies Inc., Microsoft Corporation and Motorola Inc. joined the group in late 1999. Joint work by the SIG members allowed the Bluetooth vision to evolve into open standards to ensure rapid acceptance and compatibility in the marketplace. The resulting Bluetooth specification, developed by the Bluetooth SIG, is open and freely available at the official Bluetooth website www.bluetooth.org. Bluetooth technology is already supported by over 2100 companies around the world. The Wireless Personal Area Network (WPAN) technology, based on the Bluetooth Specification, is now an IEEE standard under the denomination of 802.15 WPANs. In 2003, Cahners In-Stat estimated that Bluetooth-enabled equipment shipments would climb to just under 1 billion units by 2005.

You can download the original three-paper IEEE text from here.

Wednesday, March 14, 2007

Turbo C++

For those of you who are still 'struggling' to get the C editor, Turbo C++, you can download it from here.

Tuesday, February 27, 2007

Logical Connectives

Check out this Wikipedia article: http://en.wikipedia.org/wiki/Logical_operator

It will help you a lot to understand the first lecture of the Discrete Structures course.

Thanks to Nizar for the link :)

Hesham

Windows Vista Upgrade Advisor

Wondering if your PC is powerful enough to run Vista? The Windows Vista Upgrade Advisor will scan your computer thoroughly and create an easy-to-understand report to help you to determine if your Windows XP-based PC can run Windows Vista or not. If not, the Advisor will tell you which hardware parts should be upgraded in order to be able to run Vista and get the optimum performance out of it.

The Windows Vista Upgrade Advisor can be downloaded from here.

You will also need Microsoft .NET Framework which can be downloaded from here.

Hesham

AAST IEEE

What is the IEEE
The IEEE (Eye-triple-E) is a non-profit, technical professional association of more than 360,000 individual members in approximately 175 countries. The full name is the Institute of Electrical and Electronics Engineers, Inc., although the organization is most popularly known and referred to by the letters I-E-E-E.
IEEE is best known for developing standards for the computer and electronics industry. The worldwide IEEE members in different countries are divided into 10 Regions, and 300 local Sections. The IEEE Egypt Section belongs to Region 8. Members have the ability to join any number of 37 technical Societies. 1300 Student Branches are located across the world and usually interact quite closely with the local sections for industry contacts and other support.

IEEE in Egypt
The AAST IEEE Student Branch is determined to make college life at the AAST an active and enjoyable experience by encouraging the development of Egypt's future technology specialists, both technically and professionally by organizing conferences, workshops, seminars and tutorials addressing diverse issues. Also, of the IEEE main objectives are promoting university-industry collaboration and exchange of experiences and interests. Last but not least they encourage reaching out and helping others through general awareness.

Interested in joining the IEEE?! Contact me for more details. Also check these websites for more info:
http://www.ieee-aast.org/
http://ieee.org

Hesham

Friday, February 16, 2007

Blog name, any suggestions?!

I'm going to buy a domain name for our blog soon, but I want to change it's name to something other than AAST Innovators. So please leave a comment in this post if you could come up with something better.

Hesham

Thursday, February 15, 2007

Writing a successful CV

I guess most of you will probably be looking for job training and internship during the summer holiday. The first step to finding a good job is to understand how to offer yourself in the best way to an employer and this is done by writing a successful CV. The purpose of your CV is to make you attractive, interesting, worth considering to the company and so receive a job interview.

Here are some good tips for writing CVs I collected while googling a few weeks later:

It is vital to remember that you should use your CV to convey the information that you wish to give an employer and not be confined to a restrictive format or to a collection of headings. Your CV is the key that unlocks the door to an interview. It should contain the information required to achieve that goal, and no more! It is not an autobiography. Employers will make snap judgements as to whether to interview you or not, based on the appearance of the CV as well as the content.
Whilst in rare circumstances it may be appropriate to express your amazing personality by producing a very different-looking CV (to 'stand out from the crowd'), the vast majority of employers are looking for a succinct, clear record of your skills and experience.
There are two communication principles to remember:
1. Keep it simple.
2. If they didn't hear it, you didn't say it.
So, when you have written a first attempt at your CV, get someone else to look at it, and tell you how to make it better. Ask your friends, your tutors or teachers, your career office, family friends in business. What you have written may seem simple and obvious to you, but not to an employer! Go through it again and again with a red pen, making it shorter, more readable, more understandable!

Rules:

1. Always type the CV - use a word processor if at all possible - on good quality paper.
2. Never use more than two pages: employers are easily bored!
3. Don't write the words Curriculum Vitae at the top: it's perfectly obvious what it is.
4. Don't preface the CV with a descriptive statement ('A well-educated enthusiast who will undoubtedly make his mark in international commerce'). Let the facts speak for themselves, and the employer be the judge of your capabilities.
5. Use this Format:

  • Name (bold type)
  • Personal details including date of birth, address and telephone number, marital status, nationality
  • Qualifications
  • Career history (in reverse order, most recent position first)
  • Leisure interests
  • References


6. Ensure all dates link up; leave no suspicious gaps. If you were out of work for a period, or travelling, include it as a stage in your history.
7. Write employer's name and location in bold type. Employers often select for interview by identifying with companies that are known to them.
8. Use your last title in each position, also in bold type.
9. Briefly describe the company's business and size, in italics.
10. Write no more than a few lines about the job content and responsibilities. If appropriate, show how you progressed from one position to the next. Mention specific numbers if possible ('In charge of 3 staff, 'sold 30 machines, worth £100,000 each'). Highlight one or two achievements after every job.
11. Under leisure interests, demonstrate breadth of character by mentioning varied interests, energy with sporting interests. Don't fabricate interests as you may well be quizzed on them, particularly if the interviewer shares those interests. Don't worry the employer by listing contentious interests (shooting, foxhunting). Keep the list short: one artistic, one sporting and one unusual interest. Don't put 'socialising' which is taken as drinking!
12. Only list references if they have said they would speak for you. With their permission, give their telephone numbers so that employers feel encouraged to make contact with them.
13. Ensure all spelling is correct. Don't trust computer spell-checkers.
14. Distribute your CV to the top recruiters in your industry.

Finally, remember that there is no single perfect CV!

Sorry for the long post :)

UPDATE: I uploaded my CV as an example for you. You can download it from http://www.filefactory.com/file/ce6e29/

Hesham

Deadline for registration

The deanery of admission and registration has announced that the deadline for registration is the 8th of March. The registration desk will be open from today till the 22nd of February from 9 AM to 2 PM and from the 25th of February till the 8th of March from 9 AM to 4 PM.

Hesham

Wednesday, February 14, 2007

Oracle Technology Day

Oracle is organizing a seminar (Oracle Technology Day) on Wednesday, February 21, 2007. At this Oracle Technology Day, you will get an update on the progress of grid computing techniques and implementations. For those of you who don't know, grid computing is applying the resources of many computers in a network to a single problem at the same time – usually a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data. Grid computing uses software to divide and farm out pieces of a program to as many as several thousand computers.
The seminar will be at Hilton Green Plaza Hotel, from 9:30 AM to 2:00 PM. Please drop an email if you are interested.
Check this page for more info: http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=59501&src=4881797&src=4881797&Act=10


Hesham

Monday, February 12, 2007

Middle East Developers Conference 2007


I've been in Cairo for the past week to attend the Middle East Developers Conference 2007 (MDC). I decided to write an article about the MDC since probably most of you haven't heard about it. MDC is the biggest Developers' Conference in the Middle East, and is a critical event for any developer who wants to see the newest as well as the next-generation technology. MDC is full of sessions and activities that help you learn the current and future of the Microsoft platform and get to know people who are as passionate about software as WE should be!

The MDC this year had speaker from the US, Europe and the Middle East delivering over 40 technical sessions, interactive labs and workshops. The MDC also had a competitions between the attendees (
http://mdcgadgetcup.com/)

The MDC was held in the Cairo International Conference Center from the 4th to the 7th of February. Take a look at the official MDC07 website for more info:
http://mdc07.com

MDC is a MUST-ATTEND event, so see you next year in MDC 2008 isA :)

Hesham