Know more and connect with me on [Linkedin Profile].

Tuesday, February 27, 2007

What is Website Feed?


When website publish updates frequently such as news sites or blogs, how could visitors track new updates on that website?, they have to periodically visit the website to see if there exist any updates, this is not a systematic approach and not also convenient. In our busy world, many times you will forget and miss vital information that is important to you.

As an alternative, you can subscribe to website newsletter, but many sites have no newsletter and even if it has, you have to wait until they send the email, and even it will not say everything in their email. In many other cases we do not want to disclose our emails because of our fear from the increasing spam.
Nowadays there is a concept of site feed that is designed to solve this problem, the site owner put all new items in an xml file format and publish the feed URL. The feed URL should be technically correlated with the website content, may be all the content are in database so that web pages and site feeds are generated on the fly, or maybe the data is originally XML and on the fly converted to html for web viewers.

Technically there are two standards for the feeds, Atom and RSS, we will not discuss them in this article, but I already hyberlinked them for more details.

On Web pages that offer feeds, web feeds (RSS or Atom) are typically linked with the word "Subscribe", an orange square, , or a rectangle with the letters or .

How to read such feeds? Special piece of software called Newsreaders (or Aggregators) can scan these feeds, automatically letting you know when the sites have been updated and bring updates to you automatically. You can schedule such tools to check every 10 minutes or every day morning or whatever you like. Some tools are web based and others are desktop based.

As example, Thunderbird is a feed reader- beside its email reading capabilities-, Google Reader is an example of web based reader. Actually there exist more than 67 application and service, atomenabled.org has a good directory of all tools and services at http://www.atomenabled.org/everyone/atomenabled/index.php?c=5

There exist many developer tools to assist in creating feeds, atomenabled.org have a nice list at http://www.atomenabled.org/everyone/atomenabled/index.php?c=7 that have many tools with Java, php, and .Net.

As Web Feed is the standard of getting updates and is widespread, all websites should be feed enabled, this is not an option, millions of users already use feed-reader and aggregators services/applications to track website changes especially news sites.

Of course you can read our blog feed through http://ahm507.blogspot.com/atom.xml, and you can also subscribe by email if this is still easier to you.

Monday, February 26, 2007

Access Your POP3 Email Accounts

If you are abroad and want to read you POP3 email, you can visit http://mail2web.com/, write username and password and instantly you are able to access your email. mail2web.com is simple, fast, free, and requires no registration.

Sunday, February 25, 2007

Samba Made Easy

Windows servers are now widespread, although Linux is having a strong ground everyday, you always have to deal with networks that have Windows clients and servers, Samba is the ideal solution on Linux to let it coexist with Windows without any trouble.

What I want to mention is the availability of quality books from samba.org free of charge, I was afraid to start reading about Samba, but after short time reading their free books, I was happy as the material is so easy.

Samba is easy, but be prepared to use a command shell. Here are the books links:
http://www.samba.org/samba/docs/. There exist commercial books also, buying it is a good idea to support Samba.


Saturday, February 24, 2007

Google Translate in More Languages!



Google has a translate service, when you select a URL to translate, a new page from Google will show up and display the original page translated. The new page have all URLs transformed so that, when you click it, it will show a translated version from the original page. This is just like what Sakhr [1] developed several years ago.

What is amazing is the translation languages includes Arabic, yes you can translate any page from Arabic to English and from English to Arabic. Have a look at http://translate.google.com/translate_t/

Also, when you search Google using an Arabic keywords, the search hits URL will have a link with the text: [Translate this page], click it to see it translated. Note that, the Arabic support is still in beta ;)



[1] You can see Sakhr Tarjum from http://translate.sakhr.com/, if you are in Egypt, you will not be allowed to view the page unless you are connected to Internet through dialup with the number 07770500! I don't know what you will see from other countries.

Friday, February 23, 2007

Dictionaries for the Non-English Speakers

