Archive for category Reviews

Book Review: Wordpress Theme Design

Wordpress Theme DesignOver the past few months I’ve had the book “WordPress Theme Design” on my desk ready to be reviewed (it’s another book from Packt publishing). I finally got to it earlier this week. You can read my review over at Amazon. I gave it 3 stars mainly because it wasn’t complete and lacked some of the details I’d like to see in a “guide” book. But I can’t say I didn’t learn anything.

One of the reasons I picked up this title was because I’ve been itching to redesign Tod means Fox. I use WordPress (and like it very much) and have all the tools (and some questionable skills) for a redesign. But don’t worry, any redesign will have the same glorious orange that helps remind me of FoxPro, Firefox, ING, Packt, and Holland! But honestly, It’s been a while and I’m restless. I also want a redesign to be done entirely on my new iMac. If I do it quick enough, it will be my first real work performed on the new machine.

It turns out though that the book wasn’t very helpful. I’m sure it will sit on my shelf until some day in the distant future when its time to “clean up” the office. I’ll likely be on revision n of Tod means Fox, and who knows where WordPress will be. But I suppose that’s the nature of buying technology books.

Very few tech books stand the test of time. Those that do are usually pure reference and theory books and not how-to books.

I keep reference books (like the PHP Cookbook, The Complete Reference: MySQL, and of course the Hacker’s Guide to Visual FoxPro) at arms length. These books I go to often. Then there are the theory books. These are books I keep further away but access often — and usually not in front of the computer. Books like Kimball’s The Data Warehouse Toolkit and Zeldman’s Designing with Web Standards fit into this category.

OK, enough babbling. I’d be interested to hear your thoughts on a redesign, WordPress, time-tested tech books, or the fabulous color orange.

Tags: , , , , ,

No Comments

SQL Server and FoxPro on September 9 MS Security Bulletin

According to Microsoft’s advanced notification system for security updates, slated to be released on September 9, SQL Server and Visual FoxPro are among the affected software. A webcast will likely be held the day after the bulletin is released. The critical issue has to do with a vulnerability allowing remote code execution.

Specifically, these FoxPro versions as installed on Microsoft Windows 2000 Service Pack 4:

  • Microsoft Visual FoxPro 8.0 Service Pack 1
  • Microsoft Visual FoxPro 9.0 Service Pack 1
  • Microsoft Visual FoxPro 9.0 Service Pack 2

For SQL Server:

  • SQL 2000 Reporting Services Service Pack 2
  • SQL Server 2005 Service Pack 2
  • SQL Server 2005 x64 Edition Service Pack 2
  • SQL Server 2005 for Itanium-based Systems Service Pack 2

Be sure to check out the full report when issued on September 9th if this concerns you (.NET, MS Office, and IE users, you had better have a look too!).

Security Bulletin website

Tags: , , ,

No Comments

Book Review: Blink

In Blink, Malcolm Gladwell discusses the kind of thinking that occurs in about the same amount of time it takes to blink: Rapid Cognition. The brain has an ability to make excellent or devastating decisions in a fraction of a second. In some cases, if we relied more on this part of our brain for decision-making we might all be better off. In other cases, not thoroughly thinking through a decision could lead to disaster.

BlinkI’m posting about this book here because I think that the basic ideas holds true for any type of development project, whether it is a vertical application or a data warehouse. I couldn’t help but relate the material to my work with business intelligence and data warehousing applications in particular.

Malcolm claims that “we have come to confuse information with understanding” (page 264). How many times have you heard the phrases “information overload” or “analysis paralysis”? In fact, that is one of the problems that data warehouses are trying to solve: Get the right data to the right people at the right time to help them make better decisions. A “better” decision might simply mean making a decision with less information, less noise, and less bias. Don’t throw the album at the CEO, give him a photo.

Thinking too long about complex matters often leads to paralysis — or if you’re lucky, some sort of compromise that weaves in and out of your 3-page long pro and con list. Conversely, making snap decisions on simple matters can lead to equally bad results. A good rule of thumb is that if the matter is simple, think about it. Spend time on it. Make a good decision. Do this when you buy a new dishwasher, if you’re deciding what to feed the kids for dinner, or if you need to hire a new employee. For more intricate and complex matters, like asking your girlfriend to marry you, rely on rapid cognition to deliver an appropriate amount of insight without all the noise (the “she doesn’t dig sci-fi, but she does like roller coasters” back and forth in your brain might take years to sort out). Your brain’s rapid cognition center will automatically filter out the noise, make a good decision for you, and in the end, you’ll be happy with yourself moving forward. Do you really need to think long and hard about getting out of the way of a speeding bus? Should you go on an impulse-shopping spree?

