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

Sunday, 20 March 2011

Internet Applications with Visual FoxPro 6.0



Internet Applications with Visual FoxPro 6.0
| 1998-12-15 00:00:00 | | 0 | Programming


Users learn how to build large Internet database applications using Tahoe as the foundation. Covered are server side Web applications, including ASP (ODBC and ActiveX automation servers), FoxISAPI, and advanced Web features such as cookies, authentication, and browser functionality encapsulation. Non-HTML distributed applications and remote data services are also explored.


User review
Finally the pain of migrating to Visual FoxPro pays off!
This book makes the pain of migrating to Visual FoxPro pay off! I've finally found something that Visual FoxPro is better for than good old 2.x. Thank you Rick Strahl! If you are a FoxPro programmer and have a need to display your data on the web this book describes the mechanics to do it. While other internet development books only mention Visual FoxPro in passing, this book fills in the Fox hole! It's a must read for anyone looking for a Fox solution!

User review
VFPers now have the tool as reference WEB development
If we (VFPers) wanted to stay competitive in the arena of Software Development, we should be thinking of migrating apps into the Internet. This book is a perfect guide for us to build dynamic WEB Applications. Now, I am little bit at ease because VFP really is a powerful tool and I don't have anymore pressure to look for another just for WEB building.

User review
A great guide to doing it right
Despite the uneducated review of a hack programmer from one of the Northern states (you would wonder why everyone else gives good reviews yet his inflated ego makes him think everyone else is wrong and he is right) this book tells exactly how to write internet based programs the right way.

User review
Very good web development reference for VFP developers
Overall I think that Rick's book is very good. It assumes you are fascile with VFP. I believe that Rick has succeeded (moreso than Microsoft) at enlightening readers how to take advantage of the power that VFP offers for web development. The one drawback to the book is the age-old `moving target` dilemma. Since the book hs been published, Microsoft has delivered a (more) truly multithreaded version of the VFP runtime engine, and it now supports the Compile command in the run time version. This changes the equation a bit when it comes to deciding how to best deploy VFP as a web database server, and I wish Rick would e-publish an addendum that thoroughly addresses this. Regardless, I think the book is still an essential reference. To my knowledge, it's the only one of its kind.

User review
Doesn't deliver
I would like to know how many of these rave reviewers have actually tried to implement the procedures, step-by-step, as outlined in Rick Strahl's book. I spent a miserable two weeks trying to get things to work and discovering numerous mistakes, incorrect syntax, and missing function calls. While the solutions Strahl has developed are very inventive and creative, the logic in the book is often hard to follow, and he jumps into code without telling which whether he's coding web pages, the automated server, or foxpro, or where the code fits into the overall application design. There are many omissions and logical leaps of faith.

Also, the book fails to deliver what it promises. In his introductory discussion, he points out the great advantages of server-side development, because it requires the least of users in terms of the software they have on their computers or which browser they are using. He winds up his demonstration section on server-side development with an actual FoxPro form that runs on the web, but with a magical sleight of hand he almost forgets to tell you that this `requires` Internet Explorer. This is server-side development? I don't think so.

I finally hit enough blind alleys and dead ends that I decided to try something else. I would suggest that Fox developers who are interested in developing web applications point their browsers to Foxweb. They have an excellent, much more efficient product that works on the same technolology, but comes with documentation that is logical and straightforward. It took me about an hour to read and digest the documentation, and we were up and running in no time.


Download this book!

Free Ebooks Download

Monday, 14 March 2011

Programming the Cell Processor: For Games, Graphics, and Computation



Programming the Cell Processor: For Games, Graphics, and Computation
| 2008-10-24 00:00:00 | | 0 | Programming


Make the Most of IBM?s Breakthrough Cell Processor in Any Gaming, Graphics, or Scientific Application

 

IBM?s Cell processor delivers truly stunning computational power: enough to satisfy even the most demanding gamers and graphics developers. That?s why Sony chose the Cell to drive its breakthrough PlayStation 3 and why Cell processors are at the heart of today?s most powerful supercomputers. But many developers have struggled to create high-performance Cell applications: the practical, coherent information they need simply hasn?t existed.

 