In our day to day tasks we make a lot of Internet research, Google helped us to get our target in the first page of search hits, and many times in the first hit. For researchers with English language as a second language, a dictionary is essential to make comprehension easier.



Online Users:
For the online user, answers.com gives us a comprehensive word dictionary, it is more than a dictionary, it is a 4+ million definitions, the definitions are comprehensive and - in many cases - you can hear the pronunciation.

To make lookup easier, answers.com offers two options. The first is a FireFox extension that makes lookup much easier, just Alt+double click on any word in FireFox to get the word definition in a small lookup window. Download the extension from http://www.answers.com/main/firefox_plugins.jsp.

To use the Alt + double click on any Windows application not just FireFox, answers.com offers another tool. Download it - Windows based- form: http://www.answers.com/main/download_answers_win.jsp

Offline Users:
Many times, we are offline and need a quality dictionary to lookup words, StarDict is an excellent dictionary, you can use it on Windows or Linux as it is a multiplatform tool. You can have multiple dictionaries and you can also hear word pronunciation.

Download the StarDict components from http://stardict.sourceforge.net/ Here are the steps of installation: (on Windows)
  1. Download and install GTK+ as it is a prerequisite to StarDict.
  2. Download and install StarDict.
  3. Download and install your favorite dictionaries.
  4. Download and extract the TTS Sound files.

StarDict has many dictionaries other than the English-English ones, as example you can find English-Arabic at http://rpmfind.net//linux/RPM/mandriva/devel/2007.0/x86_64/media/contrib/release/stardict-freedict-eng-ara-2.4.2-3mdk.noarch.html
Although it is an rpm package, you can easily extract contents and install it (on Windows using rpm tool on cygwin).

Non English speakers nowadays have many tools that make English comprehension much easier and enjoyable.



Thursday, February 22, 2007

Access All Your Chat Accounts From One Website



There is a nice website that let you access all your chat accounts even if they are blocked by your local network firewall.

Have a look at it at http://www.meebo.com/

Wednesday, February 21, 2007

More Than 2 Million Lines of Code!

I am working in a telecommunication project, in CDMA-2000 terminal, I am publishing here a metrics that are collected by SVNStat, SVNStat is a tool to generate statistics from SVN repository. SVN (Subversion) is a version control system. Sure both SVN and SVNStat are open source. Here are some interesting metrics.


  • The project has 2,127 files.
  • More than 2 million lines of code, exactly 2,179,023.
  • Files generally are big, the largest file has 20,708 line, the average file has 952 line.
  • The make file that describe how to compile and link the image has 48,961 line.
It is the largest project I work with in the last few years. I am interested to know more metrics about bigger systems, so I will look at open source projects like FireFox or Linux. Once I got some metrics, I will publish it here.

Saturday, February 17, 2007

Is Open Source The Answer to ERP?



Is Open Source the Answer to ERP? A growing number of mid-market CIOs (Chief Information Officer) say yes.
In the wake of recent ERP vendor consolidation, open source promises flexibility
for the future. Plus it fits the need to customize affordably.

http://www.cio.com/archive/021507/tec_opensource.html


Friday, February 16, 2007

Open Source ERP



I am researching Enterprise Resource Planning systems, I found a very good definition on wikipedia at http://en.wikipedia.org/wiki/Enterprise_resource_planning
I found also a list of open source vendors:
Look also at: http://en.wikipedia.org/wiki/List_of_ERP_vendors

I am going to install the open source systems on my local machine and study them, I hope I can write posts about my experince with them.

Thursday, February 15, 2007

One Great Bundle, Apache, PHP, MySql, ...


I always have trouble configuring php with Apache on Windows, many
versions with many differences, actually I spent a lot of time
disappointed and unable to get things working. I finally found a great
bundle that save a lot of time, with one setup file you will be able to
install Apache, php, mysql, sqlitemanager, phpmyadmin configured and
working properly. This is really great, discover WAMP on

http://www.wampserver.com/en/index.php



