Oct 13

My links of the week – October 13, 2013

This weeks links cover multiple subjects from to NoSQL to Performance Tuning and  Responsive Design.

  • Buck Woody’s Data Science Laboratory System – Document Store Databases is the 9th article on a series hosted on the Simple Talk website, on setting up a Data Science Laboratory server. The whole series is a great read. In this article, the concept of a document store database is presented. The system chosen for the server is MongoDB and the author provides a brief walk-through of the installation process and includes links to multiple useful references on MongoDB. An excellent read.
  • Microsoft’s Patterns and Practices Team Data Access for Highly-Scalable Solutions: Using SQL, NoSQL, and Polyglot Persistence is a guide to on how to design and build applications and services that can take best advantage of SQL and NoSQL databases by combining them into a polyglot solution. It provides an end to end walk-through of a business application that uses SQL Server with a variety of NoSQL databases, showing how the designers selected the databases to closely match the various business requirements.
  • Brent Ozar’s Performance Tuning kCura Relativity is an excellent overview on how to approach performance tuning in a real world case and includes links to other useful resources for performance tuning. A great article on performance tuning.
  • Jes Schultz Borland’s Get a Report of Your Server’s Top 10 Worst Queries provides a guide to finding a SQL Server server 10 worst performing queries, and building a report with the results, using SQL Server Reporting Services. The article includes additional links that may be of use, even to tune the offending queries, once you find them. A good read.
  • Allen McGuire’s My DBA Toolbox is a good example of a DBA toolbox. Includes links to tools, scripts, articles and blogs that should be present in a DBA’s arsenal.
  • SMG Research Reveals DBA Tools Not Effective for Managing Database Change is an unsigned article that addresses some findings of a study that “examines the views of application development and deployment professionals in large organizations with $100 million or greater in IT department spending”. Including in the findings is the high number of organizations surveyed that feel that the DBA tools available are not very effective dealing with database application changes. The article includes a downloadable infographic with some interesting and surprising figures. A very interesting read.
  • Kenji Hiranabe’s Modeling in the Agile Age: What to Keep Next to Code to Scale Agile Teams raises the question of whether modelling is still useful, in an age where Agile methods are mainstream and working code and tests are considered the most important team artifacts. The article proposes a strategy to overcome the difficulties of making models live beyond conversations, based on keeping “big picture models” on architecture, domain model and key use cases. An excellent read.
  • Rockford Lhotka’s Does .NET Have a Future? addresses the future of .Net as a relevant technology. The author’s opinion is that not only .Net, but also Java and the underlying operating systems (Windows, Unix / Linux) will gradually fade away into “the misty twilight of time”. The article explains how this relevance fading will occur and how developers can deal with the this obsolescence and points to Javascript as the alternative platform. An interesting read.
  • Konstantin Lebedev’s So We Wanted To Build A File Uploader… (A Case Study) is an article describing Russian email provider Mail.ru development of a file uploader to overcome the difficulties experienced with their previous Flash based uploader. An attention grabbing article on the development process, up to the final result, a file uploader using multiple technologies and freely available on GitHub.
  • Daniel Mall’s Now With Responsive, is a great walk-through on the conversion process he used to make the site responsive. The article addresses several steps, from CSS to Sass conversion, changing the page location where javascript is loaded, using webfonts and resolution independent graphics. A very interesting read.
  • Rachel McCollin’s Design-Based Media Queries proposes a rethink of the way breakpoints are usually employed in designs. Considering the frequent design-based media queries are becoming untenable,  due to the explosion of devices used and the multitude of resolutions featured, Rachel proposes defining breakpoints based on the design, to make sure that the designs adapt to any devices widths while ensuring readability and to ensure that navigation items are large enough to be used in touch based and mobile devices. A very interesting read.

That’s all for this week. Thanks for reading.

Sep 12

Let’s face it, no one can be trusted to update our computers

The problem with automatic updates is mostly known in Windows based systems when updates go bad and cause troubles, that can go from ad nauseam offerings of the same updates, no matter how many times you try to install them, to having your computer rendered unbootable.

Software manufacturers, though, seem to love them. Google is nice enough to install about 32723 versions of Google Update, purportedly to update whatever Google software you were not so wise to install. For some time now, Google Chrome started updating itself automatically, which obviously brings some unexpected surprises, at times. I have had to cleanup after Google’s updates, that rendered Chrome unusable, at least twice.

The recent problematic newcomer to the automatic update troublemakers list is Cubby. I must say I like Cubby. It allows me to keep my work files synchronized between my computers without me having to worry about it. It just works. Additionally, it keeps a copy of the files on Cubby’s servers, meaning I have a copy of my most valuable files off premises. This is a safety measure that anyone that cares about its files should implement.

Liking Cubby does not meant that I like the fact that cubby updates itself automatically because, well, things can go wrong. Today things went badly wrong with Cubby. Both my computers showed Cubby restarting itself early in the morning and a simple check allowed me to see, to my despair, that all my cubbies (all the folders that I use Cubby to keep synchronized) were syncing. They have been syncing all day (50 GB of files in each computer), taking 25% of my CPU time and wasting valuable bandwidth, while some files that actually needed immediate syncing, are just queued due to the huge overload of Cubby checking and syncing every single file.

The Cubby episode today closed the deal for me. I no longer want software that updates itself automatically. If Cubby does not provide an option to disable automatic updates, I will not renew Cubby, when my subscription is up for renewal next December. My time is too precious to be left to the mercy of any software manufacturer’s poor testing practices. I know software can have issues, but thorough testing is supposed to avoid scenarios such as the one I experienced today.

No one seems to be deserving confidence when providing automatic updates to your software. At the very least, you should be offered the option to accept an update and provided with the choice to go back to a working version, when the latest update fails, usually miserably. It’s just not acceptable that you have to waste precious time because someone who provides you with software, cannot test it properly.

I have Windows Update set not to install updates automatically. This allows me to backup before updating and to update only when I have the time to do it. I will get SysInternals autoruns and disable GoogleUpdate. As to Cubby, well, it’s decided, either the option to avoid automatic updates is added, or Cubby will be gone from my systems in December.