Malcolm doesn’t talk about this, but I think that regret comes out of making bad choices after thinking too long and too hard. You end up making some sort of compromise, when you knew exactly what you really wanted in the first two seconds. Think about some of your greatest regrets. Before you made the fatal compromise or decision, the one that you would come to regret, did you think long and hard about it? I have a silly monkey tattoo on my ankle that I thought long and hard about getting. My gut told me no, but here I am more than 10 years later not too happy with my decision.

Blink and Bloomberg Professional

Yesterday I attended a training session for using the Bloomberg Professional data service. Within their training, they talked about their Launchpad desktop application. This got me thinking about Blink and data warehousing.

Launchpad allows you save any number of functions that are specific to your business needs so that you can easily get to them again (sort of like your Internet Favorites or Bookmarks). With thousands of functions, I’m quite sure that Launchpad was well-received. But on a deeper level, Launchpad gives brokers and researchers the ability to make better decisions faster. You now have a filter. Not as fast as a blink of your eye, but close. You can get lost in Bloomberg Professional and spend hours upon hours achieving absolutely nothing. Is this the cost of research? Or is it that we need more filters? As Business Intelligence professionals, application developers, and solution providers, we must start thinking that “Less is More” and start giving our end-users access to new brain functions.

Scorecards, dashboards, and aggregations are great examples of initiatives that are in this arena. But it isn’t so much about the latest tool or interface, it’s about a mindset. It’s about providing decision-makers with just enough information to “thin-slice” a situation or condition and make an approriate decision to gain some business advantage. Malcom talks a great deal about thin-slicing and provides several great examples of how it works.

Recommendation

Tipping Point was a better read and seemed to have a better direction. In fact, I was wondering throughout Blink what Gladwell’s real point was: Should we or shouldn’t we rely on Rapid Cognition? He added an Afterward some time after the book was first published and this actually tied his thoughts together. Without the Afterward, I would have been thoroughly disappointed.

That said, this is a good book that got me thinking (not so rapidly, though!) If you liked Tipping Point, this is another book with a subtle social message (that involves screens, women, and large musical instruments — now doesn’t that make you want to go out and get it?).

More importantly for me, it has given me a bit of a push into a different way of thinking about business problems, data as an asset, and decision support.

You can get Blink here from Amazon.

Tags: , , ,

No Comments

Book Review: SOA Approach to Integration

I posted a review of the book “SOA Approach to Integration” by Matjaz, B. Juric, Ramesh Loganathan, Dr. P., and G Sarang (published by Packt Publishing) over at Amazon this past weekend. Please check it out if you get the chance. Unlike my last review, this one is more favorable!

I wanted to read more about SOA for two reasons: curiosity and to round-out my knowledge of various integration strategies. Those who know me, know me as a “data guy”. I like to design data models, create databases, normalize things, and sketch integration strategies in UML. Boring. I know.

I suppose this comes directly from my background as a VFP application developer. In the nineties, I developed a dozen or so customized, vertical applications that existed for the most part in departmental islands. Their purpose was to solve business problems, usually at the process level. I soon began writing code to integrate these applications, the fancy term is “Enterprise Application Integration (EAI)”, but I never really called it that. Using Remote Procedure Calls (RPC) and shared objects, I was able to build point-to-point bridges allowing these islands to communicate with one another.

When I had the chance to start developing data warehouses, I jumped. I no longer write applications, instead, I do a lot of data modeling and I write code and design workflows to integrate data from any number of disparate applications spread out across an enterprise. I find this work more than just “satisfying”.

SOA is a different approach to integrating an enterprise. It is like EAI in some ways, but overall, the SOA approach is more advanced and scalable. Up until I read this book, I could not easily draw the line between exposing a few functions in a peer-to-peer api/RPC scenario, to this “Enterprise Service Bus” that coordinates and orchestrates entire business processes off in some far off place using XML and web services.

As you know from my postings and articles, I talk a lot about “Business Processes” in regards to dimensional modeling. This book brought me greater insight into what a “process” is and what it could be. In Dimensional Modeling, we take a bottom-up approach to building an enterprise database. Using conformed dimensions, we start process-by-process to construct a complete data warehouse. Unlike what some detractors and skeptics conclude (are there really any of those still?), we’re not creating new silos or islands, but rather an integrated, highly valuable data warehouse organized by business process, facilitated by the use of conformed dimensions. SOA looks at the business process in much the same way, but while the data warehouse typically gets a hold of a transaction after it occurs, SOA is part of the transaction. They’re two pees in the same pod.

