Wednesday, January 31, 2007

3D Modeling Made Easy

Google SketchUp makes creating 3D models really easy. Check out these interesting SketchUp video tutorials.

Tuesday, January 30, 2007

Windows Vista Launches

Microsoft has finally launched its full range of Windows Vista editions.

24-Hour PHP Competition

What can you develop with PHP in 24 hours? That's what PHPThrowdown aims at finding out. PHPThrowdown is a PHP competition in which contestants compete against one another using PHP during a 24 time frame.

Monday, January 29, 2007

SQLite Rocks

The database management systems in common use are relational client-server databases. MySQL, Oracle, Microsoft SQL Server and many other popular RDBMS are built on the client-server model. SQLite is an interesting departure from that well known model. SQLite is a library that can be embedded within an application and become part of this application. You no longer need to setup, configure and manage a separate DBMS to do database transactions. You can do all this from within your own application without a need for any external system.

Of course SQLite would be suitable for specific purposes only. Most production web applications cannot rely on it. Yet the idea itself of having such a nice way to do database transactions in itself is interesting.

Cairo ICT 2007

The 2007 Cairo ICT exhibition will be held at the Cairo International Conference Center from February 2nd to February 4th, 2007. The exhibition will be accompanied by a forum.

The Cairo ICT 2006 report provides statistics on last years exhibition.

QEDWiki - Easier than Visual Basic

IBM is working an a new revolutionary technology that enables developers to do drag-and-drop web development from within a browser! QEDWiki attempts to make the process of developing common types of web applications extremely easy. QEDWiki can also be used by non-programmers to develop a range of web page types.

Women Can Code Too

Who said that only guys are good at programming? Women too can be good at writing code. Irina Khmelinina is one of the contributors to the open source Zend Framework project.

Version Control in Open Source

CVS had been the classic standard version control system for open source projects. Still many open source projects use CVS as their version control system till this very day. Today, Subversion is the new kid in town. It offers better functionality than CVS and is being used by a growing number of new open source projects.

MVC Design Pattern Gets More Popular

Due to the increased reliance of web application frameworks on the MVC design pattern, it is becoming the most popular object oriented design pattern out there. This is leading also to spreading the concepts of design patterns to the web development community.

IRC Still Alive

Since many years ago, I've kept trying to use IRC but found technical difficulty in doing so. I used to think that IRC was something of the past and is either dead by now or used only by computer geeks. I kept seeing references to IRC rooms though at open source communities for developers to communicate through. Today I said to myself I'll give it another try.

I discovered that the problem was that I was using the popular mIRC program which was not so user friendly actually. I downloaded and installed XChat and was able to do IRC at once. I love it. You can download an XChat version for windows from here.

Saturday, January 27, 2007

Ubuntu

Ubuntu is a Linux distro gaining popularity.

Googlebombs Deactivated

Googlebombs have been around for quite a while. A year ago, Google acknowledged their presence yet mentioned they'll just do nothing about it. Yesterday, however, Google announced the introduction of a new algorithm to its search engine which "minimizes the impact of many Googlebombs." The trick is to show web pages that talk about the particular Googlebomb searched for instead of returning the site that was subject to a Googlebomb attack. Googlebombs look like they will finally be deactivated.

Friday, January 26, 2007

One Laptop per Child

Egypt, India, China and other developing countries have expressed desire to buy one million laptops each from the OLPC program when the laptops become ready. Each laptop costs only $100. The project is supported by MIT, Red Hat, AMD and Google.

Thursday, January 25, 2007

Google Imitates Yahoo! Video

Yahoo! Video is a search tool that helps one search for videos scattered on various websites. Google Video was something different. Google Video acted as some sort of hosting place for video content. Of course you could search for videos using Google Video but you were only able to search for those videos that are hosted on Google Videos itself and not for videos present in the rest of the web.

When Google bought YouTube, the expectation was that Google would in one way or another merge both Google Video and YouTube into one thing. It was expected that YouTube might ultimately be dissolved into Google Video, since both provide essentially the same service which is hosting video content and building video sharing communities on top of that.

Today, Google announced that it would continue supporting YouTube as a separate entity providing video hosting for its video sharing community. On the other hand, Google Video will be refocused to act as a search engine for videos on the whole web. Google Video allowed you to search only content that is hosted on Google Videos itself. Starting from today, it allows you to search for content present on YouTube as well. Later on Google will add more video content providers to its video search and ultimately search all videos found on the web. This brings us to essentially what Yahoo! Videos was doing ever since it first started.

