Tuesday, December 11, 2007

Advanced XML Applications from the Experts at The XML

Numerous books abound for the beginning programmer who wants to learn XML, but there are few learning resources available for those who are already proficient in XML and need expert-level advice to help maximize their workflow. Advanced XML Applications from the Experts at The XML Guild provides such a resource, written by the expert programmers at The XML Guild. The book is not intended to be another exhaustive XML "bible," rather, it’s a collection of advanced tips and techniques that the authors have used in the real world-and are now happy to share with you. Each chapter is written by the guild member considered to be the expert on a particular topic.

story

Why XML Experts Should Care About Web 2.0

Here is the talk I had prepared for the Web 2.0 panel a the XML 2006 conference. This has been a very interactive panel and even though I haven't pronounce exactly the same sentences, the message is the same.

I had proposed a whole session titled “Why XML Experts Should Care About Web 2.0”. I have tried to shrink this 45 minutes presentation to fit within a 5 minutes slot, but that didn't really work. Instead of presenting the result of this hopeless exercise, I will use a well known metaphor. Of course, metaphors do not prove anything but they are great to quickly illustrate a point and that's what I need.

Bamboo stems can reach 40 meters in height with diameters up to 30 cm and some species can grow over one meter per day. Despite that, they are so strong that in Asia they are used to build scaffoldings for sky scrappers. These performances are due to the tube like structure of stems reinforced by their nodes.

It recently occurred to me that the IT technology (and probably science in general) is progressing like bamboos and alternates periods of fast innovation with periods of consolidation. It is interesting to note that the prominent actors for these phases are often different. Consolidation builds on prior experience and is a good work for established experts. On the other hand, expertise often tends to censor new ideas and it can seriously limit the ability to innovate.

This theory is well illustrated by the history of the World Wide Web.

In the eighties and early nineties, hypertext experts were stuck by the complexity of their models and a new phase of innovation began with the invention of HTTP and HTML.

The consolidation phase was launched ten years ago by Jon Bosak when he said “You have to put SGML on the web. HTML just won't work for the kinds of things we've been doing in industry.”

In five years time, this consolidation phase grew to a stage where the XML stack is so heavy that it looks like legacy. Its development is almost stalled and a new innovation phase was badly required.

Those of you who know me know me as an XML expert and as many XML experts the crazy hype that is obscuring Web 2.0 kept me away for a long time.

I started to look what's behind the hype a year ago. Having done so, I am happy to report that Web 2.0 could be the next innovation phase.

A good indication is that XML experts predict that Web 2.0 will fail for the same reasons hypertext experts predicted that HTML would fail: Web 2.0 is messy, over simplistic, not well enough designed, ...

If Web 2.0 is the next innovation phase, what should we do?

We can contribute, actively follow the growth of the phenomena, provide guidance but we should avoid to be too directive for the moment.

My first personal contribution is the book
Professional Web 2.0 Programming . This book is for anyone wanting to catch the Web 2.0 wagon. It's also a set of reminders and guidances by we've tried to be as open as possible and for instance, we have covered not only XML but its alternatives (including controversial technologies such as JSON).

If we keep ready, our turn will come again when the next consolidation phase starts.

This consolidation phase will eventually put XML on the Web like XML has (at least partially) put SGML on the Web.

Will XML on the Web still be XML? Maybe not: SGML on the Web is no longer SGML, why should XML necessarily survive to the next iteration? Anyways, does that really matter?

Professional Web 2.0 Programming

Web 2.0 architecture opens up an incredible number of options for flexible web design, creative reuse, and easier updates. Along with covering the key languages and techniques of Web 2.0, this unique book introduces you to all of the technologies that make up Web 2.0 at a professional level. Throughout the chapters, you'll find code for several example applications built with popular frameworks that you'll be able to utilize.

You'll first explore the technologies that are used to create Web 2.0 applications. This includes an in-depth look at XHTML, Cascading Style Sheets (CSS), JavaScript, and Ajax. Next, you'll gain a better understanding of the protocols and formats that enable the exchange of information between web clients and servers. Ultimately, you'll discover exactly what you need to know about server-side programming in order to implement new ideas and develop your own robust applications.

What you will learn from this book

  • How Web 2.0 applications are developed
  • New ways to get the major client-side technologies to work together
  • The new class of emerging tools
  • All about HTTP and URIs, XML, syndication, microformats, and Web Services
  • Techniques for implementing and maintaining your URI space
  • How to serve XML over HTTP
  • Steps for building mashups to aggregate information from multiple sources
  • Methods for enhancing security in your applications

