http://imagecache2.allposters.com/images/pic/ADVG/28~Wurlitzer-Jukebox-Posters.jpg

http://img.alibaba.com/photo/50708966/Classical_Wooden_Music_Center.jpg

 

Awesome Distributed Album and Music Offers

A Grandparent's Legacy: Your Life Story in Your Own Words
A Grandparent's Legacy guided journal encourages Grandma and Grandpa to share their life stories with their grandchildren. Each page has thought-provoking questions capturing their fondest memories, wildest dreams, and greatest challenges. Padded hard cover, enclosed sprial bound book. Pages: 192. Size: 5.25 inches wide x 8.25 inches high.
Price: $4.79 [Notify me when price goes down.]


A Father's Legacy: Your Life Story in Your Own Words
A Father's Legacy guided journal encourages Dad to share his life story with his children or grandchildren. Each page has thought-provoking questions capturing his fondest memories, wildest dreams, and greatest challenges. This guided journal has a pleasant tree leaf design throughout. Pages: 192. Size: 5.25 inches wide x 8.25 inches high.
Price: $5.75 [Notify me when price goes down.]


Concurrent Programming on Windows (Microsoft .NET Development Series)

“I have been fascinated with concurrency ever since I added threading support to the Common Language Runtime a decade ago. That’s also where I met Joe, who is a world expert on this topic. These days, concurrency is a first-order concern for practically all developers. Thank goodness for Joe’s book. It is a tour de force and I shall rely on it for many years to come.”

–Chris Brumme, Distinguished Engineer, Microsoft

 

“I first met Joe when we were both working with the Microsoft CLR team. At that time, we had several discussions about threading and it was apparent that he was as passionate about this subject as I was. Later, Joe transitioned to Microsoft’s Parallel Computing Platform team where a lot of his good ideas about threading could come to fruition. Most threading and concurrency books that I have come across contain information that is incorrect and explains how to solve contrived problems that good architecture would never get you into in the first place. Joe’s book is one of the very few books that I respect on the matter, and this respect comes from knowing Joe’s knowledge, experience, and his ability to explain concepts.”

–Jeffrey Richter, Wintellect

 

“There are few areas in computing that are as important, or shrouded in mystery, as concurrency. It’s not simple, and Duffy doesn’t claim to make it so–but armed with the right information and excellent advice, creating correct and highly scalable systems is at least possible. Every self-respecting Windows developer should read this book.”

–Jonathan Skeet, Software Engineer, Clearswift

 

“What I love about this book is that it is both comprehensive in its coverage of concurrency on the Windows platform, as well as very practical in its presentation of techniques immediately applicable to real-world software development. Joe’s book is a ‘must have’ resource for anyone building native or managed code Windows applications that leverage concurrency!”

–Steve Teixeira, Product Unit Manager, Parallel Computing Platform, Microsoft Corporation

 

“This book is a fabulous compendium of both theoretical knowledge and practical guidance on writing effective concurrent applications. Joe Duffy is not only a preeminent expert in the art of developing parallel applications for Windows, he’s also a true student of the art of writing. For this book, he has combined those two skill sets to create what deserves and is destined to be a long-standing classic in developers’ hands everywhere.”

–Stephen Toub, Program Manager Lead, Parallel Computing Platform, Microsoft

 

“As chip designers run out of ways to make the individual chip faster, they have moved towards adding parallel compute capacity instead. Consumer PCs with multiple cores are now commonplace. We are at an inflection point where improved performance will no longer come from faster chips but rather from our ability as software developers to exploit concurrency. Understanding the concepts of concurrent programming and how to write concurrent code has therefore become a crucial part of writing successful software. With Concurrent Programming on Windows, Joe Duffy has done a great job explaining concurrent concepts from the fundamentals through advanced techniques. The detailed descriptions of algorithms and their interaction with the underlying hardware turn a complicated subject into something very approachable. This book is the perfect companion to have at your side while writing concurrent software for Windows.”

–Jason Zander, General Manager, Visual Studio, Microsoft

 

“When you begin using multi-threading throughout an application, the importance of clean architecture and design is critical. . . . This places an emphasis on understanding not only the platform’s capabilities but also emerging best practices. Joe does a great job interspersing best practices alongside theory throughout his book.”

– From the Foreword by Craig Mundie, Chief Research and Strategy Officer, Microsoft Corporation

 

