Skip to main content

Posts

Showing posts from 2018

Flexible Custom Reports for SQL Server

Flexible Custom Reports for SQL Server This article is written by developer for other developers, sharing my experience with a technique that I found in Kimberly Tripp's SQL Server blog article titled " Building High Performance Stored Procedures ". In her article, she demonstrated a dynamic SQL technique that allows for "Query By Example" screens that allow most fields to be optional. I would strongly encourage you to read her article along with the associated cautionary notes. I would further add that this technique should not be used for any automated reporting tasks. If you have a known report requirement, make a dedicated stored procedure for it! I am writing this article to share a few refinements as well as a nice way to catch refactoring dependencies when this stored procedure is part of a database project in Visual Studio.  As a point of reference, I used MS SQL 2014 and Visual Studio 2017, but the technique should work with older versions of SQ

Android OS Redesigned

Imagine the following scenario - you are looking for an application (app) on the Google Store, but the application that you found does 3 or 4 other things that you are not really interested in.   Perhaps it is a photo editor that also syncs with Dropbox, has an online gallery, etc.  All you want is local photo editing.  Today, there is nothing you can do unless the app uses Android 6.0 run-time permissions, but if you had more fine-grained permission control, you could deny or just limit access to those extraneous permissions like web access. I previously wrote about a solution to many of the problems associated with the Android operating system.  For the rest of this article, I will pretend that the Android community has adopted these design ideas. A trustworthy OS would give the user full control over each app's ability to run in the background, upload and download data over various connections (mobile, public network, private "home" network), etc.  Before installa