Programming the Cell Processor solves that problem once and for all. Whether you?re a game developer, graphics programmer, or engineer, Matthew Scarpino shows you how to create applications that leverage all the Cell?s extraordinary power. Scarpino covers everything from the Cell?s advanced architecture to its powerful tools and libraries, presenting realistic code examples that help you gain an increasingly deep and intuitive understanding of Cell development.

 

Scarpino illuminates each of the Cell?s most important technical innovations, introduces the commands needed to access its power, and walks you through the entire development process, including compiling, linking, debugging, and simulating code. He also offers start-to-finish case studies for three especially important Cell applications: games, graphics, and scientific computing. The Cell platform offers unprecedented potential, and this book will help you make the most of it.

 

Mastering the Cell SDK, including the GCC-based buildchain, ppu-gdb/spu-gdb debuggers, IBM Full System Simulator, and Cell IDE Understanding the Cell?s central processing core, the PowerPC Processor Unit (PPU): structure, programming libraries, and AltiVec instructions Programming the Synergistic Processor Unit (SPU): vector processing, communication, caching, assembler coding, and more Leveraging SDK vector and matrix libraries, including the Large Matrix Library, BLAS Library, FFT libraries, Multiprecision Library, and Monte Carlo API Coding basic 2D graphics using the Linux frame buffer Building 3D graphics with the new Gallium OpenGL library  Constructing 3D games with Ogre3D and packaging them using Collada digital content interchange Optimizing the performance of your Cell applications Developing on standard PCs and transferring code to Cell systems such as the PlayStation 3

 

Foreword xv

Preface xvii

Chapter 1: Introducing the Cell Processor 1

Part I: The Software Development Tools 13

Chapter 2: The Cell Software Development Kit (SDK) 15

Chapter 3: Building Applications for the Cell Processor 35

Chapter 4: Debugging and Simulating Applications 53

Chapter 5: The Cell SDK Integrated Development Environment 83

Part II: The PowerPC Processor Element (PPE) 97

Chapter 6: Introducing the PowerPC Processor Unit (PPU) 99

Chapter 7: The SPE Runtime Management Library (libspe) 125

Chapter 8: SIMD Programming on the PPU, Part 1: Vector Libraries and Functions 153

Chapter 9: SIMD Programming on the PPU, Part 2: Methods and Algorithms 195

Part III: The Synergistic Processor Element (SPE) 217

Chapter 10: Introducing the Synergistic Processor Unit (SPU) 219

Chapter 11: SIMD Programming on the SPU 239

Chapter 12: SPU Communication, Part 1: Direct Memory Access (DMA) 285

Chapter 13: SPU Communication, Part 2: Events, Signals, and Mailboxes 317

Chapter 14: Advanced SPU Topics: Overlays, Software Caching, and SPU Isolation 345

Chapter 15: SPU Assembly Language 367

Part IV: Mathematics and Computation 409

Chapter 16: Vectors and Matrices 411

Chapter 17: The Fast Fourier Transform (FFT) 439

Chapter 18: Multiprecision Processing and Monte Carlo Methods 463

Part V: Graphics and Games 489

Chapter 19: Programming the Frame Buffer: Linux and the PlayStation 3 491

Chapter 20: OpenGL on the Cell: Gallium and Mesa 503

Chapter 21: Building Games with Ogre3D 529

Chapter 22: Packaging Graphics with COLLADA 559

Epilogue 581

Part VI: Appendices 583

Appendix A: Understanding ELF Files 585

Appendix B: Updating the PS3 Add-On Packages and Installing a New Linux Kernel 609

Appendix C: The Accelerated Library Framework (ALF) 617

Appendix D: SPU Instruction Set Reference 649

Appendix E: A Brief Introduction to Tcl 661

Index 669

 



Download this book!

Free Ebooks Download

Saturday, 12 March 2011

Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems



Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems
David J. Agans | 2002-01-01 00:00:00 | AMACOM | 105 | Programming
When the pressure is on to root out an elusive software or hardware glitch, what̢۪s needed is a cool head courtesy of a set of rules guaranteed to work on any system, in any circumstance. Written in a frank but engaging style, Debugging provides simple, foolproof principles guaranteed to help find any bug quickly. This book makes those shelves of application-specific debugging books (on C++, Perl, Java, etc.) obsolete. It changes the way readers think about debugging, making those pesky problems suddenly much easier to find and fix.
Download this book!

Free Ebooks Download

Friday, 11 March 2011

Python 3: Das umfassende Handbuch [GERMAN]



Python 3: Das umfassende Handbuch [GERMAN]
Johannes Ernesti, Peter Kaiser | 2009-01-01 00:00:00 | Galileo Press | 788 | Programming
Entdecken Sie die neuen Moglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei ihrer Arbeit etwas nachschlagen mochten, in diesem Buch finden Sie alles, was Sie zu Python wissen mussen. Angefangen mit einer Einfuhrung in die Sprache bietet es eine Sprachreferenz, die Beschreibung der Standardbibliothek und ausfuhrliche Informationen zu professionellen Themen. Dabei wird ausfuhrlich auf die wesentlichen Unterschiede zwischen Python 3 und fruheren Versionen eingegangen. Wenn Sie bisher noch mit Python 2.x arbeiten, helfen Ihnen die Autoren zudem bei der Migration Ihrer bestehenden Projekte.
Download this book!

Free Ebooks Download

Wednesday, 9 March 2011

MacAddict Guide to Living the iLife



MacAddict Guide to Living the iLife
Shelly Brisbin, Mark Rosenthal | 2004-01-01 00:00:00 | Que | 288 | Programming
Macs today come "fully loaded," but unlike your typical fully loaded automobile, Macs do not come with detailed instruction manuals. Instead, the user is often left to fend for him or herself as they try to sort through all that powerful and mysterious software. On the surface, these programs are relatively easy-to-use, but it is what lies beneath the surface that makes them most useful. MacAddict Guide to Living the iLife is your way to take control of this unfortunate situation. Through the use of visual aids and projects, you will be guided through each application's basic features before moving on to the hidden features and time-saving shortcuts. You'll also explore the Utilities folder as you learn which applications can help you, which ones you should leave alone and which one is the portal to a host of old-school games that you may otherwise have never known existed. MacAddict Guide to Living the iLife will help you and your Mac live the good life.
Download this book!

Free Ebooks Download

Tuesday, 8 March 2011