Wednesday, February 14, 2007

CMM for Small Organizations



At first, you could believe CMMI is only for large organizations, of course it should be capable to help big organizations, but what about small businesses. There exist many articles about CMM/CMMI for small organizations, just google with the phrase "CMMI for Small Organization" and you will find useful papers and articles.
One of the early papers I found useful was Dynamic CMM for Small Organizations.
I got a comment from a friend that, Indian Lead appraisals could certify a maturity level to companies with just four employees, yes just 4 employees! So whatever your company size, don't feel afraid from CMMI. This does not mean it is easy, but means size will not stop you from progressing with CMMI model.

Tuesday, February 13, 2007

NTC, the National Telecommunications Holding Corporation (Egypt)

It is the first time to know about this large Egyptian holding company.



About NTC:
National Telecommunications Holding Corporation (NTC) was established in 1995 as a technology-based holding company operating in the Telecommunications and Information Technology fields in Egypt and the Middle East. NTC has grown since to become a conglomerate encompassing subsidiaries in Telecommunications Services, Information Technology Services, Financial Services and Manufacturing of telecommunications equipment and products.

Since its inception, NTC has the vision of building a next generation carrier offering a one-stop shop for its customers by providing them with a multitude of services to fulfill their technology needs. This is done by combining the resources of a large IP-based network providing data communication, broadband and narrowband Internet connectivity, with the capabilities of an electronic financial transaction infrastructure. NTC group is well prepared to address the future needs of corporate as well as individual users.

NTC's growth is based on developing strong alliances with international companies and on having value-added partners at the subsidiary level. Through its holdings, NTC is present in an extended range of services – from operating data networks, to providing broadband access, to implementing a nationwide network of Automated Teller Machines and point of sales for banks and card issuers in Egypt. NTC as a shareholder of various business entities and subsidiaries can provide a multitude of services with an aggressive expansion plan for the Arab and African markets.

Look also at NTC Subsidiaries and NTC shareholders.

Monday, February 12, 2007

Arabic Support for Windows CE



There is a useful article about supporting Arabic in Windows CE, I find it very useful and helps understand the Context Character Analysis - CCA - issue in Arabic. Here is the link:

http://www.codeproject.com/ce/arabicsupport.asp

Sunday, February 11, 2007

Comparative Survey of Java Obfuscators



This is a nice comparison of Java obfistication tools, I used it in
obfisticating a desktop software.

http://www.cs.auckland.ac.nz/~cthombor/Students/hlai/hongying.pdf

<http://www.cs.auckland.ac.nz/%7Ecthombor/Students/hlai/hongying.pdf>

If the link is broken, googling by the title will get the report to you.



Saturday, February 10, 2007

Principles of Lean Thinking

One of my relatives attended a training in London about Lean Thinking, although my friend's domain is aircraft maintenance, I was surprised by the amount of his excitement. I decided to do a little research to know what is the point and know if something similar exist in software development domain.



After a little research I found an article that astonished me (those days I was overwhelmed by the details of big processes in my company). Here is a link to that article, I think you will find it useful, Principles of Lean Thinking at: http://www.poppendieck.com/papers/LeanThinking.pdf.
At first it seemed Lean Thinking is conflicting with CMM/CMMI, but after a little research I found there is no conflict, and we should take care when applying CMMI to be in a beneficial way to the organization and consistent with its size and their projects complexity. See this interesting blog dedicated to agile and CMMI: http://www.agilecmmi.com/.

Friday, February 09, 2007

IEEE Code of Ethics

We, the members of the IEEE, in recognition of the importance of our technologies in affecting the quality of life throughout the world, and in accepting a personal obligation to our profession, its members and the communities we serve, do hereby commit ourselves to the highest ethical and professional conduct and agree:



1. to accept responsibility in making decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;

2. to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;

3. to be honest and realistic in stating claims or estimates based on available data;

4. to reject bribery in all its forms;

5. to improve the understanding of technology, its appropriate application, and potential consequences;

6. to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations;

7. to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others;

8. to treat fairly all persons regardless of such factors as race, religion, gender, disability, age, or national origin;

9. to avoid injuring others, their property, reputation, or employment by false or malicious action;

10. to assist colleagues and co-workers in their professional development and to support them in following this code of ethics.

http://www.ieee.org/web/membership/ethics/code_ethics.html

Thursday, February 08, 2007

Who Links to your Site?



You can know exciting info about your website, it is very interesting. Visit http://www.google.com/webmasters/ and verify website ownership, and then look at interesting data about your website such as Statistics ( Crawl Stats, Query Stats, Page Analysis, and Index Stats), Diagnostics, Links, and Sitemap.
You can see that info about all your websites, remember that you have to verify ownership. Enjoy it.

Wednesday, February 07, 2007

Introduction to CMMI 1.2 Course



I just finished today a course on CMMI 1.2, I have these notes:

  • The course is a good introduction to the model, it is most useful to CMMI consultants, quality assurance team members, project managers, and team managers. Not all model details are necessary for other team members, but of course they should be trained on relevant Key Process Areas.
  • The course preparation and material are excellent.
  • The book is very fine and helpful.
  • The model is really sophisticated and well done, it much better than SW-CMM.
It was nice days (3 full time days), I enjoyed it.

Tuesday, February 06, 2007

The uIP Embedded TCP/IP Stack (Open Source)

The open-source uIP TCP/IP stack provide TCP/IP connectivity to tiny embedded 8-bit microcontrollers, with maintained interoperability and RFC standards compliance.

uIP is an implementation of the TCP/IP protocol stack intended for small 8-bit and 16-bit microcontrollers. It provides the necessary protocols for Internet communication, with a very small code footprint and RAM requirements - the uIP code size is on the order of a few kilobytes and RAM usage is on the order of a few hundred bytes.

uIP is open source software written in the C programming language and the documentation and source code is free to use and distribute for both commercial and non-commercial use as long as proper credit is given (the full BSD-style license is here). It has been ported a wide range of 8-bit microcontrollers and is used in a large number of embedded products and projects (see the Links page for a few examples).


Look at:
http://www.sics.se/~adam/uip/index.html




Monday, February 05, 2007

AVR Open Source Compiler and Linker



WinAVR (pronounced "whenever") is a suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU GCC compiler for C and C++.

Check out the WinAVRTM project on Sourceforge at http://sourceforge.net/projects/winavr/ for developer information. Use the navigation menu on the left to find your way around this site.

WinAVRTM contains all the tools for developing on the AVR. This includes avr-gcc (compiler), avrdude (programmer), avr-gdb (debugger), and more! WinAVR is used all over the world from hobbyists sitting in their damp basements, to schools, to commercial projects.

WinAVRTM is comprised of many open source projects. If you feel adventurous, volunteers are always welcome to help with fixing bugs, adding features, porting, writing documentation and many other tasks on a variety of projects.

http://winavr.sourceforge.net/

You can use Eclipse as an IDE, see Eclipse IDE for Embedded AVR Software Development

Sunday, February 04, 2007

Open File System (Open Source)




AFS is a distributed filesystem product, pioneered at Carnegie Mellon University and supported and developed as a product by Transarc Corporation (now IBM Pittsburgh Labs). It offers a client-server architecture for file sharing, providing location independence, scalability, security, and transparent migration capabilities for data.

Look at:
http://www.openafs.org/


Saturday, February 03, 2007

Friday, February 02, 2007

Thursday, February 01, 2007

A Unified Linux



...

The most important event is the formation of the Linux Foundation. This
is an attempt by the major players, including HP, IBM, and Intel, to
create a standard Linux and discourage the continued trend toward
various distros that are subtly incompatible with each other and certain
applications.

http://news.yahoo.com/s/zd/20070122/tc_zd/199200