Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Friday, March 18, 2011

Harlequin Ichthyosis - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers



Harlequin Ichthyosis - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers
Philip M. Parker | 2007-07-17 00:00:00 | ICON Group International, Inc | 106 | Programming
In March 2001, the National Institutes of Health issued the following warning: "The number of Web sites offering health-related resources grows every day. Many sites provide valuable information, while others may have information that is unreliable or misleading." Furthermore, because of the rapid increase in Internet-based information, many hours can be wasted searching, selecting, and printing. Since only the smallest fraction of information dealing with Harlequin ichthyosis is indexed in search engines, such as www.google.com or others, a non-systematic approach to Internet research can be not only time consuming, but also incomplete. This book was created for medical professionals, students, and members of the general public who want to conduct medical research using the most advanced tools available and spending the least amount of time doing so.

Download this book!

Free Ebooks Download

Wednesday, March 9, 2011

Phenylketonuria - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers



Phenylketonuria - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers
Philip M. Parker | 2007-07-18 00:00:00 | ICON Group International, Inc | 202 | Programming
In March 2001, the National Institutes of Health issued the following warning: "The number of Web sites offering health-related resources grows every day. Many sites provide valuable information, while others may have information that is unreliable or misleading." Furthermore, because of the rapid increase in Internet-based information, many hours can be wasted searching, selecting, and printing. Since only the smallest fraction of information dealing with phenylketonuria is indexed in search engines, such as www.google.com or others, a non-systematic approach to Internet research can be not only time consuming, but also incomplete. This book was created for medical professionals, students, and members of the general public who want to conduct medical research using the most advanced tools available and spending the least amount of time doing so.

Download this book!

Free Ebooks Download

Monday, March 7, 2011

Enabling Z/Os Applications for Soa



Enabling Z/Os Applications for Soa
IBM Redbooks | 2009-06-09 00:00:00 | Vervante | 518 | Programming
The objective of this IBM® Redbooks® publication is to demonstrate ways of enabling existing applications and data on z/OS® for integration into a service-oriented architecture (SOA). The focus is on solutions using Web Services as the underlying technology for this integration.
This book describes a variety of patterns that can be applied to enabling z/OS applications for service-oriented architecture. Many of these patterns are explained by means of a sample. Each sample is included in the additional material of this book.
This book is intended for readers who are interested in extending the function of their existing applications in order to benefit from SOA.
Download this book!

Free Ebooks Download

Saturday, March 5, 2011

Microsoft Solutions Framework Essentials (Pro-Developer (Paperback))



Microsoft Solutions Framework Essentials (Pro-Developer (Paperback))
| 2006-09-01 00:00:00 | | 0 | Programming


Get the hands-on guidance you need to understand how to work with the Microsoft Solutions Framework (MSF), Version 4. MSF is a deliberate and disciplined approach to technology projects based on a defined set of principles, models, disciplines, concepts, guidelines, and proven practices from Microsoft. MSF has a long history of helping teams and organizations become more successful in delivering business-driven technology solutions to their customers. Written by an expert with extensive experience consulting and training people in the use of MSF during the software development lifecycle, this essential reference explains MSF in easy-to-understand terms with practical examples and case studies. It sets the stage for better understanding the specializations of MSF (such as MSF for Agile Software Development and MSF for CMMI® Process Improvement) that have been released as part of Microsoft Visual Studio Team System.

User review
Nice Microsoft Publication
This is one of the best books I've ever read of Microsoft Solutions Frameworks, it explains with real user cases in order to apply them to real life, It's a nice guiadance to begin using this methodology.

User review
Very Good
I purchased this book to help me on my job. It was in good condition and served its purpose.

User review
Very good process framework description
A very good description of the MSF processes. Concise and essential; before reading this book I even didn't know of the existence of Microsoft Solutions Framework: at the end of the book I have confidence with the processes and the models.

The only thing that could be emproved is the description of Principles and Mindsets, that I found a little bit abstract.