Foundations of GTK+ Development (Expert's Voice in Open Source)



Foundations of GTK+ Development (Expert's Voice in Open Source)
| 2007-04-23 00:00:00 | | 0 | Programming


GTK+ is one of the most influential graphical toolkits for the Linux operating system. It is the technology upon which the GNOME and XFCE desktop environments are based, and its crucial to have clear understanding of its complexities to build even a simple Linux desktop application. Foundations of GTK+ Development guides you through these complexities, laying the foundation that will allow you to cross from novice to professional.

Foundations of GTK+ Development is aimed at C programmers and presents numerous real-life examples that you can immediately put to use in your projects. Some familiarity with C programming is assumed, as the book delves into new topics from the beginning. Topics like object inheritance are covered early on to allow for complete understanding of code examples later. And the provided examples are real-life situations that can help you get a head start on your own applications.



User review
probably not worth more than $10-$15
first of all, as someone who has already done a handful of small, basic GTK+ projects, i bought this book in hope to find some more information on how to build custom widgets, and how to incorporate custom widgets into a new/existing project. that was my goal.


this book is for the person who has no Internet/web-searching skills whatsoever, as well as the person who has no native/core understanding of how computers work. it is definitely a 'how to program' book for those who have no clue on how to program. the book goes into pretty good detail of all of the native widgets available in GTK, plus it talks a little bit about Glade. there is a chapter on Glib, and there is 1 [small] chapter on creating custom widgets.


i find the [long] chapter on Glib useless. this is because Glib is actually one of the best documented OS libraries out there. the Glib documentation page is pretty thorough, and there are lots of examples out there. in my opinion, this was a waste of a chapter/paper. a quick visit to a codesearch page will provide lots of easy examples of what you are looking for in Glib. i can understand a reference book dedicated to Glib (a good idea, actually,,.), but glazing over it in a long chapter isnt worth it, because i can get that same cookie-cutter, mediocre information on the web pretty quickly.


the areas that this book shines are chapters 7, 8, and 9. these are chapters over the text view widget, the tree view widget, and menus and toolbars. the text view widget has many facets because of the buffers involved, and this book covers them. the tree view widget can be as simple or as complicated as you want, and this book touches on some good concepts. same goes for menus and toolbars. these are the least documented widget sets on the internet (there is a big tree view tutorial out there, but it is old), so these chapters are nice to have.


the chapter on custom widgets didnt help much. his 2 examples of custom widgets are: a small program that displays an IP address in textboxes (each octet in a textbox, and with rules applied so only numbers can be entered, valid range,,.), and a scrolling marquee (just scrolling text). there is some mildly useful info in these chapters, but it is too lightweight to really help and be worth much. there are only a handful of tutorials on the internet on how to create C-based custom GTK widgets, and they all contain the same information that this guy is giving us.


if you want to learn some detail of every widget in GTK (or at least in Glade), then buy the book. but, i would say that with 2-4 hours of time and $0 of investment, you can sit down and screw around with Glade enough to figure out almost everything that this book has to say about the widgets and Glade. i opened up Glade for the first time, and within a few hours, understood almost everything there is to know about Glade and what it is doing, as well as all of the widgets contained therein.


in summary, this book is for anyone who has no clue what they are doing, and is either no good at using search engines (or just doesn't want to). if you're doing a GTK project, you have more than likely been scouring the Internet for hours already, and I would say that most of this book contains information that you have already seen. it really doesn't bring anything new to the table, although the chapters 7, 8, and 9 are useful, as information on those subjects isn't really centralized anywhere on the Internet.


this book could have shined if it had gone into 2 or 3 in-depth, full-fledged projects involving both GTK widgets and custom widgets (with a little bit of Cairo). there is no great reference [online or book] on how to build a project with both normal & custom widgets (with some Cairo), and this book refused to touch on those subjects as well, which stinks. it is mostly regurgitated information that you are either likely to see or likely to have seen in your initial learning/development of GTK+ projects.

User review
Annoying writing, but good content
I'm a few chapters in, and no major complaints so far.


First, and most important with a technical book, I haven't noticed any glaring technical problems with the information. The example code and explanations seem reasonably correct and work as expected. I should note, though, that I'm using the Ocaml language binding, and not using the example code verbatim.


I also like that the author provides a higher level explanation of using Gtk. The Gtk documentation is great for explaining each and every function, but not so good at explaining what I'm supposed to call in the first place. The book gives a good explanation of the concepts behind the API, which I was having difficulty figuring out solely from the API documentation.


My biggest complaint is the author's writing style. Personal preference, but I really dislike the use of `you` in technical books, and this one uses it all over the place. Sentences like `In Chapter 11, you will be covering how to create your own signals when you are taught how to create custom widgets,` drive me crazy.


It's also a bit wordy. Again, personal preference, but it's annoying enough that I knocked it down to 4 stars.

User review
The best book I ever had
This book is always available online free of charge but I like to have a paper copy.


It has a great mix with theory, examples, etc and is great for `learning by doing`.


I had this book for some time, and I like it very much. It is great both as a reference (but there you could use Internet instead) and as a study material.

User review
besides the online errata sheet, found another bug
It's a good book and I learned a great deal. Just one problem about using gtk_combo_box_get_active_text ,,.


In one example the output from gtk_combo_box_get_active_text is freed using g_free. In another example it is not freed.


I'm all confused what I should do with the output string. To complicate things, the official gnome GtkComboBox documentation does not state anything one way or the other.

User review
Good but could be even better
I may be the first person to rate this book less than five stars. And please don't get me wrong this is a good book in the sense that it is right up to date and the examples are very helpful. There are, in my opinion, two main areas where the book could have been improved. It dives off into a discussion of some very interesting applications of GLib including socket programming which the author says must of needs be incomplete. This doesn't really fit in with the main thrust of the book and probably should have been the basis, in an expanded form, for a separate book. This space could well have been used for a more expanded treatment of the issues at hand. Secondly the author's views on user interface design have overly influenced his treatment of GtkFixed, GtkLayout etc. One suspects that his work as a developer has been primarily in producing tools for anyone anywhere rather than applications for corporations and / or small businesses. However, regardless of the above, armed with this book plus the API documentation will get you going much faster and more efficiently than if you have only the API documentation.


Download this book!

Free Ebooks Download

Saturday, 19 February 2011

Approaches and Applications of Inductive Programming



Approaches and Applications of Inductive Programming
Ute Schmid, Emanuel Kitzelmann, Rinus Plasmeijer | 2010-01-01 00:00:00 | Springer | 195 | Programming
This book constitutes revised papers of the Third International Workshop on approaches and Applications of Inductive Programming, AAIP 2009, held in Edinburgh, UK, in September 2009. The 7 full papers included in this volume were carefully reviewed and selected.
Download this book!

Free Ebooks Download

Thursday, 17 February 2011

The Wind-Up Letters: From a Man with Too Much Time on His Hands



The Wind-Up Letters: From a Man with Too Much Time on His Hands
Mark Hebblewhite | 1900-01-01 00:00:00 | Summersdale, | 128 | Programming
From a man with far too much time on his hands comes this collection of barmy correspondence, guaranteed to put a smile on the face of even the most dedicated customer services assistant. Whether he's appealing to the British Lubrication Federation for advice on resolving his catflap predicament or making an enthusiastic request to Tiffany & Co. for Tiffany's autograph, Mark Hebblewhite knows how to make a nuisance of himself. If you have ever wanted to ask Mc Vitie's whether a custard creme is really just an albino bourbon, this book has the answer - as well as the answers to some other questions you might never have thought to enquire about.

Download this book!

Free Ebooks Download

Wednesday, 16 February 2011

Liferay User Interface Development



Liferay User Interface Development
Jonas X. Yuan, Xinsheng Chen, Frank Yu | 2010-01-01 00:00:00 | | 1 | Programming
Develop Enterprise applications using reusable software components of Microsoft Enterprise Library 5.0
Develop Enterprise Applications using the Enterprise Library Application Blocks.
Set up the initial infrastructure configuration of the Application Blocks using the configuration editor
A step-by-step tutorial to gradually configure each Application Block and implement its functions to develop the required Enterprise Application.
[b]In Detail[/b]
Microsoft Enterprise Library is a collection of reusable software components (also known as Application Blocks) that are designed to assist developers with common enterprise development challenges. Before using an Application block, you should have a good understanding of your application requirements and of the scenarios that the Application Block is designed to address.
This book covers the fundamental elements of each Application Block so that you get a good understanding of its concepts. This is followed by referencing the required and optional assemblies and the initial configuration of that block using the configuration editor. Finally, leverage Application Block features to achieve goals of the enterprise application development.
You will first get an overview of the different Application Blocks in Enterprise Library and their inter-dependencies. Then you will learn to install the Enterprise library and optionally the source code. Then you will learn about the individual functional Application Blocks: the Data Access Application Block, Logging Application Block, Exception Handling Application Block, Caching Application Block, Validation Application Block, Security Application Block, and Cryptography Application Block.
In the Caching Application Block chapter you will learn to reference the required assemblies, configure the initial settings, cache, retrieve, remove, and flush cached data. You will also learn to configure and leverage encryption providers to encrypt cached data.
In the Validation Application Block chapter you will be introduced to concepts such as Validators, ValidatorFactory, ValidationResults, and so on. You will learn to reference the required assemblies, set up the initial configuration, validate objects using attributes, validate values programmatically, validate using configuration, and also learn to integrate the Application block with Windows Forms and ASP.NET. Finally you will learn to implement a custom validator.
In the Security Application Block chapter you will be introduced to Authorization Providers and the Security Cache Provider. You will then learn about referencing required assemblies, configure security settings, and learn to set up and validate based on the authorization rules. You will also learn to leverage the Security cache provider to cache user Identity, Principal, and Profile. Finally you will learn to implement a custom Authorization Provider.
In the Cryptography Application Block chapter you will be introduced to Hashing and Cryptography providers; you will learn to reference required assemblies, set up the initial configuration, generate/compare hash values, and implement a custom hash provider. You will also learn to encrypt/decrypt data and also implement a custom symmetric cryptography provider.
A step by step tutorial that guides you through the process of building Enterprise applications using the Application Blocks in Microsoft Enterprise Library 5.0.
What you will learn from this book
Implement a custom trace listener, log formatter, and log filter
Configure the Exception Handling block and wrap or replace exceptions using a Wrap Handler or a Replace Handler.
Log exception information using the Logging Handler.
Integrate the Validation Application Block with Windows Forms-based applications.
Integrate the Validation Application Block with ASP.NET web applications.
Configure the Security block and authorization rules to validate based on the configured rules.
Save user Identity/Principal/Profile in cache and obtain a temporary token
Retrieve cached user Identity/Principal/Profile using a token
Terminate a user session by expiring the cached identity
Configure the Cryptography block, generate a hash value for a given string, and compare a hash value with a string
Implement a custom Hash Provider and Symmetric Cryptography Provider
Perform database operations more efficiently by leveraging the rich features of Data Access Application Block
Retrieve records as objects using Parameter, Row and Result Set Mappers
Log messages to Event Log, flat file and learn to configure categories, trace listeners and logging filters
Download this book!

Free Ebooks Download

Friday, 11 February 2011

Compiler Building Tutorial. Let's Build a Compiler


Compiler Building Tutorial. Let's Build a Compiler
Jack W. Crenshaw | 2001-01-01 00:00:00 | | 306 | Programming
Compiler Building Tutorial. Let's Build a Compiler
Download this book!

Free Ebooks Download

Wednesday, 9 February 2011

Usher Syndrome - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers



Usher Syndrome - A Bibliography and Dictionary for Physicians, Patients, and Genome Researchers
Philip M. Parker | 2007-07-19 00:00:00 | ICON Group International, Inc | 156 | 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 Usher 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

Tuesday, 8 February 2011

Beginning Microsoft Excel 2010



Beginning Microsoft Excel 2010
Abbott Katz | 2010-01-01 00:00:00 | Apress | 408 | Programming
Beginning Microsoft Excel 2010 is a practical, step-by-step guide to getting started with the world̢۪s most widely used spreadsheet application. The book offers a hands-on approach to learning how to create and edit spreadsheets, use various calculation formulas, employ charts/graphs, and get work done efficiently.

Microsoft is rolling out several new features with Excel 2010—perhaps the most notable is the ability to use Excel 2010 online and this collaborate on a project in real time. Beginning Microsoft Office 2010 keeps you up-to-date with all of these new features and more.

What you̢۪ll learn

What distinguishes 2010 from its immediate predecessor
What distinguishes 2010 from Excel 2003
Get started with data entry and formatting
How to get started with formula writing skills
Get started with database capabilities, including pivot tables
How to get started with charting

Who this book is for
This book is for those new to Excel and for those who have used Excel in the past but are new to Excel 2010.
Download this book!

Free Ebooks Download

Monday, 7 February 2011

RibbonX For Dummies (For Dummies (Computer/Tech))



RibbonX For Dummies (For Dummies (Computer/Tech))
| 2007-08-20 00:00:00 | | 0 | Programming


Includes coding examples and sample conversion programs!


Create VBA, VB.NET, and C# custom applications with this radical new interface

Are you ready to tackle RibbonX? This friendly, plain-English guide gives you the tips and techniques you need to design and implement Ribbon apps fast, as well as plenty of examples for working in VBA and Visual Studio(r). You'll customize the Ribbon to meet your needs, create new elements, and even find solutions for pre-existing Office apps!

* Create an effective RibbonX design
*

Write RibbonX apps
*

Develop business applications for Office
*

Work with Web services
*

Convert existing toolbars and macros

User review



User review



User review



User review



User review



User review



User review



User review



User review




Download this book!

Free Ebooks Download

Wednesday, 26 January 2011

BusinessObjects XI (Release 2): The Complete Reference



BusinessObjects XI (Release 2): The Complete Reference
| 2006-06-27 00:00:00 | | 0 | Programming


This book is a must read for anyone deploying BusinessObjects. It covers everything from planning your upgrade to the latest release, to best practices in universe design, and powerful report creation that maximizes business insight. This book covers the most frequently used features for the full BI suite, in one comprehensive book. There's in depth coverage of Designer, security via the Central Management Console, InfoView, Web Intelligence, and Desktop Intelligence. It goes beyond step-by-step instructions to cover how and why in a business context. Transition notes are interspersed for version 5 and 6 customers to understand the biggest changes in XI Release 2. If you drive BI requirements in your company or are a data warehouse program manager, Business Objects administrator, report author or consumer, this book is for you.

User review
Puts SAP to Shame
The distribute Help files with the BO Web Intelligence product are horrible. Almost any search yields the complete index to the thin help files that are provided. Maybe something was lost in the translation into English, but this book make the product learnable and usable.

User review
Poor Chose for End User Information
This book's contents is very misleading. At first glance it appears to be a very comprehensive book for BO XI, however, once received it became apparent the audience is strickly for someone who is configuring BO for Enterprise deployment. It is not the best resource for a BO end user.

User review
did not receive my book yet
did not receive my book (Business Objects XI Release 2) yet. I want my money back,,.

User review
Realy a complete reference
I am new to BO, so sometimes I am lost in the hoge numbe of possibitities, with this book I get on the road again. It helped me a lot in designing universes and reports. It is easy to find the right solution.

User review
The Completely Useless as a Reference That is Really a Primer
I can see that a lot of work went into this book and it does a pretty good job of explaining Business Objects at a high level. This is a good book for you if you are tentative about working with computers and don't expect to do intermediate or advanced work with Business Objects.


The notion that this book is a 'reference' or can replace a manual is completely off base. This book is a 'primer' not a reference. Any topic that is easily addressable through discussing the GUI is handled, but only for obvious cases. The function reference is incomplete and poorly documented. Insightful examples that make you think, `Oh, that's how you do X (where X is anything nontrivial)` are not found in this book. The kind of situations you will likely encounter if you want to create reports for a real business, are not handled. In these cases you are left to your own devices.




Download this book!

Free Ebooks Download

Wednesday, 12 January 2011

The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications



The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications
| 2009-05-19 00:00:00 | | 0 | Programming


If you're looking to take full advantage of multi-core processors with concurrent programming, this practical book provides the knowledge and hands-on experience you need. The Art of Concurrency is one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just theoretical models or distributed-memory architectures. The book provides detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis for avoiding mistakes that programmers typically make when first attempting these computations. Written by an Intel engineer with over two decades of parallel and concurrent programming experience, this book will help you:

Understand parallelism and concurrency Explore differences between programming for shared-memory and distributed-memory Learn guidelines for designing multithreaded applications, including testing and tuning Discover how to make best use of different threading libraries, including Windows threads, POSIX threads, OpenMP, and Intel Threading Building Blocks Explore how to implement concurrent algorithms that involve sorting, searching, graphs, and other practical computations

The Art of Concurrency shows you how to keep algorithms scalable to take advantage of new processors with even more cores. For developing parallel code algorithms for concurrent programming, this book is a must.

User review
Not a bad book if you can get over the style and sloppy code
This book is kind of a dull read for (in my opinion) interesting material. The writing style is informal, but self-importantly so (lots of `I did this` and `I've said this before`). Even discounting that, the writer cannot make the subject very interesting. Partly because he eschews figures or flowcharts or itemized steps for walls of text, partly because the writing itself is disjointed and not very good. Remember, informal != good.


Plus, the code is sloppy. Almost everywhere a main routine has a loop pthread_create'ing new threads, `new` is used to allocate and free is used to deallocate a pointer. This is the most egregious one; one can take issue with a lot of others (for example, why is the code C++ if 99% of it is C? Why is the pointer allocated in the main thread but freed in the worker thread?).


The thing I liked about the book is that it covers a lot of relevant topics, including modern ones such as MapReduce. It should reward someone with the patience to overlook its flaws.

User review
An excellent book, but,,.
I thought this was an excellent book. The previous reviewer was correct, it's an outstanding overview of how to create parallel algorithms without being too academic. My only real complaint is that the font was too small. Perhaps it's my age (I'm 46), but frankly if I'm going to spend hours with a book and use it as a reference, I want the font to be easy on my eyes. If in the second edition, the author makes the font bigger and adds a few more pages, then this will *the* book to read on parallel algorithms.

User review
Solid book on concurrent programming
This is a new book on concurrent programming that splits the difference between academic tomes on the subject and cookbook code dump type texts.


The author assumes that readers have some basic knowledge of data structures and algorithms and asymptotic efficiency of algorithms (Big-Oh notation) that is typically taught in an undergraduate computer science curriculum. Readers familiar with Introduction to Algorithms should do the trick. He also assumes that the reader is an experienced C programmer (he uses C throughout the book) and knows something about OpenMP, Intel Threading Building Blocks, POSIX threads, or Windows Threads libraries and has a good idea of which of these tools will be used in their own situations. The author does not focus on using one programming paradigm here, since, for the most part, the functionality of these overlap. Instead he presents a variety of threading implementations across a wide spectrum of algorithms that are featured in the latter portion of the book.


The current product description does not show the table of contents, so I do that next:


Chapter 1, `Want to go faster` anticipates and answers some of the questions you might have about concurrent programming. This chapter explains the differences between parallel and concurrent, and describes the four-step threading methodology. The chapter ends with some background on concurrent programming and some of the differences and similarities between distributed-memory and shared-memory programming and execution models.


Chapter 2, `Concurrent or Not Concurrent` collects a lot of the author's wisdom on initial approaches that apply to a large percentage of code you're likely to encounter. Also, the author lets you know that not every bit of computation can be made concurrent, no matter how hard you try. There are examples of the kinds of algorithms and computations that are not friendly to concurrency in Section 2.2. When any of those examples can be modified to allow for concurrent execution, hints and tips are included about how to do that.


Chapter 3, `Proving Correctness and Measuring Performance` takes a look at topics related to the final two steps of the threading methodology. The first is knowing when your concurrent algorithms will run correctly or at least having a good idea that you've done a good job of designing an error-free concurrent algorithm. The second topic covers some of the ways you can measure how well your concurrent code is executing in parallel.


Chapter 4, `Eight Simple Rules` should give you more success in writing the best and most efficient threaded implementation of your applications. In upcoming chapters, when discussing the design and implementation of specific algorithms, the author drops in a reference to one or more of these eight rules.


Chapter 5, Threading Libraries, reviews some of the details of the threading libraries used in subsequent chapters to implement the algorithms. The author assumes that you are already familiar with at least one of these threading methods. Proficiency is not expected, but you should have at least tried your hand at some threaded coding examples before.


If you are unfamiliar with any of the threading libraries, this chapter should provide you with enough details to understand the algorithms implemented with such a library and any library-specific features that are used. Otherwise, this should be a review. You can skip over this chapter and come back when you might have a question about syntax or threading without fear of loss of continuity.


Chapter 6, is entitled `Parallel Sum and Prefix Scan`. Summing the elements of an array or finding all partial sums of the elements in an array are basic algorithmic problems. The solution to these problems is easy to describe in a single sentence or two. The concurrent versions of these algorithms, known as parallel sum and prefix scan respectively, are simple and easy to understand. Since they are so simple, these problems have been extensively analyzed and are used as bellwether algorithms within the parallel programming community. Description, design, analysis, and implementation of these two algorithms is intended to prepare you for the rest of the algorithms contained in the text.


Chapter 7, `Map Reduce`, is about an algorithmic framework of the same name, like divide-and-conquer or backtracking, rather than a specific algorithm. The pair of operations, map and reduce, is found in LISP and other functional languages. MapReduce has been getting a lot of interest lately as an algorithmic framework that can be executed concurrently.


Chapter 8, `Sorting` examines concurrent sorting. First considered are compare-exchange sorts such as bubble sort. These are sorting algorithms that use the results from comparing two keys to determine the relative order of the elements with those keys. Movement of data items will be based on those results and will be the exchange of the positions of the two items under consideration. The final algorithm considered is radix sort, which compares bits within keys to determine movement of data.


Chapter 9, `Searching`, discusses two algorithms you can use to search through a collection of data and shows how to make them concurrent to decrease the time needed to locate items of interest. For simplicity, it is assumed that all keys within a data set to be searched are unique. Strategies for dealing with multiple duplicate keys are only mentioned briefly.


Chapter 10, `Graph Algorithms`, talks briefly about what a graph is and how it is represented and then how it is traversed using both depth-first and breadth-first search algorithms. It is very well illustrated.


Chapter 11,`Threading Tools`, mentions some debugging and performance tools that you can use on threaded applications. The set of tools covered in this chapter is not exhaustive and is meant to show you ways to track down problems in a much quicker manner than if you performed the hunt yourself.


All in all, this is a very useful yet not over-academic book. I would say that you should probably have read something along the lines of Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation), or at least read that book in parallel with this one. If you're not interested in OpenMP, you would of course read a book on a different technique for concurrent programming.


Download this book!

Free Ebooks Download

Unix and Perl Primer for Biologists


Unix and Perl Primer for Biologists
Keith Bradnam, Ian Korf | 2010-01-01 00:00:00 | Korf Lab | 1 | Programming
We have written a basic introductory course for biologists to learn the essential aspects of the Perl programming language. The course is very much aimed at people with no prior experience in either programming or Unix operating system.
Download this book!

Free Ebooks Download