This move sounds reasonable. When you use Google Images it allows you to search the whole web for images. So it's reasonable enough that when you use Google Video it would allow you to search the whole web for videos.

This explanation today by Google clarifies things out. It also explains why Google kept using YouTube instead of Google Video to publish its own videos ever since its acquisition of YouTube. I wonder if the next step would be to disable the hosting of new videos at Google Video and to make this only possible via YouTube. We'll just have to wait and see.

Monday, January 22, 2007

Satyam in Egypt's Smart Village

Satyam, the giant Indian IT company, is starting a 300-seat center in Egypt's Smart Village. Not only is Satyam aiming at capitalizing on the availability of a pool of software engineering talent in Egypt, but it is also eyeing the growing Egyptian IT market. Read more in the Satyam Expands into Egypt article.

Sunday, January 21, 2007

Egypt vs. India in IT Exports

According to Business Today Egypt, Egypt's IT sector was worth $70 million in 2002. Egypt IT exports amounted to $105 million in 2005 while those of India reached $12.2 billion in 2004.

Currently, Egypt's IT industry is valued at $250 million while that of India is valued at $30.4 billion. By 2010, Egypt aims to reach $1.2 billion in IT exports, while India aims to reach $96.9 billion by that time.

I hope these numbers act as a wake up call for Egyptians working in the IT industry and make them realise the potential ahead of us.

AJAX or Flash?

Social networking with a spin. That's what Geni is all about. Family tree web applications are nothing new, but Geni attempts to take them a step further by giving them a social networking spin. The cool thing about Geni is its user interface, not only is it very easy to use and intuitive, but it's also pleasant to use. They use a Flash user interface to achieve such a result.

Google has long pushed AJAX to the limits in order to provide rich user interfaces on the Web. Despite the growing interest in and excitement about AJAX, many cool web applications use Flash to achieve a rich interactive online user experience. Although Google is using AJAX most of its web applications such as gmail, Google Docs & Spreadsheets and Google Maps, yet it's interesting to note that in one of Google's applications they use Flash instead. This application is Google Analytics.

Google Uses Microsoft Colors

Blue, red, yellow and green are the distinctive Google colors. Those same four colors have been Microsoft's colors ever since Windows was launched. Why is Google using the exact same four colors that have been Microsoft's for long? Was it a coincidence? Of course not.

My guess is that grouping those four colors represents a product made to be used by everyone. Windows was launched to be the easy operating system for everyone, not for an exclusive group. Google was launched to be the same, a service that is easy to use by everyone, not an exclusive group. I don't know why those four colors in particular convey this meaning, but sure marketing research experts are the ones that have the answer.

Friday, January 19, 2007

Tag or Label?

Tags are one of the defining elements of Web 2.0. When Google started gmail, it used the term label instead of the term tag. When Google developed the new version of Blogger, it also again used the term labels instead of tags.

I wondered why Google used this term instead of the other popular one. My first impression was that Google is trying to have its own terminology, same thing for instance as when Netscape Navigator had "bookmarks" while Internet Explorer has "favorites", another similar pair of terms in the two browsers is "reload" and "refresh" and so on.

When Google used the term label instead of tags in its new version of Blogger I said to myself this might be to continue on the same tradition of gmail. But I noticed something that made me get puzzled. I found that in Google Docs & Spreadsheets, Google does not use the term label and used the term tag instead! That was really puzzling to me and got me thinking in a different path asking myself if the two terms actually had different meanings.

Perhaps Google is still using the term tag in Google Docs & Spreadsheets as a continuation from its predecessor Writely. I suggest that Google would unify its terminology and use the term label there as well. Or do you think Google should instead go with the rest of the world and use the popular and almost standard term tag in gmail, Blogger and any other of its services?

By the way, Google uses the term labels in Google Bookmarks while it uses the term tags in Google Reader. Is this making the situation more puzzling or is it giving any clues to the existence of some subtle difference between a label and a tag?

In Google Video and in Picasa Web Albums, Google uses the term tag. Are you starting to see a common thread now and a consistent pattern emerging on when to use the term tag and when to use the other term label, or is it getting even more puzzling?

Thursday, January 18, 2007

Web Design Course at Resala

I was delighted today to receive a phone call from Islam who works at the Masr El Gedida branch of Resala. I had previously volunteered to deliver a mini-course in HTML there. He asked me to start a fresh web design course. I really missed Resala having not been there for a couple of weeks. I agreed to deliver the course.

