Category Archives: Uncategorized

SQL Server 2005 is 10 years old now, do you celebrate?

Image result for sql server 2005 logoImage result for not equal Image result for sql server 2014 logo

Some people say time flies, and it feels like yesterday when you realize the month of November 2015 marks the tenth year since SQL Server 2005 release to manufacturing. Quite a milestone, at least from the human prospective, it seems sure so. And this is true for so many reasons, SQL Server 2005 was definitely a landmark offering of a relation data management engine bundled with more not less significant components that saw light for the first time in it as SSAS, SSRS, SSIS and too many others to mention in a blog post.

So great in fact, I suspect those who conduct their day-to-day business with SQL Server 2005 may feel lucky they happened to have one of the best database platforms. Let me pause here and state that my post is to somewhat mar their happiness. I would not like you though leaving this page yet because I really want to come with only good intentions and make those who stay behind alerted. If I will not sound convincing, drop me a line and we can have the discussion going.

So agree or not, a 10 year time span, especially for IT is a lot! To some it may mean innovation, to others wins or losses, but I would say simply it is a lot of changes, changes everywhere: in server and user hardware, the Operating System, Internet, the peripheral software, and how we even conduct the business, but and also on the human front – we are getting more seasoned professionals. So change is inevitable, and some people say change is good.

For these very reasons the End of Support (EoS) exists for all the software vendors. It is otherwise not cheap or sometimes not even possible to change things. Speaking of the databases, the hardware became stronger, and cheaper at the same time, the amounts of data grew exponentially and the means of collecting and storing it became more affordable. And the business wants to process it all. So the workloads have changed.

So precisely, on April 12, 2016 SQL Server 2005 is retiring. While there is still time left, perhaps now is the time to start planning the upgrade.

Besides, I have always tried to understand why do IT shops stay behind on software. And I tried to study this phenomenon. Luckily, I have had access to a sheer number of clients and happened to have conversations regularly that resulted in me getting the following reply often “my existing software continues to do well what it has always used to”. Indeed, having the one time SQL Server license paid, and the development costs spread across so many years of SQL Server production support now means pure ROI. So even though SQL Server 2005 has been succeeded by three newer builds it may sound like there is no compelling reasons to upgrade. Or not to upgrade just yet. Is it so not tempting or? Let’s see…

Well, my argument to these replies was – you may never then find the time to upgrade until it is too late. And there are plenty of examples.

Another composite in the non-upgrade disaster recipe is the bound to die hardware:


Source: Disk failures in the real world: What does an MTTF of 1,000,000 hours mean to you?

How do we typically upgrade in the RDBMS world? It is by moving the data to newer and bigger machines, the so called scale up method. Stay on the old machine and only imagine what kind of nasty surprises a 10 years old hardware can present you with. I have already seen several, from failed RAID drive controllers and a motherboard chip to power supplies. Even if the instance is clustered it leaves you out with no High Availability for perhaps longer than your SLA permits or may require to migrate to a different machine all together due to lack of support or spare parts which rarely is trivial. Even if you have all the spare parts in abundance, look at the business side, did it grow? If yes, most likely the robustness, storage and the elasticity do not satisfy your users anymore.

For those who need stronger reasons, I am really worried about the security, as it happens, by the time a vendor winds down active vulnerability assessments the hackers already studied the weak points in the old software well enough, so guess what, they probably know where to hit you. For example, refer yourself to a recent security breach in the WalMart Canada Photo Center.

So, if the prospects of breaching your mission critical system and failing hardware is not enough incentive to plan the upgrade, another often overlooked factor remains – your probably as old as SQL Server ally Operating System (OS). Having an OS without support, too is a risky mix. A simple thing as a USB stick inserted by your operational staff member can wreak a lot of havoc. It is like pay me now or pay me later saying. If you choose to pay later, make sure you can afford the interest. Let’s look at what happened at Paris’ second largest airport – Orly. It operated a critical piece of their software on an outdated OS. Yes, perhaps it was working well a long time, but the human factor is always there. Are you sure your software veterans are always available?

Don’t delay the upgrade, SQL Server 2014 offers a plethora of productivity features, safety, usable components, offers extreme high availability, integration with Azure, not to mention its flexible workload data engine. SQL Server 2014 is on Service Pack 1 now which means for most companies full “certification”. Simply take advantage of these facts to easily convince the stakeholders. The time is running out.

The upgrade process (I went through a few) is a smooth sailing, perhaps my best experience upgrading to date. Besides, Microsoft has put a web page dedicated to upgrading both the SQL Server and Operating System together filled with useful resources helping conducting such a smooth upgrade process 

Don’t celebrate – upgrade.


Packt celebrates International Day Against DRM on May 6th 2015 so all the content is $10!


Packt celebrates International Day Against DRM, May 6th 2015

Packt Publishing firmly believes that you should be able to read and interact with your content when you want, where you want, and how you want – to that end they have been advocates of DRM-free content since their very first eBook was published back in 2004.

This year, to demonstrate their continuing support for Day Against DRM, Packt is offering all its DRM-free content at $10 for 24 hours only on May 6th – with more than 3000 eBooks and 100 Videos available across the publisher’s website, there’s plenty to discover, whatever you’re interested in.

As per the Packt CEO:

“Our top priority at Packt has always been to meet the evolving needs of developers in the most practical way possible, while at the same time protecting the hard work of our authors. DRM-free content continues to be instrumental in making that happen, providing the flexibility and freedom that is essential for an efficient and enhanced learning experience. That’s why we’ve been DRM-free from the beginning – we’ll never put limits on the innovation of our users.”

– Dave Maclean, CEO

Building Scalable Apps with Redis and Node.js by Joshua Johanan, Packt Publishing Book Review

Node.js, Redis is the powerful formula. Don’t be confused nor intimidated by so many XYZ.js offerings, Node.js is standing well out of the crowd. Why this book is one of the many examples, how? Read it. I jump forward and say it is a 5 star, rare gem I do not see often nowadays. And this book does not cover just Node.js and Redis. This book touches so many other not less important components you actually should be able to build your entire enterprise right after you are done with reading this book and implementing what Joshua covered. An awesome, wonderful masterpiece!

More on the book specifics:

The ebook version that I reviewed has 316 pages (in my built-in PDF Viewer of Ubuntu), 10 chapters, no appendix.

Like I said, apart from Node.js and Redis, the following technologies are covered:

– RabbitMQ

– Grunt

– Socket.IO

– How to use Developer Tools to troubleshoot your application

– How to debug both in Node.js and the client side JavaScript

– Backbone.js



I am sure I missed an item or two. Impressed already? I was.

The reader using either major OS is covered. Some Python was interfaced, but you must feel at home regardless of your level of familiarity with it.

You get your application pretty much ready to be deployed and even scale out and up in Chapter 9. You learn to cope with issues in the last chapter, but before you deploy the app, JavaScript best practices get covered.

I hope you pick a copy of the book and enjoy, best build the app or even your own future multimillion ready to go IPO cool app.

Again, 5 out of 5 stars/badges of honour!

Modern Perl Best Practices 50 Tips for Writing More Efficient, Robust, and Maintainable Perl Code by Damian Conway, O’Reilly Media Video Review

50 Tips for Writing More Efficient, Robust, and Maintainable Perl Code

This is my second video from Damian within a year. I decided to watch the author delivering educational content on Perl best practices this time. As a database practitioner myself I must state following best practices is a big thing, it is like that safety net you may have been seeing in circus. It is not much about standards, but more on how to deliver more aligned code that is ready to read and thus understand by others, or yourself after a while, most importantly, it guards you against common pitfalls programming in one language or another. It also transparently makes you a better developer at the same time. With initially substantial and then little effort. So learn and stick to it. Damian has made an awesome job delivering a ton of useful and thoughtful insight, concrete examples on so many topics. I wish I could have such a teacher when I was studying. Each video chapter ends with a summary outlining the most important topics which makes it easy to revisit the key points after a while.

Perl, notoriously known as one of the most difficult languages to read if produced by other programmers (100s of ways to do the same thing). Modern Perl is not an escape from the old. The video is going to stay as important today is it could be years ago (if were around) or in a decade. It must be a good investment into your career.

I liked and re-watched the both chapters on Subroutines (so commonly found), and also I/O (for being a tad complex). But the even the topic on Built-Ins unexpectedly was very informative. Even the chapter on naming was something to fill in with in gaps of the knowledge. Error Handling is a must to watch. I believe each other will have something to complement with.