While I agree that SOA is necessary for real-time transactional and document-related (”doc-literal”) integration, I don’t feel that data warehouses are threatened by the emergence of this “technology”. SOA solves a “business logic” problem, where business logic is spread out across an organization. Data warehousing solves reporting, analytical, and data exploration problems. A fully integrated organization will rely on SOA and data warehousing.

To buy this book, click here.

Check out these other reviews as well:

Tech Initiatives
Ken Guest’s online diary
Enterprise Architecture SOA and More

Tags: ,

No Comments

More Reviews on the Way

Anyone have some good reading suggestions?

I read a lot, and now that I have a long train commute each day into and out of Brussels, I’ll be reading much more. Some books on my radar include “Blink: The Power of Thinking Without Thinking” by Malcolm Gladwell, “SOA Approach to Integration” by Ramesh Loganathan, et. al., and a re-read of the “Data Modeler’s Workbench: Tools and Techniques for Analysis and Design” by Steve Hoberman.

I really enjoyed Gladwell’s “Tipping Point”, and have had Blink on my shelf for several months. As soon as my US taxes are finished (*sigh*), I’ll start on it.

On the tech front, I’m pretty excited about reading “SOA Approach to Integration”. The book focuses on WS-BPEL (see WS-BPEL 2.0) as well as Enterprise Service Bus.

I read the Data Modeler’s Workbench a few years ago. Since I’ve matured as a data modeler and have entered a few new industries (clinical, financial), I think it is time for a re-read. But I’ve got to buy it (again) first! Steve gets my money twice :-s

Tags: ,

No Comments

Book Review: SQL Server Integration Services Using Visual Studio 2005

I was recently asked to take a look at and review a new book titled “SQL Server Integration Services Using Visual Studio 2005″ released in December of 2007 through PACKT Publishing. As I am always looking for good reference materials, and because I am currently in a position where I will be introducing Integration Services to folks untrained in the fine art of SSIS in the near future, I jumped at the chance.

The book was a fast read (about 4 days, a few hours a day) and contained many of the most common Control Flow and Data Flow Tasks. The author gives context for each task by providing some examples on when they should be used. The author also takes some time orienting the user to BIDS by providing definitions and several pages of menu and other UI feature descriptions.

But with that said:

  • The book was a fast read because more than half of its 296 pages were devoted to screenshots (not a scientific calculation, but about half is how it felt).
  • In many cases, the common tasks demonstrated where done in a vacuum, not allowing a beginner to get an idea of how multiple tasks can work together to provide a more complete solution. I know this is a beginner guide, but surely we could start small and build into something big?
  • The context provided for each task is in the form of an example situation which is nice, but does not give a beginner enough to go on in order to know that a particular task is right for the job they need done.
  • BIDS and VS share the same shell. Why not just say that right away and then call Visual Studio BIDS instead? All the other books and reference materials I have come across use “BIDS” and not “Visual Studio”. I suppose this is a bit of a pet peeve of mine!
  • Many definitions were inadequate or did not really define the subject. A great example is the OLEDB Command! I’m not even sure what the definition refers to. He writes: “Parameterized queries are a powerful means to extract just the information needed to satisfy a given criteria. You would use a parametric query when you try finding patient information, given the patient-ID from a patient database. This transformation requires a data flow task, and an OLEDB data source or a flat file source.” That is word-for-word. Of course, the OLEDB Command merely executes an SQL command for each row in a dataset!
  • The UI orientation was awkward at best. I don’t feel that the author did a good enough job of describing how the menus and toolbars change depending on the user’s view and context.

There are problems on multiple fronts: (a) grammar, (b) style, (c) consistency, (d) completeness, (e) conciseness, and most importantly (f) technical accuracy. See my review on Amazon for some details.

For another example, on page 124, the author writes about preparing a flat file for the Bulk Insert Task:

Normally, this file should be available, as this is the starting point. Since this is just a demo, we will be using a file with 10 rows, of which the 1st row is a column header, a ludicrously small file for this heavy weight tool. This file can be created with a text editor such as notepad, but usually, it is resident in legacy data stores.

What if the file is not available? Is it really ludicrous to import 10 rows into SQL Server using SSIS? Couldn’t modern applications produce delimited files?

Unfortunately for the reader, most paragraphs read this way. I know and understand what the author is trying to say, but for a beginner (which is who this book is designed for) a paragraph structured in this way will undoubtedly stand in the way of his or her learning. I found myself having to read paragraphs like this two or three times to understand them.