My plan is to start with the basics of HTML, give a little CSS then move on to Dreamweaver. I plan to make the course light and simple. I want it to act as an introduction and to pave the way for a correct start in web design.

The course will start tomorrow Friday 20th of January 2007, God willing. It will be from 1 PM to 3 PM every Friday at the Masr El Gedida branch of Resala. The course is free to attend.

Intel Makes Dust Resistant Computers

Ever sicnce I faced the problem of noisy computers I've been thinking a lot about the amount of heat and dust computers in Egypt go through. These computers are not actually designed for our weather conditions. They are designed for dust-free environments and places with lower temperatures than hours. Both heat and dust accumulated in a computer in Egypt cause it to become more noisy with time, reduce its lifetime and may in extreme cases cause headaches to the user and reduce work efficiency or gaming pleasure.

I've been increasingly thinking about why not someone design a computer specially for our type of environment. A computer that is dust-resistant and can work efficiently in high temperatures. That's why I was delighted to know that Intel is developing computers that can accommodate environments with high temperatures, high humidity and dust. The ruggedized PC was initially designed for India, but other countries are expressing interest in it.

I believe when such dust-resistant computers enter the mainstream Egyptian hardware market they will be a blockbuster.

Wednesday, January 17, 2007

Thousands of Scripts

HotScripts contains thousands of scripts in various server-side scripting languages such as PHP, ASP, Perl, Python and even Ruby on Rails among many others. There are also client side scripts in JavaScript.

A Crash Course in Smarty

I liked this Smarty crash course. Smarty is popular PHP template engine. It has many elements of a good tutorial. It is direct and to the point. It also shows side by side the code and output of that code. This way of illustration is an excellent one for the brain.

PHP Access Control

While looking around for a ready-made way to put some sort of an access control system for my PHP web application I bumped into this open source script that provides PHP Generic Access Control Lists.

Tuesday, January 16, 2007

CakePHP Tutorial

IBM has an interesting tutorial about CakePHP, the popular PHP framework. I usually like IBM tutorials because they are clear and easy to follow.

Excellent Training Concepts

I really lift my metaphorical hat in praise for these excellent training concepts referred to at the Moodle web site. Because I love delivering IT training and had been doing so on a professional basis and now on a volunteering basis, I highly appreciate those concepts mentioned at the Moodle site. I know that those concepts are really true and are the core of what spells out the difference between and good and a bad training course.

MDC 2007 in Cairo

Last year they've learnt the lesson, Microsoft's MDC attracted an extraordinary number of attendees. This year they are making the MDC 2007 attendees fee for 100 LE! That's interesting. This will help reduce the number of attendees, and make some cash at the same time *smiles*.

Joomla!

Joomla! looks like an interesting open source content management system.

Saturday, January 13, 2007

Cool Web Design

Here is a stunning example of what I call cool web design. The gradient background color, the splash of colors at the top left, the simplicity of design, the large space of 'air' in the page to breath in, the links and the fonts all make this web page have a soothing effect on the mind and soul. That's what I call cool web design.

Black Box Testing

This educational video clarifies the difference between various types of software testing, including black box testing, glass box testing, acceptance testing, unit testing, system testing, integration testing and other types of software testing. Watch the Black Box Testing video.

Friday, January 12, 2007

XFN and Social Networking

If you keep a personal blog, you might put links on the side bar linking to other people's blogs. Those people whose blogs you are linking to can be your friends, your colleagues, your relatives ... etc. XFN, or XHTML Friends Network, is a standard way to indicate your relationship with the owner of the blog you are linking to.

The XFN code indicating the relationship between you and the owner of the blog you are linking to is written inside the XHTML anchor tag itself. Here are some examples.

So what's so good about this? If XFN spreads out in links inside blogs and other community web spaces, then a new generation of web applications will emerge able to read such relationships and understand them. This can result in a huge social networking connecting people on the web to one another.

Thursday, January 11, 2007

SMF - An Easy to Upgrade Forum System

SMF is an open source forum system. What I really liked most about SMF is the ease by which you can upgrade to the latest version whenever it is out. In other open source solutions, it is often not easy to upgrade to a newer version. You usually have to download the new version, upload it to your site, then fix some stuff that could have been broken due to the upgrade.

With SMF, each time a new version is out, all you have to do to upgrade to that latest version is to click on a single button inside the admin area of the installed forum system itself, and the magic happens, it self upgrades to the latest version, with no problems taking place. For me, this is perhaps that brightest thing I found in SMF, specially after the headache I had trying to upgrade my Drupal to a new version, loosing my old data in the process.