Anyhow I strongly reccomand this book for all MSF neofites.

User review
Many good ideas on the SDLC
This book explores version 4 of Microsoft's Solutions Framework, the high-level guidelines Microsoft follows for their software development lifecycle. MSF, and hence this book, is rather abstract. Therefore, it won't tell you step by step what you should do. But hopefully you are aware that there is no such thing as perfect SDLC process- each situation demands finding the best solution for the specific context involved.


This book has some great points - from the foundational principles such as `foster open communications` and `partner with customers` to the way project `phases` are renamed `tracks` to emphasize their overlap. And therein lies the strength of this book - it forces the reader to consider just about everything that should be considered from inception through delivery of a software project.


In terms of drawbacks, the biggest one is that the book focuses virtually exclusively on huge teams in huge projects. The paragraph or two talking about combining advocacies is entirely insufficient. Even when one person handles most of a project, all the aspects need to be considered and covered. One drawback the book avoided was focusing on Microsoft and/or Microsoft technologies. Aside from a couple of minor plugs for specific product, this book is technology and product agnostic.


Overall, this book is well-written and useful.

User review
Excellent material!
This is a mandatory reference to anyone who wants to use MSF in projects. In this book, Mike presents all the essential concepts and how to apply them.


Download this book!

Free Ebooks Download

Access 2007 VBA Programming For Dummies



Access 2007 VBA Programming For Dummies
Joseph C. Stockman | 1900-01-01 00:00:00 | | 0 | Programming
If you’ve been using Access for a while, you’re probably aware of its power and potential and itching to take advantage of both. Access 2007 VBA Programming For Dummies takes you beyond forms and reports and shows you how to use VBA to create killer Access databases and applications. This gentle introduction to VBA programming covers everything you need to get started.
Download this book!

Free Ebooks Download

Friday, February 18, 2011

Programming Erlang: Software for a Concurrent World



Programming Erlang: Software for a Concurrent World
| 2007-07-11 00:00:00 | | 0 | Programming


Erlang solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems. It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.

Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.

Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.

Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.

Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.

This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.

It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:

A SHOUTcastserver which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data.

Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.

