Building Intelligent .NET Applications 188
Bill Ryan writes "Sarah Morgan Rea's "Building Intelligent .NET Applications" is a book for those that get easily bored with mainstream development topics. Essentially, it's an in depth discussion of 3 niche technologies that came directly out of Microsoft Research (Microsoft Speech Server, Microsoft Analysis Services and Agents). The majority of the book is comprised of discussions of the first two technologies with roughly 12 pages being dedicated to Agents. It's finished off future Microsoft technologies "Avalon" (now known as the Microsoft Presentation Framework), Indigo, WinFS and Longhorn. Fortunately, since no one really knows when Microsoft will deliver each of these and what they will ultimately look like, she spends under 10 pages on them." Read the rest of Bill's review.
Building Intelligent .NET Applications | |
author | Sara Morgan Rea |
pages | 270 |
publisher | Addison-Wesley |
rating | 9 |
reviewer | Bill Ryan |
ISBN | 0321246268 |
summary |
One of the things that makes this book great is that each of the areas discussed receive very little discussion elsewhere. If you want to use Microsoft Speech Server, you are essentially confined to using the SDK documentation, the MSDN newsgroups or an occasional blog post out there. Analysis services has a little more documentation but if you were looking to do any serious A.S. development, you're still pretty hard pressed to find comprehensive resources on how to use it.
These two areas comprise roughly 80% of Sarah's book. The discussion on Speech Server comprises a little over 100 pages and does an excellent job showing you how to get Speech Server up and running and how to use it. She starts out slowly and walks you through the Speech SDK, then moves on to creating Grammars, creating Prompts, creating Transcriptions and Extractions, using the Telephony modules and debugging/performance tuning your applications. Another nice touch is that she spends a good bit of time discussing more agnostic elements of speech and telephony development, S.A.L.T. in particular. Within the discussion throughout, there's a good bit of attention paid to configuring Speech Server and the problems people are typically confronted with when they create speech enabled apps. However she does a pretty good job of balancing the introductory material with more advanced topics for although she does spend a lot of time on setup and configuration, she also goes as far as showing you how to use Speech Server from a PDA.
As far as speech (the topic goes), it would be helpful if the reader had some familiarity with the core concepts involved (such as SALT, Grammars etc.) but even if you didn't, this book would still help teach you a lot of what you'd want to know. The intended audience is clearly intermediate to advanced developers but newbies will definitely find quite a bit of valuable information in it.
The next section discusses Artificial intelligence in the context of Analysis services. If you aren't familiar with relational database concepts, then it's probably a little above your head, but most people buying this book aren't running into relational database theory for the first time.
Chapter 5 starts with using Data Mining to create predictions. It starts with getting things set up, moves onto building the data mart, and then finally 'training' the model. This discussion is pure gold in my humble opinion.
The next chapter moves on to applying those predictions. Not really much to say here without getting overly technical but essentially this chapter is a walk through of what you'd do after you had your data mart built and trained, essentially, how you'd maintain it and continue to refresh the information.
This is followed by a chapter titled "An Evolving Database". Again, this is pretty technical in nature so it's hard to describe without bogging you down in jargon. Suffice to say that everything about this section is cool++; .
The book then discusses Agents, which are cool but probably don't have that much applicability in most people's day to day lives. If you want to learn how to use them (as well as the Background Intelligent Transfer Service), then she provides everything you need.
Finally things wind down with a discussion of Microsoft's upcoming technologies, Microsoft Research, Artificial Intelligence in general (as well as many resources on where to learn more), a glossary, bibliography and finally the index. Discussing any one of the areas that she touches upon here (neural networks, Fuzzy logic, natural language processing, machine learning etc.) could comprise an entire book. That's where the beauty of this book comes in - instead of discussing the subjects one at a time, she creates a series of walk through examples where she creates specific scenarios and shows you how to address them using each respective technology.
If you're bored and want to dive into some really cool subject matter, this book is a must have. If you want to learn more about Speech technology in general and Microsoft's implementations of it in particular, this book is a must have. If you're interested in artificial intelligence again, you'll find this book to be superb. If you just want to learn about subject matter that's been discussed over and over again, like creating Winforms or drawing with GDI+, then this book probably isn't up your alley."
You can purchase Building Intelligent .NET Applications from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Re:Who The Hell Use .NET These Days? (Score:5, Informative)
There's no such thing.... (Score:2, Informative)
as "is comprised" in the English language.
e.g.
A banana is composed of pieces.
The pieces comprise the banana.
Although there seems to be an exception for every rule in English, this is one rule with no exceptions.
And to everyone else, don't invoke Godwin's Law on your first reply, okay?
Small nitpick (Score:4, Informative)
A very small nitpick, but for the record, it's Microsoft Presentation Foundation.
Maybe it's just me, but "Avalon" was a much cooler name.
Re:Mono Chapter? (Score:3, Informative)
CHAPTER 10: Mono Compabitility: None of these technologies or any equivalents are available in Mono. You might be able to hack something together with
Kind of a short chapter though.
Re:.NET programming (Score:2, Informative)
The greatest improvement that
Not only was the programming model a world better than the classic ASP, but the scalability (and automatic scale-out features like shared session state) improvements are colossal.
Re:Speech Server (Score:3, Informative)
Re:.NET programming (Score:5, Informative)
That's one that Microsoft does better than pretty much everybody. MSDN is an incredibly good resource. For the most part, it always has been. Can you provide examples of crappy documentation in v1.0 or v1.1 of the framework? Again, I'm aware of a few isolated areas, but they were few and far between.
Re:.NET programming (Score:5, Informative)
All this traffic was handled by two Dell servers which cost about $5000 a piece. (1.5GB of ram, 10k RPM SCSI RAID, dual 2.8 Ghz CPUs.) Neither machine ever went above 40% CPU, which means a single machine could have handled all the traffic. During peak times, we were fully utilizing a 100Mb pipe.
Each request typically did some MSMQ operations and the occasional SQL Server DB hit if there was a cache miss, but most of it was served via the kernel mode HTTP listener and a few custom HTTP Handlers written in C#/ASP.NET.
It all depends on what each hit is doing. If each request takes 1 second to complete there is no way you could do 20,000 hits per minute unless you had a large web farm. In our case, our TTFB (time to first byte) was very, very small.
Java falling behind (Score:4, Informative)
As someone else pointed out already, ASP.NET has already overtaken Java for web development. For dynamic content, Java has been almost completely replaced by Flash and dynamic HTML. And for desktop applications, Java is non-existent in the real world.
Re:Who The Hell Use .NET These Days? (Score:2, Informative)
It is. Any thoughts to the contrary is just denial.
Re:How about writing fast .NET apps? (Score:3, Informative)
Don't believe, go look it up...
But I'm sure 'your' tests are the definitive answer on its performance.