Wednesday, January 10, 2007

Egypt Going Digital

In it's January 2007 article Year of the Technophiles, Business Today Egypt traces the increased spreading of IT into the Egyptian community.

Egypt IT Exports Reach $700 Million

Egypt IT exports have reached $700 million and are expected to rise up to $1 billion by 2010 according to Gulfnews.

Tuesday, January 09, 2007

Apple Makes Mobile Phones

Apple Computer Inc. has changed its name today to Apple Inc. Apple has revealed the release of its first mobile phone. Apple will be competing with giant players in the mobile phone industry like Nokia and Motorola.

Monday, January 08, 2007

Is PostgreSQL better than MySQL?

I've just read PostgreSQL vs MySQL: Which is better? and found it to be highly interesting.

Death of XML?

Will JSON be the future replacement for XML? XML is markup, JSON is not like markup languages that use . JSON looks more like the C programming language. It is a richer way to describe data and facilitate data exchange between different languages/machines in a standard way.

Some argue that JSON would be a much better alternative than AJAX which relies on XML. Time will prove which technology will win in the future.

Is Google Using Extreme Programming?

Is Google using extreme programming? One of the elements of extreme programming is user stories. Perhaps Google is not using extreme programming as is, but it looks like it is using some similar approach to software development.

First, Google toys with very simple applications with very few features, then adds more features later on based on usage patterns and feedback of users. Take for instance Google Page Creator. The feature set it presents is really minimal. This is not only good for users, making the application easy to use and less confusing by not providing too much choices, but also this is a method for developing applications, by starting with very basic functionality then adding only what users need based on their feedback and usage patterns.

As for user stories, Google tries to collect them using several means, two of which are discussion groups and direct requests for feedback and 'testimonials' in the form of stories. Here are some testimonials about Google Docs & Spreadsheets. In the Google Docs & Spreadsheets Help Group there is a special section dedicated for encouraging you to share your storey about Google Docs & Spreadsheets. Those stories and those testimonials are not for the sake of testimonials, but Google is using them to develop its applications. This is the methodology Google is following. Sure such a methodology is unique, not all applications can be built this way, for Google has a huge user base from which it can sculpture its applications by feeding on their feedback, stories and usage patterns.

Here is another page from Google pausing as a testimonial page, enticing people to share their stories in the hope of getting features there. A top link at the page explicitly calls for users to Share your story with us.

Sunday, January 07, 2007

Bad Web Sites

I came across this article that explains to you how to avoid making a bad web site. It lists many common mistakes bad web sites fall into and gives direction to where one should head when making a web site. I recommend reading it. Actually, it is a chapter in a book with the name Philip and Alex's Guide to Web Publishing.

Friday, January 05, 2007

Visual FoxPro Still Alive

Microsoft Visual FoxPro is still alive till this very day.

Java SE 6

Java SE 6 is currently the latest release of the Java SE platform. Java SE 6 introduces a bunch of new features.

Google Alerts

Google Alerts has bee around for quite a while. "Google Alerts are emails automatically sent to you when there are new Google results for your search terms." That explains what Google Alerts are.

I really find them handy. For instance, I can create an alert with my own name as the search term. Then whenever a website mentions my name Google sends me an alert in my email box. That's pretty cool. I also keep track of topics that interest me, for instance I have an alert for "Google Egypt." I'm able to keep track of anything said on the web about this topic. Go ahead and try using Google Alerts with a search term that interests you.

Thursday, January 04, 2007

Latin America Code Jam

Google announced the Latin America Code Jam. I hope the day comes soon when Google makes it's Code Jam for the Middle East region.

Google uses Perforce SCM for Version Control

As this job ad for Web Developer at Google suggests, Google is using the Perforce SCM System for version control. Many software companies use Microsoft's Visual SourceSafe for version control. Subversion is another popular version control system. The most well known version control system in the open source community is CVS. ClearCase is still another version control system in wide use. Perforce tries to show its advantage by comparing all those popular version control systems.

Faster Web Browsing

Google Web Accelerator claims to make your web browsing experience faster if you are on DSL connection.
Google Web Accelerator uses various strategies to make your web pages load faster, including:
  • Sending your page requests through Google machines dedicated to handling Google Web Accelerator traffic.
  • Storing copies of frequently looked at pages to make them quickly accessible.
  • Downloading only the updates if a web page has changed slightly since you last viewed it.
  • Prefetching certain pages onto your computer in advance.
  • Managing your Internet connection to reduce delays.
  • Compressing data before sending it to your computer.