User review
good topic, terrible writer :(
I bought it as one of my course books. The language itself has some pretty cool things that makes distributed programming easy. The book, however, is quite poorly written. If I had to buy an erlang book again (and its not a mandatory course book), I wouldnt buy it again. Look online for better help with Erlang.



User review
A good introduction to Erlang
I am currently in the process of learning Erlang for a personal project. These books both measures up to the high expectations I have come to expect from Pragmatic Programmers Publishing.


Erlang is a difficult language to `sell`, and is a challenge to learn.


This book assumes you have decently good programming skills, and don't need your hand held too much about the idea of programming, and instead show you how Erlang is different, it's unique and interesting features, and some of `how to think in Erlang`.


I wish there was more on `how to think in Erlang`, especially since most programmer's intuitions about multiprocessing and concurrency, born of battle scars with multithreaded programming in C/C++, will be wrong.

User review
not a good book writer
yes, the author invented the language and there is few choice of erlang books.


but I do not believe Joe is a good book writer, it does not cover anything deep enough as I could expect. As an introduction level book, it is not well organized at all.


Most of The Pragmatic Bookshelf books are outstanding, this is an exception.

User review
Good enough
As of 2009 there are not many alternatives to learn the powerful programming language Erlang and the OTP (Open Telecom Platform). This is THE book written by the designer and implementor of Erlang, Joe Armstrong and he seems to know what he is talking about. High quality humour may not be one of Armstrong's strengths but when it comes to finding attractive examples he shines using his favorite language and platform.


This may not be the perfect book, it has its problems such as promising that some things will be pointed out but the chapter ends without fulfilling it. A few minor frustrations aside the book provides a very good overview of the most important points of Erlang with enough breadth and depth. The chapter where Armstrong talks about a simple then adding transaction semantics, fault tolerance, hot code swapping, etc. is a kind of tour de force. Another good application is a Shoutcast server implementation in just a few lines of code. It would be very good to compare this example to Peter Seibel's Practical Common Lisp [1].


If you want to learn more about this kind of programming, I'd definitely suggest reading 'Concepts, Techniques, and Models of Computer Programming' [2] which shows the Oz programming language and the Mozart platform and teaches the fundamentals of message-passing concurrency and network-transparent distributed programming.


Finally it must be repeated that Erlang has a very high-quality VM along with mature libraries for concurrency and reliability. If you want to experience industrial-strength distributed and / or multicore applications that scales well then it would be only wise to follow the advice of Joe Armstrong.


Warning: If you are not exposed to Lisp, Prolog, Haskell, Oz, etc. beforehand be careful for a different kind of syntax and semantics. You'll have unlearn a few concepts to understand the power of new concepts.



[,,.]

User review
Finally! Functional Programming Makes Sense
This is the definitive book on Erlang, written by Joe Armstrong, the creator of the Erlang language. The book is clearly written, with lots of small examples, and paced for the beginning Erlang programmer.


Erlang takes a little getting used to. It is a functional language, meaning that functions in general are unable to cause side-effects. For example, 'variables' are in one of 2 states: their initial state is 'unbound', their final state is 'has some value that can never change'. Attempting to place a value into a variable that already has a value causes an exception. This aspect of functional programming makes it possible to write multi-threaded/multi-process applications without the problems inherent in multi-threaded applications in non-functional languages.


The basic data types in Erlang are functions, atoms, numbers, lists, tuples, and strings (which are actually lists of integer numbers). List manipulation in Erlang is similar to that in Lisp: lists are generally treated as a head and tail. This is used by the Erlang way of defining functions: functions are defined as a set of pattern-matched expressions with code associated with each expression. For example, a simple accumulator in Erlang might look as follows:


total([H|T:]) -> H + total(T);

total([:]) -> 0;


total([1,10,20,5).

====> 36


This just says that to sum the values in a list, you add the value of the head of the list to the sum of the values in the tail, and that the sum of an empty list is zero.


Functions (lambdas, really, or 'funs' as they are called in Erlang) are first-class objects in Erlang, meaning that they can be members of tuples and lists, can be passed as parameters to functions, and can be returned as a value by functions. So, for example,


Double = fun(X) -> ( 2 * X ) end.


Double(5).

====> 10


Erlang was designed from the beginning to make it easy to write concurrent programs. Erlang process creation is very efficient, and there is no great difference between running such a program as many threads on one box or many processes on multiple boxes. A new process is created with the spawn function, which takes a fun (a lambda) as a paramter. The spawn function returns the process id (pid) of the new process, which may then be used to communicate with that process. The book shows a couple simple examples of distributed programming by way of illustration: a simple name server, and a stripped-down IRC server and client.


The book continues with details on how to interface C and Erlang software, how to communicate over TCP and UDP, the Erlang large-data storage mechanisms (ETS an DETS), and the Erlang database (mnesia).


There is a nice example of implementing map-reduce for disk indexing with Erlang on a multicore system.


Finally, there are a number of appendices including a large reference listing of the standard Erlang modules and functions.




Download this book!

Free Ebooks Download

Wednesday, February 16, 2011

WordPress.com 2.5 Essential Training


WordPress.com 2.5 Essential Training
Lynda.com | 2008-01-01 00:00:00 | | 0 | Programming
There are many reasons to have a blog: to inform customers about new products and specials, to share information and expertise with a worldwide community, or to express oneself and communicate publicly. WordPress.com is a free and flexible set of web-based blogging tools that can be used to launch a new blog in minutes. The tools can then be used to personalize the blog and update and improve it continually. In WordPress.com 2.5 Essential Training, Maria Langer walks through the entire process of building and maintaining a blog, from setting up an account to using advanced customization techniques. She explains how to create and organize posts, pages, and links, and also offers tips on how to become a better blogger. Exercise files accompany the course.

Table of contents

Introduction Welcome 1:18 1.9 MB
What this title covers 2:10 2.5 MB
Using the example files 0:48 1 MB


1. Mastering Blog Basics What is a blog? 3:00 3.6 MB
WordPress.com blog tour 3:35 11.3 MB


2. Getting Started with WordPress.com Setting up an account 4:49 5.7 MB
Logging in to your WordPress.com account 3:50 4.6 MB
Viewing your blog 2:38 2.8 MB
Understanding the Dashboard interface 2:09 2.8 MB


3. Setting Basic Blog Options Editing your profile 6:30 7.6 MB
Setting general options 3:26 4 MB
Setting privacy options 2:49 3.1 MB
Choosing a theme 4:23 7.7 MB


4. Writing Posts Basics of posting 3:01 9.6 MB
Using the Write Post admin panel 1:58 2.5 MB
Setting writing options 2:17 2.5 MB
Composing with the Visual Editor 3:08 3.9 MB
Working with the Toolbar 4:30 7 MB
Adding links 4:24 5.5 MB
Setting categories and tags 4:31 5.5 MB
Previewing and publishing 7:07 9.8 MB


5. Setting Advanced Post Options Using the More tag and excerpts 4:50 7.7 MB
Password-protecting a post 2:48 6.2 MB


6. Creating Pages Page basics 3:28 4.3 MB
Using the Write Page admin panel 1:49 2.2 MB
Composing with the Visual Editor 2:36 4 MB
Setting page options 3:42 4.8 MB
Previewing a page 2:10 3.1 MB
Using page templates 4:18 7.1 MB


7. Adding and Managing Multimedia Introduction to multimedia 2:56 10.3 MB
Using the Insert Image button 8:15 11.6 MB
Using the Add an Image button 7:58 11.7 MB
Adding video 3:11 5.2 MB
Including audio 3:52 5.8 MB
Inserting other media 2:49 4.8 MB
Managing media 3:26 4.4 MB


8. Managing Posts and Pages Setting reading options 4:58 5.5 MB
Working with the Posts or Pages lists 3:59 5.5 MB


9. Working with Categories and Tags Introduction to categories and tags 3:54 9.1 MB
Managing categories 4:25 6.3 MB
Managing tags 2:18 2.6 MB


10. Building Link Lists Introduction to links 2:03 3.9 MB
Adding links 2:53 4.5 MB
Managing links 2:26 2.8 MB
Link categories 3:06 4.2 MB


11. Working with Comments Using comments and pingbacks 3:24 7.8 MB
Setting discussion options 8:12 9.6 MB
Moderating comments 5:53 7.8 MB
Managing comments 4:31 6.4 MB


12. Adding Users Introduction to user basics 1:08 1.5 MB
Adding another WordPress.com user 3:27 3.8 MB
Inviting a friend to be a user 4:57 6.8 MB
Managing user accounts 3:18 3.9 MB


13. Customizing Your Blog's Appearance Using themes 5:12 8.2 MB
Enabling or disabling extras 2:54 3.5 MB
Setting color and image options 4:02 5.7 MB
Setting header options 3:53 7.3 MB
Widget basics 2:34 6.4 MB
Adding widgets 4:43 10.3 MB
Customizing widgets 7:39 11.4 MB


14. Using Advanced Techniques Using the HTML Editor 3:59 5.5 MB
Importing posts from other blog platforms 1:33 1.9 MB
Converting categories to tags 1:47 2.8 MB
Posting from an offline editor 1:18 1.7 MB
Managing multiple blogs 2:42 3.4 MB
Participating in other blogs 3:16 4.4 MB
Upgrading 2:41 3.3 MB


15. Maintaining Your Blog Handling basic maintenance 6:29 8.4 MB
Promoting your blog 2:20 2.3 MB

Conclusion Goodbye 0:10 0.41 MB

more info
http://movielibrary.lynda.com/html/modPage.asp?ID=601
Download this book!

Free Ebooks Download

Tuesday, February 15, 2011

Programming Scala (Animal Guide)



Programming Scala (Animal Guide)
| 2009-09-25 00:00:00 | | 0 | Programming


Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution.

Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily. Packed with code examples, this book provides useful information on Scala's command-line tools, third-party tools, libraries, and available language-aware plugins for editors and IDEs.

Learn how Scala's succinct and flexible code helps you program faster Discover the notable improvements Scala offers over Java's object model Get a concise overview of functional programming, and learn how Scala's support for it offers a better approach to concurrency Know how to use mixin composition with traits, pattern matching, concurrency with Actors, and other essential features Take advantage of Scala's built-in support for XML Learn how to develop domain-specific languages Understand the basics for designing test-driven Scala applications



User review
Awesome Work
Full disclosure: I was the technical editor for Dave Pollak's `Beginning Scala,` which of course I also recommend, and Dean and Alex very graciously included my name in their preface. With that said,,.


`Programming Scala` is simply spectacular work. As I tweeted, it's dense and chewy, like a well-crafted caramel. Dean and Alex bring the full weight of their experience with multiple platforms and languages to bear on Scala, showing us its various strengths (and a few weaknesses!), applying it to tasks that modern programmers are virtually certain to care about, and do so with the sense of fun that I've come so strongly to associate with Dave, Dean, Alex, and really the whole Scala community. That they manage to do this in such a slender volume without feeling rushed, cryptic, or incomplete is a testament to the tightness of their writing and the quality of O'Reilly's editing. `Programming Scala` is an indispensable member of the Scala canon, and deserves a prominent place on your bookshelf.

User review
Learn Scala Fast!
This book will get you up to speed QUICKLY with Scala.


I was under a time crunch to write code with complicated concurrency. With this book, I went from zero Scala experience to writing concurrent algorithms within a matter of hours. Concurrency has never been so painless. It's actually kind of ridiculous.


The book is extremely fluid and succinct. It gets to the point quickly. The organization is excellent and intuitive. While they assume you know enough about object oriented programming (and let's be honest, you probably do), they don't assume that you have a functional programming background.


The authors present a very strong case about Scala's strength as a modern multi-paradigm language, capable of addressing pertinent issues of scalability, concurrency, performance, development speed, reliability, etc. I'm definitely convinced.


If you are using or plan to use Scala, then this is a must have.


Download this book!

Free Ebooks Download

Friday, January 7, 2011

IBM System P Live Partition Mobility



IBM System P Live Partition Mobility
IBM Redbooks | 2007-12-03 00:00:00 | International Technical Support Organization | 198 | Programming

Download this book!

Free Ebooks Download

Tuesday, December 28, 2010

Using Aspect-Oriented Programming for Trustworthy Software Development



Using Aspect-Oriented Programming for Trustworthy Software Development
| 2008-05-19 00:00:00 | | 0 | Programming


Learn how to successfully implement trustworthy computing tasks using aspect-oriented programming

This landmark publication fills a gap in the literature by not only describing the basic concepts of trustworthy computing (TWC) and aspect-oriented programming (AOP), but also exploring their critical interrelationships. The author clearly demonstrates how typical TWC tasks such as security checks, in-and-out conditions, and multi-threaded safety can be implemented using AOP.

Following an introduction, the book covers:

Trustworthy computing, software engineering, and computer science

Aspect-oriented programming and Aspect.NET

Principles and case studies that apply AOP to TWC

Coverage includes Aspect.NET, the AOP framework developed by the author for the Microsoft.NET platform, currently used in seventeen countries. The author discusses the basics of Aspect.NET architecture, its advantages compared to other AOP tools, and its functionality. The book has extensive practical examples and case studies of trustworthy software design and code using the Aspect.NET framework. In addition, the book explores other software technologies and tools for using AOP for trustworthy software development, including Java and AspectJ.

This book also includes a valuable chapter dedicated to ERATO, the author's teaching method employed in this book, which has enabled thousands of students to quickly grasp and apply complex concepts in computing and software engineering, while the final chapter presents an overall perspective on the current state of AOP and TWC with a view toward the future.

Software engineers, architects, developers, programmers, and students should all turn to this book to learn this tested and proven method to create more secure, private, and reliable computing.

User review
AOP for TWC
Bridging a much needed gap in the scientific literature, Dr. Safonov timely and rightfully focuses on the relationship between Trustworthy Computing (TWC) and AOP in this groundbreaking book. Typical TWC tasks such as reliability, security and privacy can be implemented using AOP by treating these tasks as aspects (cross cutting concerns). Support for systematic code injection, or weaving in AOP terms, is a practical need of trustworthy software development. Here Dr. Safonov explores the use of the AOP approach in achieving this goal. Most trustworthy software development features are known to be cross cutting concerns. AOP is eminently suited to TWC, as the essence of AOP is to separate/design/modify, or weave implementations of cross cutting concerns. The ideas in this book can further be used for quantification of security measures in regards with my personal research on quantitative trustworthy computing. As Dr. Safonov and myself started discussing this new idea; suppose T is the target application with an unknown lack of security LoS(T), and an estimated residual risk RR(T) where RR symbolizes Residual Risk after taking countermeasures on a vulnerability-threat domain using my Security-Meter algorithm. Assume we take the aspect A and weave or apply it to target T. Then, the task remains to estimate LoS(A(T)) to compare to RR(T). Students and professionals will benefit greatly from this work by learning a powerful and proven method to further trustworthy computing goals of security reliability and privacy. Dr. Safonov is to be commended for his work, which provides the TWC community with an important and highly innovative technology best suited to furthering these goals. I highly recommend this book to an entire audience who has a trustworthy-conscious mind.

Dr. M. Sahinoglu, Author of `Trustworthy Computing`, Wiley (2007), Director of Informatics Institute, Auburn University Montgomery, Montgomery AL 36124 USA



User review
a good book on software engineering worth returning to
Vladimir Safonov's book was not only quite interesting reading for me -- I would say that on several occasions it provided me with certain inspirations for my everyday work (I am a professional software design engineer). The book is written with a scrupulous care for details and coverage.


Chapter 1 is an easily readable and nice but nevertheless dense introduction to the book. While reading the chapter 2 (on trustworthy computing) I realized that I have never met such systematic approach on the topic, methodically explaining, illustrating and analyzing `pillars` of TWC and methodology of addressing TWC in two major programming environments, Microsoft's .NET and Sun's Java. Chapter 3 impressed me with systematic coverage on aspect-oriented programming. Before, I had only superficial knowledge of AOP -- now I understand its principals much better and understand not only benefits of the technology but pitfalls as well. Finally, in chapter 4 (I did not read through the chapter 5 since it is devoted to teaching to which I have little interest right now) two themes of previous chapters were presented together in an intertwined narration illustrated with a number of elaborated examples -- I found this chapter most interesting and inspiring. Effectively, a reader is presented with a full matrix where strong points of AOP are applied to every pillar of TWC (though the narration does not stop there; for example, I found quite interesting the section on combining AOP with Agile Programming approaches).


One important point about the book I would like to stress here is the author's unbiased approach to topics under consideration. For example, you will not find apologetic stances to either .NET or Java -- both competing technologies are considered thoroughly in regards to book's main themes. Another example is comparative consideration of various AOP frameworks like AspectJ/AspectWerkz, HyperJ (Java) and PostSharp, Aspect.NET (.NET) (the latter implemented by author's team at St. Petersburg State University). The chapter devoted to AOP includes a section which considers AOP's pitfalls in depth. I like this academic style a lot.


I will be keeping the book on the bookshelf in my office among other books which I like to open from time to time, like Steve McConnell's Code Complete or GoF's Design Patterns.

User review
AOP programming history, language, and teaching method
A very interesting book, laid out using Professor Safanov's ERATO teaching technique, which in itself is an interesting subject. Following this technique we find a book that can be read on different levels and bringing different points into focus.


For instance, the history lesson that everything builds upon, while the information is available it is put in perspective and includes not only the `western` computer history but that of the Soviet Union. This `total` history builds a better picture of why we are at the point in computing that the Aspect methods and tools are extremely desirable. It also explains the supporting infrastructure in the current language sets that support moving to Aspect oriented programming.


Another `aspect` of the book goes on to provide lessons in the use of Aspect programming and to how and why the syntax has, and is, being developed.


Then a lesson in lesson planning and the use of the ERATO teaching method thus coming full circle.


A must read for those interested in where programming has come from, is going to and those who wish to communicate, that is teach, the whole versus the components in isolation.

User review
TWC and AOP
The book,using AOP for TWC is an excellent entry for teaching. I especially thought the background information leading up to Microsoft's TWC initiative was exceptionally thorough and provided an excellent backdrop for advanced students learning AOP.


It is my opinion that the author was trying to not only expose the need for TWC-like efforts but additionally give the reader or lecturer the correct guidance and tools to build a effective class series. I had no problem with the authors focus on the .NET framework and the AOP implementations - this focus was well thought-out and thorough.


Teaching TWC or TWC principles should be a must in any current CS curriculum. Professor Safonov I believe has created an excellent gateway publication for advanced university students and provide an excellent foundation for lecturers to build upon. I especially liked the structure of the chapter on 'Teaching TWC and AOP' which I believe is an excellence structure for developers as well as students.


I highly recommend this book.

User review
Teaching as well as using AOP
This book is primarily about applications of aspect-oriented programming (AOP) to issues of `trustworthiness`, specifically in the context of Microsoft's `.NET` architecture. It is not an introduction to AOP (despite sections on history and `AOP Basics`); there are many other books that address that market. Nor is it an introduction to software trustworthiness in general. Rather, the chapter on `Trustworthy Computing` is focused on Microsoft's `TWC initiative` of 2002, and on the features of the .NET framework that support that initiative.


Early implementations of AOP, most notably AspectJ, were based on Java. The author and his team at St. Petersburg University, supported by Microsoft, have developed an AOP implementation for .NET. The architecture of their AOP implementation is described in detail, and a variety of examples are presented. The core of the book, the chapter on applications of AOP to TWC, treats, among other topics: error handling, synchronization, multithreading, privacy, reliability, and design-by-contract. Quantitative estimates of effects of AOP on efficiently and performance are provided. These estimates are based on a variety of assumptions which may be optimistic; and in fact the impacts of AOP on performance and on programmer productivity are an area in which much additional research is needed.


The final major chapter, `Teaching TWC and AOP`, reads like a separate book, and perhaps should have been. Here the author explains his teaching philosophy and methods, and provides detailed descriptions of AOP-related courses from the computer science curricula at St. Petersburg University, with specific course descriptions, topic lists, and even abbreviated lecture notes. This chapter could be a fertile source of ideas for any faculty planning similar courses or curricula.


The author has been extremely thorough in citing the literature; in fact, one of the side effects of reading this book was a tour through the earlier and current treatments and implementations of AOL. Over 160 references are listed, of which over half are web links (some of which, not surprisingly, are already dead).


An appendix provides five complex examples of AOP applications, with explanations and complete, fully tested source code.


Although not directed to the beginner, this book would be a valuable reference for programmers with some previous AOP experience (due to the excellent examples), and for university curriculum developers.








Download this book!

Free Ebooks Download

Monday, December 27, 2010

Expert WSS 3.0 and MOSS 2007 Programming


Expert WSS 3.0 and MOSS 2007 Programming
Shahram Khosravi | 2008-01-01 00:00:00 | Wrox | 816 | Programming
Product Description
Windows SharePoint Services 3.0 (WSS) is a built-in feature of Windows Server that allows for the development of collaborative business applications. Microsoft Office SharePoint Server 2007 (MOSS) is an integrated server offering that leverages the WSS 3.0 features of Windows Server and adds an additional 100+ collaborative features. With WSS 3.0 and MOSS 2007 combined, you can create a variety of highly collaborative business applications. Using numerous practical, real-world examples, this book discusses implementing custom master pages, programming against site pages, implementing custom application pages, developing custom server controls, and extending existing controls.

From the Back Cover
Expert WSS 3.0 and MOSS 2007 Programming

Providing you with in-depth coverage of the WSS 3.0 and MOSS 2007 development framework, this book shares step-by-step recipes and real-world examples to help you develop the skills you need to become a proficient WSS 3.0 and MOSS 2007 developer.

Code-walkthroughs and in-depth technical discussions explore implementing features, list and field types, actions, site columns and site content types,application pages, and site definitions and site provisioning providers. Get detailed coverage of field-rendering server controls, web configuration modification via SharePoint® object model, extending the STSADM command line utility, feature receivers, custom timer jobs, feature dependency, and feature stapling. The book also covers event receivers (including list, item, and web event receivers), and reviews code access security and SharePoint Web parts. Plus, you'll learn how to package your SharePoint solution in a single deployment package and deploy it as a single unit.

What you will learn from this book

*
How to implement custom features, actions, application pages, list and field types, site columns and site content types, and site definitions and site provisioning providers
*
Techniques for modifying web configuration files via SharePoint object model, extending the STSADM command line utility, and implementing custom timer jobs
*
How to develop feature receivers, feature dependencies, and feature stapling
*
Ways to implement list, item, and web event receivers
*
How to implement SharePoint solution packages
*
Techniques for developing custom SharePoint Web parts
*
How to use the Business Data Catalog XML markup language to implement BDC application definition files

Who this book is for
This book is for SharePoint developers who are interested in exploring the programming capabilities of WSS 3.0 and MOSS 2007.

Wrox Expert books present the wisdom accumulated by an experienced author team who is recognized as experts by the programming community. These experts challenge professional developers to examine their current practices in pursuit of better results.

See all Editorial Reviews
Product Details

* Paperback: 816 pages
* Publisher: Wrox; New edition (October 27, 2008)
* Language: English
* ISBN-10: 047038137X
* ISBN-13: 978-0470381373
Download this book!

Free Ebooks Download

Monday, December 20, 2010

Starting Out with Python



Starting Out with Python
Tony Gaddis | 2008-01-01 00:00:00 | Addison Wesley | 504 | Programming
This is an excellent book for learning Python. Tony Gaddis does a great job in writing his books and eplaining how the programming works. His examples are great.

Starting Out with Python introduces students to the basics of programming and prepares them to go on to more complicated languages. With the knowledge acquired using Python, students gain confidence in their skills and acquire the logic necessary for developing high-quality programs. This book discusses control structures, functions, lists, and file I/O before introducing classes. As with all Gaddis texts, clear and easy-to-read code listings, concise and practical real-world examples, detail-oriented explanations, and an abundance of exercises appear in every chapter.
Download this book!

Free Ebooks Download

Sunday, December 19, 2010

Duane-Radial Ray Syndrome - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers



Duane-Radial Ray Syndrome - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers
Philip M. Parker | 2007-07-20 00:00:00 | ICON Group International, Inc | 98 | Programming
In March 2001, the National Institutes of Health issued the following warning: "The number of Web sites offering health-related resources grows every day. Many sites provide valuable information, while others may have information that is unreliable or misleading." Furthermore, because of the rapid increase in Internet-based information, many hours can be wasted searching, selecting, and printing. Since only the smallest fraction of information dealing with Duane-radial ray syndrome is indexed in search engines, such as www.google.com or others, a non-systematic approach to Internet research can be not only time consuming, but also incomplete. This book was created for medical professionals, students, and members of the general public who want to conduct medical research using the most advanced tools available and spending the least amount of time doing so.

Download this book!

Free Ebooks Download