I have a thought that this video not only applies to Perl developers, but all/any developers who code in an imperative language. And I also think this video is quite unique in terms of content and coverage.

I do not see how it can be any better, I did not code 10K hours in Perl and I am fully aware Damian is a skilled (top notch) developer who must be listened to.

A 5 out of 5 mark from me.

Disclaimer: I received this video for free for the review purpose as per the O’Reilly Reader Reviewer program.

5 free eBooks or Video downloads in the first month of a new annual subscription!

Heads up!

An awesome deal: Packt Publishing is offering 5 free eBooks or Video downloads in the first month of a new annual subscription – up to $150 worth of extra content.

That’s in addition to one free download a month for the rest of the year!

Offer Expires Nov 4th.

Heads-up! Level Up!

Take your skills to the next level!

Harry up! Till October the 2nd ALL eBooks and Videos from Packt Publishing are just $10 or less, and many received not less than 5 stars (reviewed here and at

In short, the more you choose to learn, the more you save:

  • Any 1 or 2 eBooks/Videos — $10 each

  • Any 3-5 eBooks/Videos — $8 each

  • Any 6 or more eBooks/Videos — $6 each

The discounts above are automatically applied in your cart when you add the correct number of titles.

This is the perfect opportunity to learn something new, keep yourself up to date, and ultimately become an expert!

Mastering Vim Video Tutorial Review by Damian Conway, O’Reilly Media

Mastering Vim

Vim,and the texteditors from its family are incredibly powerful,feature-rich, andextensible. They are running on every possible OS,in fact I have iton my Android phone. Besides, I know people who deny powers of everyIDE on the market in favour to using VIM. Complete software suitesand websites are built solely using VIM.

But for arguablymany the learning curve is actually quite steep, or it looksintimidating, especially at the beginning. This is why I see a lot ofvalue in the visual kind of training as this tutorial. And it isquite lengthy. Despite it is running for several hours (O’Reillyproduct page does not indicate the exact run time) prepare to spendat least double the time learning. This is because you want to MASTERthe tool, not just acknowledge its capabilities.

Contrary to mytaste, the author chose to concentrate on roughly 80% speaking versademoing VIM’s commands in it (I will run ahead of the locomotive hereand say this largely influenced my three star rating).

Furthermore,Iinitially scrambled to research on the vimrc file mentioned atthebeginning, besides, Damian chose just to “dive into” theeditor without providing specifics on how the extensibility works,but he mentioned his vimrc is very long. Likewise, no further infowas givenon how to install VIM or its plugins (which every typical)power user would want, but several were mentioned. These are allsmaller (as Google and Bing are a click away) items, but make suchseemingly“intermediate to advanced” video incomplete, I admit, Imade dozens of such stop and goes during the tutorial and I franklytestify fail to classify what level of user this tutorial is aimedat.

Even a seditious thoughts tarted to occupy my head (which laterdissipated)that may be Google could be a good teacher for VIM. Notso.

There are positivethings about this video, too. Many. I liked the part on visual modes,the ‘search’ was covered as complete as I can imagine,my favouritesection was on folding, never seen it covered before.

Amusingly,the authorstated in the closing that he covered only 1% of the editor, feel thepower of VIM!

Verdict:three out offive stars.

Disclaimer:Ireceived an opportunity to watch this video for free in exchange fora review as per O’Reilly’s Blogger Review programme.

The Closed World Assumption Video by C. J. Date, O’Reilly Media Review

What Do Databases Really Mean?

As a seasoned database professional and SQL Server MVP I was actually unaware of one of the most important notions of the [known to me] Relational Theory – The Closed World Assumption. I frankly speaking approached the opportunity to watch the video with a set of very low expectations, expecting to yawn soon and learn very little, boy how wrong I was! 

I did feel like I am back to my late teens, sitting in the university, and it was a pleasant feeling, however C. J. Date did not sound [boring] like any of my university professors at all, it was a blast of useful, insightful information, every single second.

Indeed, the author comes from an enterprise (IBM), not the academia.

The pace of the video is fast, as it is action packed, but this way your every cent/penny is at work. 

I admit, you will need to know a few terms as 3VLS – or get it known, but you will also need to understand the PK-FK principals, tuples and be very logical to extract the most benefits out of the video.

The part about data integrity – is the KEY! The piece on eliminating the NULLs is a GEM. Do NOT miss these two.

Sit, relax, be ready to pause and ponder, and enjoy the video, very much suggested to whoever builds relational databases.

Verdict: 5+ out of the possible 5. It’s an eye opener!

Disclaimer: this video was provided to me for free as part of the O’Reilly’s reader’s reviewer program.

Review for Learning PHP, MySQL, JavaScript, CSS & HTML5 3rd Edition by Robin Nixon, O’Reilly Media

A Step-by-Step Guide to Creating Dynamic Websites
It was quite a long review experience in my life! No wonder, the book is 700 pages long, but boy oh boy it is not boring at all. I confess I skipped a few pages here and there, but it was rewarding, I was even able to produce my own small, fully functional website in my company’s Intranet that receives requests for database backup restores and logs their processing history; MySQL, JavaScript and Ajax driven (yes, the book covers that, too). I must admit I did not use CSS as much as I should, but I am planning on returning to this book to apply a few more advance techniques to my website (Ch 20 on CSS3) to make it more of an eye candy. 
Let me state that this is a timely update release for Learning PHP, MySQL, JavaScript, CSS & HTML5 which happens to be a 3rd edition of this book this time around exactly when HTML5 adoption is gaining so much traction.
More on the book itself, it is worth your money to an extend it worth your every penny: each chapter is verged so it takes you right from a printed book page to real-life example implementations. The book is very well structured, it has many (26), but succinct chapters that end with questions that help you memorize what you learned (this is my preferred way of studying), the book has the answers in the appendix. If you want to hear me whining, then may be I should say that the book author sticks to using the Zend Framework, no others covered, thus even though it is a very popular and mature development platform and has all the bells and whistles you may need to run a commercial grade website you may need to figure out yourself how you would develop and deploy using other Frameworks your company uses. Also the book does not cover Unit Testing.
What I liked: the Ajax section and HTML5 are my favourites. Also tasteful graphics, website examples, the part on doing the validation was both very useful and explanatory. The chapter on ‘Practical PHP’ is of much help.
Advice: HTML5 is a little hard, and at times a tad unusual, also not functionality of HTML5 is implemented by every browser in full (notably the IE family of browsers), so plan your features coding in advance.
In the terms of closing I would like to tell that the web development after reading this book does not look so intimidating any more. A big thank you to Robin!
My verdict – 5 out of 5 without doubt.
Disclaimer: I received a free electronic copy of this book as part of the O’Reilly Blogger Reviewer Program in exchange for a review publication.

Parallel Programming with Python by Jan Palach, Packt Publishing Book Review


As I like reviewing technical books I was noticed by Packt Publishing and given an off the press copy of Parallel Programming with Python. Well, it was an ebook to be accurate. I agreed with joy because Parallel Programming is an increasingly hot topic in today’s IT circles, my announcement spurred even a short discussion. For those who ponder why I can tell in short it is because of the CPU clock speeds stagnation. We, software engineers, are dealing with ever increasing volumes of data and are asked to deliver even faster, more robust applications and websites. This is tough. Parallel Programming is the answer. I hope I whet your appetite for exploring the Parallel Programming so now I can switch the focus to the book.
It is not terribly long. Not costly either. In fact if you care I managed to read it whole in 3 hours plus (stats are from my ebook reader app) and managed to run a few examples that worked on my laptop with Windows 7. I am planning on running more examples later on a POSIX machine. Thing with the examples is they are classic ones: the Fibonacci series which is boring to me and far from what anybody would be dealing with at work and web crawling which is better done using say Nutch. The same code examples go through the entire book, just different techniques applied. What I wish Jan had done is explaining at least what technique helps in what case in real life. My other pet peeves are that there was no mention on how to leverage the GPU, how to eliminate the For Loops – this is actually a must in my opinion, and there was no coverage on how to debug parralel processes. Let me stop at debugging a tad longer: since Python allows mutability it becomes critical to exterminate nasty mutation bugs!
In terms of closing, I have an advice to the author: it is hard to write a technical book, but I wish it could be longer and covered more ground, another advice is to the publisher, this book qualifies for the “Instant” moniker type of the books from Packt.
By the way I like your website redesign!
Three stars out of five.