Tuesday, March 25, 2014 #

SQL Cast versus Convert: CAST should be first choice

I've always been a fan of CONVERT because of datetime CONVERT takes in a style argument and allows me to format the string quickly.  I have since learned that CAST is the standard SQL, and should be first choice of use.

Once I read through the entire article here on MSDN, it's pretty clear that's the rule, but seem to be an unwritten one.  http://msdn.microsoft.com/en-us/library/ms187928.aspx

Posted On Tuesday, March 25, 2014 2:32 PM | Comments (0)

Thursday, March 20, 2014 #

Very happy with my Windows Phone so far

I got a HTC 8XT windows phone from Sprint a month ago.  So far I've been very happy.  The list of app is certainly disappointing, and that's on Microsoft to have to incentivize developers and companies to put out apps, because they certainly wouldn't do it now based on current market share.

However, the UI is clean, and I can completely customize it to give me the level of notifications I want.  I can bypass most of the apps that I need by using the mobile website from the company, so I haven't lost much functionality.  The email side needs some getting used to because of the dark background and white text, but it only took about 2 weeks.

OneNote online is awesome, but not much different from Google Doc.  The predictive typing is much easier to use than iPhone, and I am no longer ambushed by the space key (iPhone users should know what I mean).  The suite of Bing apps are awesome; they have been excellent personal productivity tool.  Skype is still horrible (OK, not horrible, but not very good).  Podcasts are so horrible that I went back to Zune; iPhone is actually better than Windows phone on that front.

Performance has been great, and this is a huge improvement from the Windows 6.5 phone I used to own, even though I didn't get top-of-the-line version.

Kids corner is the most separating feature than anything else.  My wife and I are both comfortable giving the phones to our kids to play for a bit without worrying about them making calls and deleting stuff.

Posted On Thursday, March 20, 2014 11:01 AM | Comments (3)

Very honored to be referenced by MSSQLTIPS

I am very honored that one of my blogs is being referenced by MSSQLTips as exam material help.  I started this blog a while ago because I got frustrated with forgetting some cool stuff I've done before, and I am very glad that it not only helped me, but help some in the community.  Microsoft developer community has been so great, I'm happy to do my part.

http://www.mssqltips.com/sqlservertip/2862/exam-material-for-implementing-a-data-warehouse-with-microsoft-sql-server-2012-exam-70463/

My blog being referred to:

http://geekswithblogs.net/LifeLongTechie/archive/2012/11/14/time-to-stop-using-ldquoexecute-package-taskrdquondash-a-way-to.aspx

Posted On Thursday, March 20, 2014 10:46 AM | Comments (0)

Very honored to be referenced by MSSQLTIPS

I am very honored that one of my blogs is being referenced by MSSQLTips as exam material help.  I started this blog a while ago because I got frustrated with forgetting some cool stuff I've done before, and I am very glad that it not only helped me, but help some in the community.  Microsoft developer community has been so great, I'm happy to do my part.

http://www.mssqltips.com/sqlservertip/2862/exam-material-for-implementing-a-data-warehouse-with-microsoft-sql-server-2012-exam-70463/

My blog being referred to:

http://geekswithblogs.net/LifeLongTechie/archive/2012/11/14/time-to-stop-using-ldquoexecute-package-taskrdquondash-a-way-to.aspx

Posted On Thursday, March 20, 2014 10:28 AM | Comments (0)

Real-time report VS Application

It is very often that we report developers get requests about "real-time" reports.  I don't know about you, but I cringe every time I hear about this.

For some people, "real-time" report means I have a report that executes a query in the database to get result back.  But when you think about it, if you answer "yes" to any of the following questions, you don't really have a real-time report:

  • Is your dataset cached on the report server?
  • Is the query result cached on the database server?
  • Does your source data come through some kind of ETL process?  In other words, is your data processed (original raw data lives somewhere else)
  • If your data is the raw form (directly from a sensor, for example), does your sensor (or other data gathering instrument) poll data on a timed basis?

And even if you don't answer yes to any of those questions above, you might not be able to get your report to be "real-time" if there is high network latency, high volume data traffic so that transaction lock is needed, lack of report server memory to process quickly, lack of end user UI to render the report quickly, any number of things.

Granted, my definition of "real-time" is very strict.  I consider watching a game on television not real-time because of delay in satellite transmission, intentional program delay, and possible buffering depending on the tool you are using.

Even if I can let go of the strict definition, every time I hear the report request being "real-time", my first reaction is a question back at the user: "what is it that you are trying to achieve by using a real-time report?"  Because too often I'll get into these kinds of conversation:

  • How often do you run the report?  Once a day (the most I've ever gotten was once an hour)
  • I want to be able to change some source data to respond (uh, then you are not asking for a report, but an application)
  • I want the data to reflect the current data.  (I can make a single sensor reflect data change almost instantaneously, but would you need the summary data to change every 3 second?)  Don't even need that.
  • I want a screen that tells me about a problem immediately.  (So you don't want a report that you have to log in to see, I can build you an alert system and alert you via email or text messages)  GREAT!
  • I want a report that tells me how my group is doing.  (How about a dashboard type of screen that polls the data every 15 seconds?) It should be good enough to do every 5 minutes on my phone, and maybe every minute on that big TV in the team's room.

My point is, when the end user makes a "real-time" request, there is usually something she/he hasn't explained yet.  It is our job to find out what that additional requirement is and make appropriate recommendation.

Posted On Thursday, March 20, 2014 10:18 AM | Comments (0)

Copyright © Kevin Shyr

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski