A useful collection of web links

Here's a great collection of web links personally accumulated by Kamal over many years accessed and valued by both local and foreign software developers. The collection is mainly about software, but some other categories of Kamal's interest (Mathematics, Electronics,...) appear at the bottom. New links are frequently added to this list (Last update: Wednesday, April 15, 2009 - 07:37).

Your web browser's search facility (CTRL + F) will help you in effective navigation through this list. Link classification does not follow a strict hierarchy, but adjustments are constantly done to improve the navigability.

Resource Centers for Developers

Unclassified Goodies

Tools for Developers

Software Forges

  • SourceForge.net
    Largest repository of Open Source code and applications available on the Internet!
  • ObjectWeb
    ObjectWeb is an international consortium fostering the development of open-source middleware for cutting-edge applications: EAI, e-business, clustering, grid computing, managed services and more. Don't forget to look at their downloads.
  • ObjectWeb Forge: Project List
  • The Codehaus
    The Codehaus is an open-source project repository with a strong emphasis on Java, focussed on quality components that meet real world needs. They believe in open source as a pragmatic approach to software development, and all projects are business-friendly in terms of licensing.
  • OpenSymphony
    OpenSymphony is an Open Source project dedicated to providing enterprise class J2EE components. Really good products are found here.
  • Savannah: Welcome [Savannah]
    This web site (called Savannah) is a central point for development, distribution and maintenance of GNU Software.
  • Tigris.org: Open Source Software Engineering
    Tigris.org is a mid-sized open source community focused on building better tools for collaborative software development.

Software And Related Documents

Corporate Governance

IT Governance

Enterprise Architecture

Service Oriented Architecture

Software Architecture

Project Management

OOA/OOD/OOP

Patterns

UML

Test Infected Programming

Automated Code Generation

Java

Java Enterprise Edition

J2ME

XML

  • The XML Guide
    This is a summary of the (W3C) XML Specification 1.0. Each section contains examples, rules to alert you of well-formedness and validity constraints, and notes that provide tips to help you understand XML syntax.
  • XML links
    XML links at JavaRanch.
  • XML Reference Guide
  • SAX
    This is the official website for SAX.
  • SAX2 Quickstart
    This document provides a quick-start tutorial for Java programmers who wish to use SAX2 in their programs.
  • Working XML: Mapping files into SOAP requests, Part 2
  • XML Security: The XML Key Management Specification
    The XML Key Management Specification (XKMS) outlines an easy mechanism for accessing and integrating with Public Key Infrastructure (PKI). In this article, Manish Verma explains the objective behind XKMS and then offers a step-by-step guide to using the XKMS service to register and retrieve information related to a public and/or private key.
  • Practical data binding: Get your feet wet in the real world
    You will understand the differences between general data binding and data binding in the XML world, as well as round-tripping, semantic equivalence, and what to look for in a data binding package.
  • XML: Managing Data Exchange
  • XML Matters: GUIs and XML configuration data
    One area where XML is used increasingly is in the configuration of graphical user interfaces, especially in elements that are persistent but should not be fixed at compile-time.
  • XML Matters: GUIs and XML configuration data, Part 2
  • Open Source Native XML Database
    eXist is an Open Source native XML database featuring efficient, index-based XQuery processing, automatic indexing, extensions for full-text search, XUpdate support and tight integration with existing XML development tools.
  • Use Cascading Stylesheets to display XML
  • Java(TM) Boutique - Digesting XML documents
    Digester from Jakarta Commons.
  • Start working with XMLStarlet
    Open source toolkit allows you to work with XML from the command line.
  • Introduction to XML
    This tutorial discusses what XML is, why it was developed, and how it's shaping the future of electronic commerce. It also covers a variety of important XML programming interfaces and standards, and ends with two case studies showing how companies are using XML to solve business problems.
  • Encode your XML documents in UTF-8
  • Working XML: A first version of the lightweight client
  • XML development with Eclipse
  • xml2: Examples
  • Practical data binding: XPath as data binding tool, Part 1
  • Namespaces in XML Schemas, Part 1: An Introduction - Sun Java Studio Enterprise IDE
  • Namespaces in XML Schemas, Part 2 of Two-Part Series: import and include
  • XSL Tutorial
    A good and short one
  • Working XML: Get started with XPath 2.0
    Understand the new data model.
  • XPath
    • Locate specific sections of your XML documents with XPath, Part 2
      Part 1 of this tutorial gave you a foundational understanding of XPath. Using slash notation, wildcards, unions, and simple text, you learned how to locate elements and attributes anywhere within an XML document. However, sometimes you need more than just matching based on the name of a node. Predicates give you advanced and refined searching capabilities, allowing you to evaluate the values of attributes and the parent and child nodes of a targeted element. Rather than find a wider node set and refine or filter that set programmatically, you can add predicates to your XPaths to find exactly the nodes you want.
    • Locate specific sections of your XML documents with XPath, Part 2
      Part 1 of this tutorial gave you a foundational understanding of XPath. Using slash notation, wildcards, unions, and simple text, you learned how to locate elements and attributes anywhere within an XML document. However, sometimes you need more than just matching based on the name of a node. Predicates give you advanced and refined searching capabilities, allowing you to evaluate the values of attributes and the parent and child nodes of a targeted element. Rather than find a wider node set and refine or filter that set programmatically, you can add predicates to your XPaths to find exactly the nodes you want.
  • Discovering XProc
    Since October 2005, the W3C XML Processing Model Working Group (WG) has collaborated on a Working Draft (WD) specification titled 'XProc: An XML Pipeline Language.' As early implementations start to appear on the horizon and the anticipation of a second Last Call by the W3C WG (paving the way to a W3C draft recommendation), it has become clear that over the past 12 months, the XProc specification effort has picked up pace. Discover what XProc is today and its future, get the back story on some of the more contentious issues, and even run through a few examples.
  • XBRL
    • Filing financial statements in XBRL: How-to, lessons learned, and best practices
      In the past few years, eXtensible Business Reporting Language (XBRL) has emerged to meet increased regulatory and transparency requirements for financial reporting. The global connectivity of the Internet has encouraged the rapid development of XBRL standards. Effective December 15, 2008, the US Securities and Exchange Commission (SEC) will require companies with more than $5 billion in market capitalization to file their financial statements in XBRL. Over the following two years, all publicly traded companies in the US will be required to file using XBRL. In this article, learn the fundamentals of XBRL, the steps in the filing process, and lessons from an actual filing with the SEC.
    • Thinking XML: Analyze financial reporting using XBRL
      Thanks to recent events, the world turns its eyes to Wall Street. One of the hot topics is how to increase the transparency of descriptions of business activity and financial results. The financial sector and the SEC have long approached this problem with XBRL, an XML language for business reports. XBRL uses a variety of XML technologies, including XLink to provide rich detail for financial information. Learn to interpret and analyze financial report information in XBRL, using an actual U.S. Securities and Exchange Commission report as an example.
  • XSLT
    • Avoid common XSLT mistakes
      Inexperienced XML and XSLT developers often exhibit bad habits that can cause critical flaws in XSLT code. In this article, get a feel for the typical problems that come up in stylesheets and how to remedy them.
    • Introduction to XSLT
      The need to transform XML is so common that Extensible Stylesheet Language Transformations (XSLT) is considered one of the basic XML specifications. This tutorial explains how to create XSLT stylesheets. It also covers the basics of XPath, which enables you to select specific parts of an XML document. Finally, it gives you a look at some of the more advanced capabilities that XSLT offers.
    • Avoid common XSLT mistakes
      Inexperienced XML and XSLT developers often exhibit bad habits that can cause critical flaws in XSLT code. In this article, get a feel for the typical problems that come up in stylesheets and how to remedy them.
  • XML Schema
    • XML Schema 1.1, Part 1: An introduction to XML Schema 1.1
      With XML Schema's wide adoption and diversity of usage, schema users have requested many improvements and new capabilities. The W3C XML Schema working group has developed XML Schema 1.1 to address these most commonly requested features including several which address shortcomings of XML Schema 1.0. In this first of a multi-part series of articles, authors Neil Delima, Sandy Gao, Michael Glavassevich, and Khaled Noaman introduce XML Schema 1.1 with an overview of the features introduced in this emerging standard and take an in-depth look at the additions and changes to the datatypes portion of the specification.
    • Ten XML Schemas you should know
      In this article, look at some top XML schemas that provide solutions for all sorts of problems, from the basics of Web services to data description. You'll also cover database-like solutions that involve contacts and invoices. The schemas in this article were chosen for their usefulness and utility, plus their impact on the XML community in how information is shared and exchanged using the XML format.
    • XML style guidelines for leveraging schema validators
    • XML Schema 1.1, Part 2: An Introduction to XML Schema 1.1
      In this second of a six-part series of articles, take an in-depth look at the co-constraint mechanisms introduced by XML Schema 1.1, specifically the new assertions and type alternatives features with authors Neil Delima, Sandy Gao, Michael Glavassevich, and Khaled Noaman.
    • XML Schema 1.1, Part 2: An Introduction to XML Schema 1.1
      In this second of a six-part series of articles, take an in-depth look at the co-constraint mechanisms introduced by XML Schema 1.1, specifically the new assertions and type alternatives features with authors Neil Delima, Sandy Gao, Michael Glavassevich, and Khaled Noaman.
  • XQuery
    • Use XQuery for the presentation layer
      Many Web applications use the Model-View-Controller (MVC) pattern to separate the three concerns. Using XQuery for presentation enables view-side developers to create robust presentation effects without tying the view to any particular underlying application server or programming language. This article explains in detail the advantages of using XQuery over other view technologies, how XQuery is implemented in the presentation layer, and a realistic example of such an implementation.
    • Use XQuery for the presentation layer
      Many Web applications use the Model-View-Controller (MVC) pattern to separate the three concerns. Using XQuery for presentation enables view-side developers to create robust presentation effects without tying the view to any particular underlying application server or programming language. This article explains in detail the advantages of using XQuery over other view technologies, how XQuery is implemented in the presentation layer, and a realistic example of such an implementation.
  • Harness the power of XML to Open Financial Exchange files
    The ongoing task of bookkeeping is made somewhat easier when financial institutions allow customers to download files for import into their chosen accounting package. These files can pose a problem for financial programmers, however, because they are frequently only available in Open Financial Exchange (OFX) format, which is not XML compatible. Discover how to use PHP with string substitution to make OFX files XML compliant. Thus, you harness the power of XML parsing and deconstruction to OFX files and make financial programming more precise.

Web

WAP

PHP

Perl

Python

  • Introductory
    • Writing Simple Programs
      Sample Chapter from Python Programming : An Introduction to Computer Science http://www.fbeedle.com/99-6.html
    • Objects and Graphics
      Sample Chapter from Python Programming : An Introduction to Compuhttp://www.fbeedle.com/99-6.htmlter Science
    • Algorithm Design and Recursion
      Sample Chapter from Python Programming : An Introduction to Computer Sciencehttp://www.fbeedle.com/99-6.html
    • A Python Quick Reference to Useful Commands
    • The ServerSide Interoperability Blog » Python Mini-Learning Guide
      The ServerSide Interoperability Blog -
    • Python 3 primer, Part 1: What's new
      Python 3 is the latest version of Guido van Rossum's powerful general-purpose programming language. It breaks backwards compatibility with the 2.x line but has cleaned up some syntax issues. This article is the first in a series that talks about the changes that affect the language and backwards compatibility, and it provides examples of new features.
    • Python 3 primer, Part 2: Advanced topics
      Python 3 is the latest version of Guido van Rossum's powerful general-purpose programming language. It breaks backwards compatibility with the 2.x line but has cleaned up some syntax issues. This second article builds on the previous article. In Part 2 of this two-part series, discover more new Python features and details on more advanced topics such as changes in abstract base classes, metaclasses, and decorators.

Ruby

  • Ruby Tutorial
  • Cross-platform development with JRuby and Swing
    In addition to building Web and console applications with Ruby, you can write complex GUI desktop applications that run unmodified on multiple platforms. Thanks to JRuby, a robust alternative to the traditional C implementation of Ruby, Ruby GUI toolkits can use UI tools available to the Java platform. This article introduces Monkeybars, a library that uses JRuby and Swing for building applications, and takes you through an example application.
  • RailsLab .:. Scaling Rails
    Scaling Rails screencasts produced by Gregg Pollack and supported by New Relic

Groovy

Grails

  • System iNetwork (formerly iSeries Network) - The Search for the Holy Web Dev Grail(s)
    Grails a Ruby on Rails150inspired framework implemented with the Groovy language may be web devs holy grail Grails brings the power of a declarative language to the Java platform and lets you use your existing Java skills to make complex websi
  • Mastering Grails: GORM: Funny name, serious technology
    Any good Web framework needs a solid persistence strategy. In this second installment of his Mastering Grails series, Scott Davis introduces the Grails Object Relational Mapping (GORM) API. See how easy it is to create relationships between tables, enforce data validation rules, and change relational databases in your Grails applications.
  • Mastering Grails: Grails and the mobile Web
    The number of cell phone users worldwide is at 3.3 billion and rising, and Internet access from mobile phones is on a rapidly upward trajectory. Developing for the mobile Web has its unique demands. In this Mastering Grails installment, Scott Davis shows you how to make your Grails applications mobile phone friendly.
  • Mastering Grails: Testing your Grails application
    Grails makes it easy to ensure that your Web applications start out bug free and stay that way. As a bonus, you can leverage your test code to produce a rich set of executable documentation that is always up-to-date. This month, Grails guru Scott Davis shows you the Grails testing ropes.
  • Mastering Grails: Give your Grails applications a facelift
    In this installment of Mastering Grails, Scott Davis demonstrates how to make drastic changes to the look and feel of a Grails application using Cascading Style Sheets (CSS), templates, tag libraries (TagLibs), and more.
  • Rich Internet Applications with Grails, Part 1: Build a Web application using Grails and Flex
    Rich Internet Applications (RIAs) promise the dynamism and functionality of desktop applications through the browser. One of the key characteristics is moving your presentation layer to the client and backing it with a robust RESTful service layer on the server. This idea is being popularized with buzzwords like SOUI (Service Oriented User Interface) and SOFEA (Service Oriented Front End Architecture). In this article, the first of a two-part series, you will see how simple it is to create a Web service back end using Groovy's Grails Web application framework, and you will hook it up to an RIA developed with Adobe's Flex framework.
  • Mastering Grails: Rewiring Grails with custom URIs and codecs
    In this installment of Mastering Grails, Scott Davis shows you how to customize the standard Uniform Resource Identifier (URI) that Grails generates for Web pages. Moving from primary keys to descriptive titles in URIs gives users a more memorable and more meaningful path to the resources that they seek.
  • Rich Internet Applications with Grails, Part 2: Grails and the Google Web Toolkit
    In this second part of a two-part series, add to the Grails-powered Web services you created in Part 1. You will create a new search page, but this time using the Google Web Toolkit (GWT) to create the application. You will also use some richer UI widgets from the Ext GWT library.

C/C++

Some Other Programming Languages

  • Dr. Dobb's | JForth: Implementing Forth in Java | May 21, 2008
    JForth: Implementing Forth in Java
  • An introduction to XML User Interface Language (XUL) development
    XUL is a tried and true application framework. In fact, the recently released Firefox 3.0 is not only built using XUL, but provides a XUL runtime environment that enables any Firefox user to run other XUL applications. In this tutorial, you start to program in XUL and learn about some tools to help you develop XUL apps. Build a XUL-based blog editor as you enhance your Web development skills to build desktop apps with XUL.
  • An introduction to XML User Interface Language (XUL) development
    XUL is a tried and true application framework. In fact, the recently released Firefox 3.0 is not only built using XUL, but provides a XUL runtime environment that enables any Firefox user to run other XUL applications. In this tutorial, you start to program in XUL and learn about some tools to help you develop XUL apps. Build a XUL-based blog editor as you enhance your Web development skills to build desktop apps with XUL.

Security

Networking

Free And Open Source Software

Linux

Solaris

IT (Other Stuff)

Software Development (Other Stuff)

Software Applications

Computing (Other Stuff)

Multimedia

Hardware

Electronics

Mathematics

People

Improvement Tools

Career/Office Culture

Training

  • SFIA Foundation
    The Skills Framework for the Information Age, or SFIA, provides a common reference model for the identification of the skills needed to develop effective Information Systems (IS) making use of Information Communications Technologies (ICT). SFIA enables employers of IT professionals to carry out a range of HR activities against a common framework of reference - skill audit, planning future skill requirements, development programmes, standardisation of job titles and functions, and resource allocation.

Music

Misc