What I found odd was an entire chapter dedicated to the Active X Script Task. Even the author admits that the task is only included for backward compatibility. According to BOL:

This feature will be removed in the next version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.

So I really, really have to wonder why on earth this would be given any attention at all in a beginner’s book!

Also, what about more information regarding precedent constraints, variables, logging, error handling, parent packages, configuration files, connection managers, data sources, data source views, the expression builder, and the like? I don’t consider any of these items beyond the scope of a beginner’s book, and in fact, if a beginner is not armed with this basic information, their packages are likely not to be very maintainable, scalable, or functional!

My Recommendation?

Although I found this book lacking in many areas, others who have reviewed it think otherwise. Please take a moment and read the reviews at Amazon for more details (mine included).

As data integration projects are very likely to fail or run way over budget and time, it is critical that beginners have a proper understanding of the tool they are about to use. If they are using SSIS as part of a data warehousing project to deliver Business Intelligence (as opposed to writing maintenance plans and MSMQ applications for example), then it is also critical that the beginner is armed with the proper theories and best practices to best position him or her for data integration success. This book does not provide this understanding and reads more like a help file or cookbook.

Closing thoughts

It was difficult for me to write this review. As an author, blogger, and musician though I feel that good constructive feedback/criticism is essential for growth and continuous improvement (sort of like how an ETL developer should approach his or her data integration project each day!). I’ve been the recipient of plenty of negative reviews, and with each, I’ve managed to get better. Lastly, to the great credit of Packt Publishing, whom I contacted before writing this entry here and on Amazon, they told me to go ahead and give my honest assessment.

Other reviews of this book include:

Tags: , , , ,

2 Comments

CoDe’s Sedna Issue

I got my Sedna issue of CoDe magazine the other day, and just finished reading through it. I was a little excited when it came in, and was rather pleased with the content. This was their third Fox Focus issue (why not more?). Articles by Doug Hennig, Bo Durban, Rick Schummer, Rick Strahl and others dove right into some of Sedna’s great new improvements. Although most of the content wasn’t “new” — in that I, like most VFP developers, have known about these wonderful enhancements for some time. But it is great to see them in print, in an issue especially designed for Fox.

I do admit that I skimmed over the VFP to .net stuff. I’m just not interested in porting my VFP applications to .net. Whenever I read through these sorts of things I just find myself frustrated, puzzled, and dismayed all at once. First, moving to .net would require a complete re-write. Second, I’ve developed a few .NET apps in my day and still feel that VFP (for many projects) is light years ahead of .net. Of course, I’m excited about the new C# (my .net language of choice), the cool features of the Development Studio, and LINQ. But for a Fox Focus issue, it would have been great to umm… focus more on Fox! But I digress..

Now that I have that off my chest, I’d like to comment on a few of the articles I found most interesting. First I was really happy to see Rick’s article “Visual FoxPro Web Services Revisited”. Rick gives us the goods on the Web Service Client process, ASMX, Windows Communication Foundation (WCF), and the status of SOAP. Communicating with the Web has never been fully straightforward in VFP, but with a little guidance and shove once in a while, future VFP development using Web Services looks bright.

Craig Boyd (”Welcome to the Future of Deployment”) and John M. Miller (”Integrating VFP into VSTS Team Projects”) show us how to use some of Visual Studio’s coolest features with VFP. Craig discusses ClickOnce — a deployment technology allowing you to do installs and upgrades on the Web — and how you can use it with VFP. This is a must read for anyone looking to update their distribution strategy. The company I just started working for is just beginning to do Web installs (after years of mailing CDs). This is one of the first articles I’ll be showing management.

Miller’s article really took me by surprise. Visual Studio Team System (VSTS) is Microsoft’s SDLC tool integrated into Visual Studio 2005. Although I haven’t used it in the past, this article sparked my interest. VSTS promises to help manage the often difficult task of integrating resources on complex projects. The only problem is that VSTS is a .net thing, and really not designed to use non-dotnet tools out of the box. However, as John explains, you can use VSTS extensibility features to make it happen. Thanks John!

Lastly, this issue is packed with little sidebars and tidbits. Things like ClassBrowserX, Scrollable containers for VFP, and GDIPlus-X. I think this issue has also inspired me to join CodePlex and maybe jump on one of the VFP projects (at least as a tester).

Take a look for more: http://www.code-magazine.com/focus/index.aspx

Tags: , ,

3 Comments