Author Joe Duffy has risen to the challenge of explaining how to write software that takes full advantage of concurrency and hardware parallelism. In Concurrent Programming on Windows, he explains how to design, implement, and maintain large-scale concurrent programs, primarily using C# and C++ for Windows.

 

Duffy aims to give application, system, and library developers the tools and techniques needed to write efficient, safe code for multicore processors. This is important not only for the kinds of problems where concurrency is inherent and easily exploitable–such as server applications, compute-intensive image manipulation, financial analysis, simulations, and AI algorithms–but also for problems that can be speeded up using parallelism but require more effort–such as math libraries, sort routines, report generation, XML manipulation, and stream processing algorithms.

 

Concurrent Programming on Windows has four major sections: The first introduces concurrency at a high level, followed by a section that focuses on the fundamental platform features, inner workings, and API details. Next, there is a section that describes common patterns, best practices, algorithms, and data structures that emerge while writing concurrent software. The final section covers many of the common system-wide architectural and process concerns of concurrent programming.

 

This is the only book you’ll need in order to learn the best practices and common patterns for programming with concurrency on Windows and .NET.

 

.
Price: $36.87 [Notify me when price goes down.]


Learning WCF: A Hands-on Guide
This easy-to-use introduction to Microsoft Windows Communication Foundation (WCF) is ideal for developers who want to learn to build services on a company network or as part of an enterprise system. Built into Windows Vista and Longhorn, and available for Windows XP and Windows 2003, WCF provides a platform for service-oriented architecture (SOA) that enables secure and reliable communication among systems within an organization or across the Internet. With WCF, software developers can focus on their business applications and not the plumbing required to connect them. Furthermore, with WCF developers can learn a single programming API to achieve results previously provided by ASMX, Enterprise Services and .NET Remoting. Learning WCF removes the complexity of using this platform by providing detailed answers, explanations and code samples for the most common questions asked by software developers. Windows Communication Foundation (or WCF, formerly code name "Indigo") provides a set of programming APIs that make it easy to build and consume secure, reliable, and transacted services. This platform removes the need for developers to learn different technologies such as ASMX, Enterprise Services and .NET Remoting, to distribute system functionality on a corporate network or over the Internet. The first truly service-oriented platform, WCF provides innovations that decouple service design and development from deployment and distribution - creating a more flexible and agile environment. WCF also encapsulates all of the latest web service standards for addressing, security, reliability and more..
Price: $24.52 [Notify me when price goes down.]


Painting People: Figure Painting Today
From CHOICE:

London art historian and critic Mullins has brought together a study of contemporary artists who paint the human figure. Included are 200 color reproductions by 85 artists from around the world. Some artists, such as Lucien Freud and Chuck Close, are well known, but many are still developing their reputations. Mullins chose artists who paint people interacting with the world and, in doing so, explore themes of modern times. Her chapters are arranged by these themes: ""The Figure Unravelled,"" ""The Urban Condition,"" ""Other Worlds"" (which explores themes of romanticism), ""Folk Tales"" (the telling of unique and well-known stories), and ""Past Deconstructed"" (focusing on the use of photography by these artists). Many of the works reflect on the isolation of the people portrayed, some are disturbing, and some emphasize the newest technology that these artists employ, including the use of photography in their work. This valuable collection of modern art includes excellent bibliographies for each artist. Summing Up: Highly recommended. General readers; lower-division undergraduates through professionals. -- N. M. Lambert, University of South Carolina Upstate".
Price: $19.77 [Notify me when price goes down.]



Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB
Product Description
Building on the success of its storefront and fulfillment services, Amazon now allows businesses to "rent" computing power, data storage and bandwidth on its vast network platform. This book demonstrates how developers working with small- to mid-sized companies can take advantage of Amazon Web Services (AWS) such as the Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Flexible Payments Service (FPS), and SimpleDB to build web-scale business applications. With AWS, Amazon offers a new paradigm for IT infrastructure: use what you need, as you need it, and pay as you go. Programming Web Services explains how you can access Amazon's open APIs to store and run applications, rather than spend precious time and resources building your own. With this book, you'll learn all the technical details you need to: Store and retrieve any amount of data using application servers, unlimited data storage, and bandwidth with the Amazon S3 service Buy computing time using Amazon EC2's interface to requisition machines, load them with an application environment, manage access permissions, and run your image using as many or few systems as needed Use Amazon's web-scale messaging infrastructure to store messages as they travel between computers with Amazon SQS Leverage the Amazon FPS service to structure payment instructions and allow the movement of money between any two entities, humans or computers Create and store multiple data sets, query your data easily, and return the results using Amazon SimpleDB. Scale up or down at a moment's notice, using these services to employ as much time and space as you need Whether you're starting a new online business, need to ramp upexisting services, or require an offsite backup for your home, Programming Web Services gives you the background and the practical knowledge you need to start using AWS. Other books explain how to build web services. This book teaches businesses how to take make use of existing services from an established technology leader.

Create HTML POST Forms That Allow Your Web Site Visitors to Upload Files Into Your S3 Account Using a Standard Web Browser
By James Murty, creator of the JetS3t Java S3 library and author of Programming Amazon Web Services

Amazon’s Simple Storage Service (S3) provides cheap and unlimited online data storage for anyone with a credit card and an Amazon Web Service (AWS) account. If you have an AWS account, you can interact with the S3 service using specialized tools to upload and manage your files. It is very convenient to have access to this online storage resource for yourself, but there may be situations where you would like to allow others to upload files into your account.

For this purpose, S3 accepts uploads via specially-crafted and pre-authorized HTML POST forms. You can include these forms in any web page to allow your web site visitors to send you files using nothing more than a standard web browser.

In this article, I will demonstrate how to build simple S3 POST forms. I will assume that you have already signed up for the S3 service, and that you have an S3 client program for creating buckets and viewing files in your account. Before you proceed, create your own bucket to store uploaded files — in the examples below I will use a bucket named s3-bucket.

POST Form Web Page

Here is a web page with an S3 POST Form that you can use as a template for your own forms:

S3 POST Form
File to upload to S3:

This template demonstrates some important features of an S3 POST form, and the web page that contains it:

  • The web page that contains the form has a meta tag in the head section that tells web browsers to use the UTF-8 unicode character encoding.
  • The form’s action parameter specifies an S3 URL that includes the name of your destination bucket, in this case the bucket called s3-bucket.
  • The form contains a number of input fields with parameter names and values that will be sent to the S3 service. If any required input fields are missing, or if a field has an incorrect value, the service will not accept uploads from the form.

The S3 service uses information from the form’s input fields to authorize uploads, and to set the properties of uploaded file objects. Here is a description of the most common input fields:

Field NameDescription
keyA name for the S3 object that will store the uploaded file’s data. This name can be set in advance when you know what information the user will upload, for example: uploads/monthly_report.txt.

If you do not know the name of the file a user will upload, the key value can include the special variable ${filename} which will be replaced with the name of the uploaded file. For example, the key value uploads/${filename} will become the object name uploads/Birthday Cake.jpg if the user uploads a file called Birthday Cake.jpg.

AWSAccessKeyIdThe Access Key Identifier credential for your Amazon Web Service account.
aclThe access control policy to apply to the uploaded file. If you do not want the uploaded file to be made available to the general public, you should use the value private. To make the uploaded file publicly available, use the value public-read.
success_action_redirectThe URL address to which the user’s web browser will be redirected after the file is uploaded. This URL should point to a “Successful Upload” page on your web site, so you can inform your users that their files have been accepted. S3 will add bucket, key and etag parameters to this URL value to inform your web application of the location and hash value of the uploaded file.
policyA Base64-encoded policy document that applies rules to file uploads sent by the S3 POST form. This document is used to authorize the form, and to impose conditions on the files that can be uploaded. Policy documents will be described in more detail below.
signatureA signature value that authorizes the form and proves that only you could have created it. This value is calculated by signing the Base64-encoded policy document with your AWS Secret Key, a process that I will demonstrate below.
Content-TypeThe content type (mime type) that will be applied to the uploaded file, for example image/jpeg for JPEG picture files. If you do not know what type of file a user will upload, you can either prompt the user to provide the appropriate content type, or write browser scripting code that will automatically set this value based on the file’s name.

If you do not set the content type with this field, S3 will use the default value application/octet-stream which may prevent some web browsers from being able to display the file properly.

fileThe input field that allows a user to select a file to upload. This field must be the last one in the form, as any fields below it are ignored by S3.

This overview of the form’s input fields should help you to modify the template POST form to suit your own purposes. At a minimum, you will need to edit the form’s action parameter to point to your own S3 bucket, and set the value of the AWSAccessKeyId field to your AWS Access Key credential.

To complete the form and make it acceptable to the S3 service, you will also need to generate a policy document and signature value.

Policy Document

S3 POST forms include a policy document that authorizes the form and imposes limits on the files that can be uploaded. When S3 receives a file via a POST form, it will check the policy document and signature to confirm that the form was created by someone who is allowed to store files in the target S3 account.

A policy document is a collection of properties expressed in JavaScript Object Notation, which simply means that the document’s structure and content must conform to a certain format. Every policy document contains two top-level items:

  • expiration - A Greenwich Mean Time (GMT) timestamp that specifies when the policy document will expire. Once a policy document has expired, the upload form will no longer work.
  • conditions - A set of rules to define the values that may be included in the form’s input fields, and to impose size limits for file uploads.

Here is a policy document corresponding to the POST form template above. This policy has an expiration date of January 1st 2009:

{"expiration": "2009-01-01T00:00:00Z",    "conditions": [       {"bucket": "s3-bucket"},       ["starts-with", "$key", "uploads/"],      {"acl": "private"},      {"success_action_redirect": "http://localhost/"},      ["starts-with", "$Content-Type", ""],      ["content-length-range", 0, 1048576]    ]  }  

To create a valid S3 POST form, you must include a policy document whose conditions section contains a rule for almost every input field in the form. At a minimum, this document must include rules for the bucket and key values of the uploaded file object. In addition to these two rules, you will need to include a rule for every other input field in the form except for AWSAccessKeyId, signature, policy and file.

Because our template POST form includes the input fields acl, success_action_redirect, and Content-Type, our policy document includes rules corresponding to these fields. Our policy document also includes an extra content-length-range rule that limits the size of files that can be uploaded.

There are three kinds of rules you can apply in your policy document:

  1. Equality rule, which checks that an input field’s value is set to a given string. An equality rule is expressed as a name and value pair within brace characters, for example: {"acl": "private"}
  2. Starts-With rule, which checks that an input field’s value begins with a given string. If the given string is empty, S3 will check only that the field is present in the form and will not care what value it contains. A starts-with rule is expressed as a three-element array that contains the term starts-with, followed by the name of the input field preceded by a $ symbol, then the prefix string value for comparison.
    In the policy document above, we use starts-with rules for the key and Content-Type fields because we do not know in advance the name of the file a user will upload, or what type of file it will be. The rule for the Content-Type field uses an empty string for comparison, which means it will permit any content type value. The rule for the object’s key name uses the prefix string “upload/”, which means that the key value must always start with the upload/ subdirectory path.
  3. Content length rule, which checks that the size of an uploaded file is between a given minimum and maximum value. If this rule is not included in a policy document, users will be able to upload files of any size up to the 5GB limit imposed by S3.
    A content length rule is expressed as a three-element array that contains the term content-length-range, followed by integer values to set the minimum and maximum file size. The policy document above includes a content length rule that will prevent the form from uploading files larger than 1MB in size (1,048,576 bytes).

It is important to make sure that your policy document corresponds exactly to your S3 POST form. If there are any discrepancies between the input field values in your form and the rule values in your policy document, or if your form contains input fields that do not have corresponding rules in your policy, the S3 service will reject the form and return an incomprehensible XML error message to your users.

Sign Your S3 POST Form

To complete your S3 POST form, you must sign it to prove to S3 that you actually created the form. If you do not sign the form properly, or if someone else tries to modify your form after it has been signed, the service will be unable to authorize it and will reject the upload.

To sign your form you need to perform two steps:

  1. Base64-encode the policy document, and include it in the form’s policy input field.
  2. Calculate a signature value (SHA-1 HMAC) from the encoded policy document using your AWS Secret Key credential as a password. Include this value in the form’s signature input field after Base64-encoding it.

Almost all programming languages include libraries for performing these two steps. Here are some example code fragments to do the job with different languages, assuming you have already defined the variables policy_document and aws_secret_key.

Ruby

require 'base64'  require 'openssl'  require 'digest/sha1'    policy = Base64.encode64(policy_document).gsub("\n","")    signature = Base64.encode64(      OpenSSL::HMAC.digest(          OpenSSL::Digest::Digest.new('sha1'),           aws_secret_key, policy)      ).gsub("\n","")  

Java

import sun.misc.BASE64Encoder;  import javax.crypto.Mac;  import javax.crypto.spec.SecretKeySpec;    String policy = (new BASE64Encoder()).encode(      policy_document.getBytes("UTF-8")).replaceAll("\n","");    Mac hmac = Mac.getInstance("HmacSHA1");  hmac.init(new SecretKeySpec(      aws_secret_key.getBytes("UTF-8"), "HmacSHA1"));  String signature = (new BASE64Encoder()).encode(      hmac.doFinal(policy.getBytes("UTF-8")))      .replaceAll("\n", "");  

Python

import base64  import hmac, sha    policy = base64.b64encode(policy_document)    signature = base64.b64encode(      hmac.new(aws_secret_key, policy, sha).digest())  

Once you have calculated the values for the policy and signature input fields and included these values in your form, the form should be complete. Save the web page and form document as an .html file, open it in your favorite web browser, and test it by uploading some files to your S3 bucket.

Conclusion

The form web page and policy document templates in this article should give you a starting point for creating your own upload forms. With some minor modifications to the template documents and a little coding, you will be able to create authorized forms that make it easy for your web site visitors to upload files to your S3 account.

The S3 service’s POST support is a powerful feature with many potential uses. You could create a single upload form to allow your friends and colleagues to send you files that are too large for email, or you could modify your web applications to generate forms on-demand so your users can store their data in S3 rather than on your own server. Just remember that you will be liable for any S3 data transfer and storage fees incurred by the people who use your forms.

.
Price: $29.75 [Notify me when price goes down.]


Peter Doig
Whether painting a mysterious bearded figure floating on a flat wash of blue or a winter landscape glimpsed through a thick web of branches, PETER DOIG harnesses the materiality of his medium to create what he calls `abstractions of memories', distilling recollected sensations into frozen moments, like scenes in a series of mysterious narratives. In Gasthof zur Muldentalsperre (2000-2) two costumed figures stand guard at a low stone wall while behind them a reservoir reflects a twinkling starry sky. The young man bundled up against the cold in Blotter (1993) contemplates his reflection in a frozen pond, while in Red Boat (Imaginary Boys) (2004) six men in white shirts navigate upstream through a dense tropical landscape.

Doig's work has been exhibited at the world's top museums, including The Museum of Modern Art in New York, the Centre Pompidou in Paris and the National Gallery of Canada in Ottawa, and has been selected for contemporary art's most important international exhibitions, such as the SITE Santa Fe Biennial (2006), the Tate Terminal (2003 and 2006) and the Venice Biennale (2003). Although his work has had an enormous impact on contemporary painting, paving the way for a whole generation of idiosyncratic figurative painters, his painted worlds are without parallel. Raised in Canada, based in London for two decades and now living in Trinidad, Doig has tallied a wide range of references, not only geographic (from French modernist architecture to the ski slopes of Quebec) but also artistic (from Ernst Kirchner to Philip Guston) and musical (from punk to calypso).

Peter Doig is part of Contemporary Artists, a series of authoritative and extensively illustrated studies of today's most important artists. Each title offers a comprehensive survey of an individual artist's work and a range of art writing contributed by an international spectrum of authors, all leading figures in their fields, from art history and criticism to philosophy, cultural theory and fiction. Each study provides incisive analysis and multiple perspectives on contemporary art and its inspiration. These are essential source books for everyone concerned with art today..
Price: $32.97 [Notify me when price goes down.]


My Big Book Of Stickers
Six individual sticker books in a carry-handle box. Fun and educational with over 400 different reusable stickers. Helps children learn the alphabet, use words properly, expand their vocabulary and improve word recognition. Topics include: ABC, Mix & Match, Shapes, Colors, Numbers, Sizes, and Animals..
Price: $10.73 [Notify me when price goes down.]


Distributed Systems: Principles and Paradigms (2nd Edition)

Virtually every computing system today is part of a distributed system. Programmers, developers, and engineers need to understand the underlying principles and paradigms as well as the real-world application of those principles. Now, internationally renowned expert Andrew S. Tanenbaum – with colleague Martin van Steen – presents a complete introduction that identifies the seven key principles of distributed systems, with extensive examples of each. Adds a completely new chapter on architecture to address the principle of organizing distributed systems. Provides extensive new material on peer-to-peer systems, grid computing and Web services, virtualization, and application-level multicasting. Updates material on clock synchronization, data-centric consistency, object-based distributed systems, and file systems and Web systems coordination. For all developers, software engineers, and architects who need an in-depth understanding of distributed systems.

.
Price: $76.34 [Notify me when price goes down.]


<< disraeli gears, cream



All Copyrights and Trademarks are property of their respective owners.
Copyright 1994-2007 The Cyber Connection Ltd. Peoria, Illinos