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.

Oct 06

My links of the week – October 6, 2013

Our weekly reading found a lot of interesting posts, this past week, so making a choice on the posts to include was quite hard. Again, some posts were not originally posted this week, but they are interesting enough. So let’s begin.

  • Richard Morris’ Developing for Delivery, a Practical Example addresses the difficulties of keeping a database current, when the database exists in a multiple number of sites, in a wide range of versions and how such difficulties were addressed by Calvi, a provider of telecom invoicing software. From personal experience, this is not an easy thing to achieve, even at a smaller scale, and the article provides interesting advice on how changes in processes and the use of adequate software tools can help reduce the difficulties involved.
  • Alex Bolenok’s NULL in SQL: explaining its behavior is a very good article on the idiosyncrasies of NULL behavior in SQL. The use of NULLs is not at all clear, especially for developers less familiar with the workings of databases, so the article is almost of mandatory reading. Most interesting.
  • Microsoft’s SQL Server Development Customer Advisory Team’s SQLCAT’s Guide to: Relational Engine is a free ebook that includes relevant posts from SQLCAT’s blog, from 2005 to 2012. Recommended.
  • Rob Farley’s Spooling in SQL execution plans is a few month’s old post, but one that clearly shows why spools are used in SQL Server execution plans and why they are not that bad.
  • Alex Popescu’s The premature return to SQL is a response to one article include in last week’s links, by Jack Clark, in which the author explains why the premature return to “SQL” is wrong – this “premature” return is motivated by an attempt to capture financial gains, does not consider the fact that many NoSQL products, in spite of having not yet reached technical maturity, have already provided valuable, alternative new doors to data and results, basically, from pressure from database vendors. 
  • Uncle Bob Martin’s Dance you Imp’s is a humorous but no less interesting article on Object Relation Mappers and the impedance mismatch between OO and the RDBMS storage used to persist them. In a very funny way, the author concludes that there is actually no object to relational mapping. A very interesting read.
  • Jimmy Bogard’s Scaling lessons learned–from 0 to 15 million users describes the lessons learned while building a system that has grown to handle up to 15 million users over the last 3 years. It is an excellent read and the lessons can be of use to any who develops systems that need to be able to scale (and even for those that don’t have such a need).
  • Sean Hull’s 20 Obstacles to Scalability addresses some key points to consider, when designing a web application that will need to scale. Although based on a MySQL based web app, the advice is general enough and applicable to any RDBMS based web application.
  • James Turner’s What Developers Can Learn from healthcare.gov addresses some of the issues exhibited by the healthcare.gov website, to draw more general lessons regarding load testing, good looks vs. functionality, and validation, that can be of value to any website. A very good read.
  • Chris Andrè Dale’s Why it’s easy being a hacker – A SQL injection case study, although from last January, addresses the issue of SQL injection vulnerabilities and the fact that many easily available teaching materials used by developers may actually contribute to the persistence of such vulnerabilities. It is a very good read and it draws the attention to one issue that can, indeed, have negative consequences – the  influence of teaching materials on developers and their work. This is an issue that will deserve a future post here.

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