Who this book is for

This book is for professional developers who have a basic understanding of HTML, CSS, JavaScript, and XML.

Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.

This book is also available as part of the 4-book JavaScript and Ajax Wrox Box (ISBN: 0470227818). This 4-book set includes:

  • Professional JavaScript for Web Developers (ISBN: 0764579088)
  • Professional Ajax 2nd edition (ISBN: 0470109491)
  • Professional Web 2.0 Programming (ISBN: 0470087889)
  • Professional Rich Internet Applications: Ajax and Beyond (ISBN: 0470082801)
From the Back Cover
Web 2.0 architecture opens up an incredible number of options for flexible web design, creative reuse, and easier updates. Along with covering the key languages and techniques of Web 2.0, this unique book introduces you to all of the technologies that make up Web 2.0 at a professional level. Throughout the chapters, you'll find code for several example applications built with popular frameworks that you'll be able to utilize.

You'll first explore the technologies that are used to create Web 2.0 applications. This includes an in-depth look at XHTML, Cascading Style Sheets (CSS), JavaScript, and Ajax. Next, you'll gain a better understanding of the protocols and formats that enable the exchange of information between web clients and servers. Ultimately, you'll discover exactly what you need to know about server-side programming in order to implement new ideas and develop your own robust applications.

What you will learn from this book
  • How Web 2.0 applications are developed
  • New ways to get the major client-side technologies to work together
  • The new class of emerging tools
  • All about HTTP and URIs, XML, syndication, microformats, and Web Services
  • Techniques for implementing and maintaining your URI space
  • How to serve XML over HTTP
  • Steps for building mashups to aggregate information from multiple sources
  • Methods for enhancing security in your applications
Who this book is for

This book is for professional developers who have a basic understanding of HTML, CSS, JavaScript, and XML.

Buy IT

Programming Collective Intelligence: Building Smart Web 2.0 Applications

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it.

Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:
  • Collaborative filtering techniques that enable online retailers to recommend products or media
  • Methods of clustering to detect groups of similar items in a large dataset
  • Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm
  • Optimization algorithms that search millions of possible solutions to a problem and choose the best one
  • Bayesian filtering, used in spam filters for classifying documents based on word types and other features
  • Using decision trees not only to make predictions, but to model the way decisions are made
  • Predicting numerical values rather than classifications to build price models
  • Support vector machines to match people in online dating sites
  • Non-negative matrix factorization to find the independent features in a dataset
  • Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game
buy it

Tech Perl Programming in 21 Days

Perl is an acronym, short for Practical Extraction and Report Language. It was designed
by Larry Wall as a tool for writing programs in the UNIX environment and is
continually being updated and maintained by him.
For its many fans, Perl provides the best of several worlds. For instance:
l Perl has the power and flexibility of a high-level programming language such as
C. In fact, as you will see, many of the features of the language are borrowed
from C.
l Like shell script languages, Perl does not require a special compiler and linker to
turn the programs you write into working code. Instead, all you have to do is
write the program and tell Perl to run it. This means that Perl is ideal for
producing quick solutions to small programming problems, or for creating
prototypes to test potential solutions to larger problems.
l Perl provides all the features of the script languages sed and awk, plus features
not found in either of these two languages. Perl also supports a sed-to-Perl
translator and an awk-to-Perl translator.
download now

Introduction Unix Operating System

Unix is a layered operating system. The innermost layer is the hardware that provides the services for the OS. The operating system, referred to in Unix as the kernel, interacts directly with the hardware and provides the services to the user programs. These user programs don’t need to know anything about the hardware. They just need to know how to interact with the kernel and it’s up to the kernel to provide the desired service. One of the big appeals of Unix to programmers has been that most well written user programs are independent of the underlying hardware, making them readily portable to new systems. User programs interact with the kernel through a set of standard system calls. These system calls
request services to be provided by the kernel. Such services would include accessing a file: open close, read, write, link, or execute a file; starting or updating accounting records; changing ownership of a file or directory; changing to a new directory; creating, suspending, or killing a process; enabling access to hardware devices; and setting limits on system resources. Unix is a multi-user, multi-tasking operating system. You can have many users logged into a system simultaneously, each running many programs. It’s the kernel’s job to keep each process and user separate and to regulate access to system hardware, including cpu, memory, disk and other I/O devices.
download

Introduction Unix Operating System

Unix is a layered operating system. The innermost layer is the hardware that provides the services for the OS. The operating system, referred to in Unix as the kernel, interacts directly with the hardware and provides the services to the user programs. These user programs don’t need to know anything about the hardware. They just need to know how to interact with the kernel and it’s up to the kernel to provide the desired service. One of the big appeals of Unix to programmers has been that most well written user programs are independent of the underlying hardware, making them readily portable to new systems. User programs interact with the kernel through a set of standard system calls. These system calls
request services to be provided by the kernel. Such services would include accessing a file: open close, read, write, link, or execute a file; starting or updating accounting records; changing ownership of a file or directory; changing to a new directory; creating, suspending, or killing a process; enabling access to hardware devices; and setting limits on system resources. Unix is a multi-user, multi-tasking operating system. You can have many users logged into a system simultaneously, each running many programs. It’s the kernel’s job to keep each process and user separate and to regulate access to system hardware, including cpu, memory, disk and other I/O devices.
download

XML Tutorial Book

XML is a text-based markup language that is fast becoming the standard for data interchange on the Web. As with HTML, you identify data using tags (identifiers enclosed in angle brackets, like this: <...>). Collectively, the tags are known as "markup".
Why Is XML Important?
There are a number of reasons for XML's surging acceptance. This section lists a few of
the most prominent.
Plain Text
Since XML is not a binary format, you can create and edit files with anything from a
standard text editor to a visual development environment. That makes it easy to debug
your programs, and makes it useful for storing small amounts of data. At the other end of
the spectrum, an XML front end to a database makes it possible to efficiently store large
amounts of XML data as well. So XML provides scalability for anything from small
configuration files to a company-wide data repository.
Data Identification
XML tells you what kind of data you have, not how to display it. Because the markup tags
identify the information and break up the data into parts, an email program can process it, a search program can look for messages sent to particular people, and an address book can
extract the address information from the rest of the message. In short, because the different parts of the information have been identified, they can be used in different ways by different applications.
download now

Understanding Visual Basic.NET Syntax and Structure

To borrow the catch phrase of a now defunct U.S. car manufacturer, “This is not your father’s Visual Basic!” While true to its heritage, Visual Basic.NET is a much-improved version of the venerable Visual Basic language that many of us have grown to love. Visual Basic has matured into a full-featured, object-oriented language. But unlike previous releases of Visual Basic, this version of VB was rebuilt from the ground up. Literally.
In moving to VB.NET, Microsoft has ditched a number of older, arcane features like GoSub
and default properties, and totally reworked features such as arrays and data types. Other
native features like the MsgBox function and the Cxxx convert functions have been demoted. These demoted features are still in VB.NET but Microsoft is recommending that you move to using the .NET System classes instead. Of course, depending on your experience and base of existing legacy VB applications, some of the changes may cause considerable pain. More than likely, however, you will soon grow to appreciate the redesigned VB language. What does the new Visual Basic.NET language mean to the average ASP developer who has written thousands of lines of VBScript code but who has had little exposure to VB proper? If you find yourself in this category of developer, you may experience a short period of bewilderment,
as you get accustomed to the wealth of new features offered by VB.NET, features that
VBScript never offered. But soon enough, you will start to forget the limited VBScript language and grow to appreciate and even love the much more nimble and full-featured VB.NET.
download now

Tcl Scripting Language

cripting is difficult to define. It has existed for a long time - the first scripting languages were
job control languages such as the shell program found in Unix systems. Modern scripting
languages such as Perl, Tcl, Python, awk, Ruby and so on are general purpose, but often they
have more powerful basic operations than those found in conventional general purpose computer languages. For example it is common to have operators that perform regular-expression pattern matching in a scripting language.
Scripting languages are normally interpreted, and the interpreter contains the routines to do the pattern matching. One line of script code may be equivalent to 100 lines of C. However, the overhead in having a (say) 3MB script interpreter is sometimes a problem, although less so these days. Perl is widely used, as it is found in active web page developments. Tcl/Tk is useful for GUI development, allowing us to prototype new GUI applications quickly.
The languageTcl (Tool Command Language) is an interpreted scripting language, with useful inter-application communication methods, and is pronounced ’tickle’. Tk originally was an X-window toolkit implemented as extensions to ’tcl’. However, now it is available native on all platforms. The program xspin is an example of a portable program in which the entire user interface is written in wish. The program also runs on PCs using NT or Win95, and as well on Macintoshes.
download now

Play Online Game


eXTReMe Tracker
users online