Sunday, May 27, 2018

What I did for the week ending 2018/05/26

I am slowly going through all of the PowerShell + DevOps Global Summit 2018 talks that I find interesting.

I took advantage of the following learning opportunities:

  • Whip Your Scripts into Shape: Optimizing PowerShell for Speed by Joshua King on YouTube
  • Application Provisioning with DSC and Octopus Deploy by Josh Duffney on YouTube
  • PlatyPS: PowerShell Help meets Markdown by Sergei Vorobev on YouTube
  • Defending against PowerShell Attacks-In theory and in practice by Lee Holmes on YouTube

Friday, May 25, 2018

Certified, as opposed to merely Certifiable

I passed the 70-767 Implementing a Data Warehouse exam this week.

I first read Kimball's Data Warehouse Lifecycle Toolkit and The Data Warehouse Toolkit over fifteen years ago, so it's about time. I still have those books, although many other books have hit the recycling bin. A lot of the underlying technology has changed in the data warehousing area, but a grounding the basics of facts and dimensions is still important.

I passed the exams for Querying Microsoft Server 2012/2014 and Administering Microsoft SQL Server 2012/2014 Databases, a while back. My Microsoft Learning dashboard points tout that this third success qualifies me as a "Microsoft Certified Professional". The last time I was Microsoft-certified in anything was in 1998, when I had a certification in Windows 98 desktop support, or some such thing. I don't think I ever did anything with that.

Co-incidentally, I used the last of my last business cards while attending a talk on Machine Learning at Jacquette Consulting on Wednesday. It must be time for new cards.

Sunday, May 20, 2018

What I did for the week ending 2018/05/19

Here are the learning opportunities that I took advantage of last week:

  • The Build Release Pipeline Model for Mere Mortals by Ryan Coates on YouTube
  • PowerShell Team: Inventory Your Server Environment and Detect Change at Scale by Jenny Hunter on YouTube

Sunday, May 13, 2018

What I did for the week ending 2018/05/12

Here are the learning opportunities that I took advantage of last week.

Due to my interest in and use of DbaChecks, I need to get a better handle on PowerBI:

  • Introduction to Power BI Desktop with Dustin Ryan on YouTube

PowerBI seems to be the only reasonable way to visualize the results of the tens of thousands of tests I'm running.

I could not resist watching a several things from the PowerShell + DevOps Global Summit 2018. The following are all from the Global Summit:

  • Beyond Syntax: Pester Testing with Dave Wyatt on YouTube
  • Keynote: State of the Community with Don Jones on YouTube
  • PowerShell 2018: State of the Art with Jeffrey Snover on YouTube
  • A Historical Architectural Tour of PowerShell with Bruce Payette on YouTube
  • Become a PowerShell Debugging Ninja with Kirk Munro on YouTube

I don't usually listen to things like keynotes, but I find that Don Jones and Jeff Snover always have something valuable to share.

I am surprised with the renaming of PowerShell Core to PowerShell. I am sure that won't be confusing to casual scripters. /s

If you'd like to keep tabs on what I am watching more closely, you can head over to the official Ashdar Partners twitter feed. I am not big on chitchat. It's mainly YouTube sharing what I watch and (what I hope are mostly) quality retweets.

Sunday, May 6, 2018

What I did for the week ending 2018/05/05

I took advantage of these learning opportunities:

  • Building Your T-SQL Tool Kit: Window Function Fundamentals with Christina E. Leo on YouTube
  • SQL Server Query Plan Analysis: The 5 Culprits That Cause 95% of Your Performance Headaches with Adam Machanic on YouTube
  •  Beyond Pester 101: Applying testing principles to PowerShell by Glenn Sarti on YouTube.

The PowerShell + DevOps Global Summit has released their 2018 videos (62 in all!) and all I want to do is watch PowerShell videos all day. Life intervenes, however...

Sunday, April 29, 2018

What I did for the week ending 2018/04/28

I attended SQL Saturday in Blue Bell, PA. Specifically, I attended these sessions:
  • Effective DW Storage Patterns with Miner
  • Azure SQL DW Migrate On-Premise to Cloud, with Zhang
  • Extending DevOps to SQL Server with Fritchey
  • Data Governance and Master Data Management, with Napoli
  • Successfully Running SQL in AWS, with Carrig

I took advantage of these additional learning opportunities:
  • I watched Creative Uses of the APPLY Operator, session 1, with Itzik Ben-Gan at on YouTube
  • I watched Creative Uses of the APPLY Operator, session 2, with Itzik Ben-Gan at on YouTube

Sunday, April 22, 2018

What I did for the week ending 2018/04/21

The big thing for this week is SQL Saturday #714, which will be held at Montgomery County Community College on 4/21. I'm writing this post a little early, as I won't have time to write over the weekend.

The time I had planned to spend on finishing up 70-767 has been taken up by finishing up the annual and quarterly book keeping and a strange issue with my backup laptop (an old Core Duo ThinkPad T500) refusing to update to a recent version of Windows 10. If I get the laptop working, I will post a more detailed entry. Unfortunately, I'm starting to think that it's time to retire the old workhorse or put Ubuntu on it.

Monday, April 16, 2018

What I did for the week ending 2018/04/14

I don't know what happened with the date in the title of the last blog entry. I don't think that it will cause any harm to anyone, so I'm going to leave it as-is.

Here are the main things I worked on last week (in addition to my 'normal' work for clients, which I don't detail here):

  • I watched several videos from the "SQL Server tutorial for Beginners" playlist on YouTube, which is produced by kudvenkat. As you know, I am not a beginner with SQL Server. Even so, I don't have much practical experience with the LEAD(), LAG() and windowing functions. I've been working on a project where these functions are beneficial, so I am learning more about them. I found the ten or so videos that I watched up around the "Part 110" area to be well-explained.
  • I am up to page 145 in my "Implementing a SQL Data Warehouse" review. 
  • My progress was impeded by having to catch up with the quarterly and annual bookkeeping.

Saturday, April 7, 2018

What I did for the week ending 2018/04/10

Here is the progress for the week:

I've spent quite a bit of time on a couple of dbatools issues, which has negatively impacted the amount of time I have had to read my 70-767 book. I am only 34 pages into the 70-767 book.

Monday, April 2, 2018

What I did for the week ending 2018/03/30

Last week was a very light week for learning.

I watched:
  1. DSC in a vSphere Environment by Luc Dekens on YouTube. Mainly, I am interested in DSC as I have moved on from VMWare in my home lab.
  2. Test your Powershell code with AppVeyor for ITPros with André Kamman & Rob Sewell on YouTube.

Saturday, March 24, 2018

What I did for the week ending 2018/03/23

Another snowpocalypse has come and melted.

I've been busy, but I haven't made much progress on my training this week. Just about the only thing I have done is this:

Saturday, March 17, 2018

What I did for the week ending 2018/03/16

This week was very busy (work can be so inconvenient :-)) and I didn't get very far in my studies. 
  • I went through the MVA course on SQL Server on Linux. This is several videos and takes a couple of hours. This required dusting off my aging Linux knowledge. In short, most SQL things are the same. I'm not sure that I would be in a hurry to build a complex cluster just yet, but small, uncomplicated single-instance applications should be fine. 
  • I watched Introduction to Jira & Agile Project Management with Dan Cuparkoff on YouTube. I'm not unfamiliar with Agile tactics and strategies, but I have not had a chance to work with Jira. 
  • My exam reference book for 70-767 arrived but I haven't had a chance to crack it open.

Saturday, March 10, 2018

What I did for the week ending 2018/03/09

Here in southeastern Pennsylvania, another Snowpocalypse petered out this week (7 to 13 inches of snow turned out to be 2 to 3 inches of slush) and I took advantage of the following learning opportunities:
  • Performance Troubleshooting made easier New features in Management Studio by That DBAGuy on YouTube
  • PowerShell and KeePass - A poor person's credential database with Christian Lehrer on YouTube
  • Advanced Components in SSIS MS SQL Server Integration Services 2016 with Tim Mitchell on YourTube. This is labelled as "SSIS 2016" but was recorded in 2011. That doesn't matter very much, I've watch Tim present before and it's always illuminating in some way.
  • SSIS Best Practices on YouTube
  • Demystifying $THIS, $_, $PSITEM, $$, $Whatever… with Jason Yoder on YouTube.

I realized that the 70-463 exam has been retired and that I should be targeting 70-767 exam. This is what happens when you let things lie fallow for to long.

There seems to be a dearth of SQL Server-specific open learning materials for data warehouse topics, so I bought the Microsoft Press book for 70-767 and I'll be going through that once before taking the exam. This will push me back a couple of weeks, but my knowledge will be more up-to-date. 

Wednesday, March 7, 2018

Things I had to do to test dbatools, Part 2

My last entry chronicled some of the work I did to get a 'development environment' up and going for the dbatools project. Here are the rest of the details, including the issue with the "BatchParser" DLL error.

What I did to get the dbatools Pester tests going on my VM:
  • I checked out a copy of the appveyor project that sqlcollaborative has. This seems to be a requirement for testing with the 'official' dbatools tests, even if you aren't going with a full-blown appveyor workflow. If you want to write your own Pester tests, you can do anything you want to.
  • I created a custom version of configure.ps1 and put it in c:\temp. This informs the Pester tests about my specific environment.
  • I set my SQL Server 2008 R2 and SQL Server 2016 test instances to allow SQL Logins. I do not allow SQL logins on my instances if I can avoid it, but it makes sense to test dbatools features that support SQL logins.

Those changes let me run all of the tests without any critical "Pester is broken" problems. Unfortunately, there were still over 200 failures. All of them, or at least the vast majority of them, seem to be issues with my environment. Can't blame dbatools or Pester for that.

Since my immediate interest is in Restore-DbaDatabase, I needed to get that Pester test working before I started changing things. So, I switched focus to just getting that one test working perfectly. Here are the two important things I did to get Restore-DbaDatabase.Tests.ps1 working:

  • I changed permissions on certain file system folders so that my "normal" login can see files in those folders. Prior to my doing this, the Restore-DbaDatabase test would fail. This is a development machine and this should be harmless (until I move to another machine and forget that I have to do this.) Those folders should be pretty familiar to any DBA. They were
    • C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA
    • C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Log
  • Here's the show-stopper: the test for "page restore" gave me an error:
WARNING: [Invoke-DbaAdvancedRestore][11:52:21] Failed to restore db PageRestore, stopping | Exception calling "ExecuteNonQuery" with "1" argument(s): "Could not load file or assembly 'Microsoft.SqlServer.BatchParser,Version=, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified." 
This lead to the failure of the "page restore" test.

This error took me a while to figure out. The file does exist on my system, it is part of the dbatools distribution. The file also in my GAC, but it's a much older version. 

After a couple of hours of stepping through code, googling, swearing, wondering why some of my breakpoints weren't being hit, fiddling with Add-Type, fiddling with LoadWithPartialName() and wondering why the DLL was unloadable, I found a guy with the same problem. He had a fix, which is to install the Visual C++ Redistributable Packages for VS 2013. 

I installed the 32 bit and 64 bit versions of the redistributable package, just to be safe. One reboot later, and everything seems hunky-dory now. I can run Restore-DbaDatabase.Tests.ps1 without any problems.

So: thanks, guy! 

I presume that most people are working with Windows 10 or maybe they've got full-blown visual Studio installs on their machines and already have those VC++ packages on their systems, making me an oddball. I'm documenting this, here, in case some other oddball has the same issue.

Monday, March 5, 2018

Things I had to do to test dbatools, Part 1

I spent a good amount of time this week getting a system up so that I could actually maybe start contributing code/tests/something to the dbatools project. I've been wanting to do this for a while, but there is a large amount of "stuff" to get working before being able to do "real work" and getting it all done eluded me. 

Over the last year or so, I've spent a couple of hours getting up to speed, getting things installed and then run out of time just as I get to the point where I can start working with the code. (You know, the fun part.) 

A few months later, I'd give it another go, only to have to spend time fetching my remotes (since I fly solo so often, I'm a perennial newb at some things that I wish I weren't a newb at) and addressing other bit rot issues. By the time I got caught up again, I'd be out of time. Wash, repeat, et cetera and so forth.

I still support several SQL 2008 and SQL 2008 R2 instances. I've noticed a dbatools "behavior" that might need remedying. Now I have (much) more reason to get off my comfy couch and do something useful. The first thing is to get my work environment completely set up.

How I got my work environment tuned up to work with dbatools:
  • I already had VS Code working on my development laptop, with git and a smattering of extensions. I have basic git knowledge. I have relied on a dozen or more online guides for getting all of that configured and working. I've got nothing to add to them, so I won't try here.
  • The dbatools Pester tests seem to like to remove all of the user databases on an test instance when they run, so you need to give it an instance that doesn't have databases that you need to keep. Additionally, I needed a SQL Server 2008 R2 instance that I can work with. I have a smattering of development instances around my homelab. My main development laptop does not have anything as old as SQL Server 2008 R2 loaded onto it, and I don't want to have to worry about accidentally dropping databases on it. My development cluster only has SQL Server 2012, SQL Server 2014 and SQL Server 2016 configured and that won't help either. I have an old Windows 7 development VM that had fallen into disuse. It had SQL 2008 and 2008 R2 configured. That seemed ideal, so I spent time opening up the firewall so that I could run my fast development laptop against that VM. I had forgotten how much of a PITA this is, between port assignments and firewall rules. Worse, I realized belatedly that dbatools tests are written in a way that seems to force running locally to the instance. All of that work on the port assignments and firewall rules was wasted. So, Plan "A" was a failure.
  • Plan "B" was to set up my entire development environment on that old VM. First, I had to do a few rounds of Windows Updates. Then, I had to install and configure VS Code and Git. There is an old SQL Server 2008 R2-era SSMS installed, which seems good enough for me to put off installing a modern version of SSMS for a while. I discovered that the VS Code Settings Sync extension I have configured doesn't seem to be working, or doesn't work the way I thought it did. That cost me some time as well.
  • To save time, I just copied the source code files over my network from my main development laptop to my newly-tuned-up development VM. Git never missed a beat, though I suspect that doing this to a TFS installation would have driven it nuts.

At the end of the evening, I had all of that working OK. The next night, I focused on getting the tests to actually run. That will be my next blog entry.

Friday, March 2, 2018

What I did for the week ending 2018/03/02

I spent some time looking at dbachecks. It's got a lot of promise. I need to see how I can integrate it into my existing tests or integrate my existing tests into dbachecks.

I've spent some time getting an environment together so I could contribute to dbatools.

I'm going through the MVA Jump Start videos for 70-463 again.

I watched Auto-generated User Interfaces with Phosphor with David Wilson at PSCONF.EU 2017.

Saturday, February 24, 2018

What I did for the week ending 2018/02/23

In no particular order, here are the learning opportunities I took advantage of in the last week:

  • I listened to ReverseDSC with Nik Charlebois on RunAs Radio. 
  • Opinion: The unspoken truth about managing geeks by Jeff Ello. I read this once a year and I recommend it to anyone who interacts with IT people.
  • I watched the "Implementing a Data Warehouse" by "Free Training on YouTube. 
    • I am reviewing what I need to know for the 70-463 exam. I took the 70-461 and 70-462 exams ages ago, then got busy and never got around to taking the 70-463 exam. 
    • The videos are a little dated, since they are from the SQL Server 2012 era. The same firm has videos for 70-462.
    • There are also old videos for 70-463 at the Microsoft Virtual Academy (MVA) site. I've watched those before, and I should probably sit through them one more time.
    • Why am I reviewing? I never feel "comfortable enough" with SSIS, even though my experience goes back 18 years to DTS, because I use SSIS so sporadically.
  • I started a Pester class at MVA. Apparently, reviewing for 70-463 doesn't keep me busy enough :-/. More seriously, I think Pester is really great and one of the cleverest things that's come out of PowerShell (which I also think is really great). I want to exploit Pester as much as I can, as a DevOps "thing".

Friday, February 16, 2018

What I did for the week ending 2018/02/16

Before I get into the mundane things for this week, I'd like to point out that all support for SQL Server 2008 and SQL Server 2008 R2 is ending on July 9, 2018. Microsoft's page covering this is here.

Some things to consider:

  • If you are subject to data regulations such as HIPAA, PCI and perhaps even SARBOX, running an unsupported version of your relational database manager may put you out of compliance. 
  • Even if this is not the case for your organization, migrating to a supported version may provide significant performance benefits. I've never heard anyone say "My database is too fast". 
  • With data compression now a feature of the Standard Edition, you may be able to realize savings in storage space, I/O bandwidth and related resources. 

If you have SQL Server 2008 or SQL Server 2008 R2 databases that you need to migrate to a supported version, I can help. Contact me. I have experience with nearly every obsolete version of SQL Server, going all the way back to SQL Server 6.5.

Here are my online learning experiences for this past week, in no particular order:

  • Test-Driven Development with Pester, with June Blender on YouTube
  • Running SQL Server Integration Services within a SQL Server Virtual Machine to do More with Less Money with Jimmy Wong at SQL PASS Summit 2016

Other things I've been working on this week:

  • I've written some data-import code in PowerShell. SSIS seemed overkill and the client doesn't have any SSIS resources to support a SSIS project. 
  • I've been trying out sp_blitz. While I knew about sp_blitz, I had never taken the time to look at before. It's actually found a few curiosities that had never noticed in certain old databases.
  • I found one or two "quirks" in dbatools
  • During my "training time" this week, I have been concentrating on reviewing for the 70-463 test which I intend to take this quarter.

Friday, February 9, 2018

What I did for the week ending 2018/02/09

I find that posting these small learning experiences helps keep up by drive to watch them, so I will continue to post them here. I hope that you find them as interesting and/or useful as I did.

Here are the online learning experiences for this past week, in no particular order:

  • Monster Text Manipulation: Regular Expressions for the DBA with Sean McCown at SQL PASS Summit 2016. This might have been the clearest explanation of REGEX that I've ever encountered.
  • Scalable Application Design with Service Broker With Allen White at SQL PASS Summit 2015
  • DBA Mythbusters with Paul Randal at SQL PASS Summit 2015. Paul Randal is always worth listening to.
  • Columnstore Indexes in SQL Server 2014: Flipping the DW Faster Bit with Jimmy May at SQL PASS Summit 2015
  • Emotional Intelligence for Engineers with April Wensel at ngAtlanta, on YouTube.
  • Application Patterns for Azure SQL Database with Tony Petrossian at SQL PASS Summit 2015
  • Foundation Session: Developing Modern Applications on Azure with Asad Khan, John Macintyre, Pablo Castro, Shawn Bice, Tony Petrossian at SQL PASS 2015
  • Install an AlwaysOn Failover Cluster and Availability Group with Ryan Adams at SQL PASS Summit 2015
  • Dimensional Modeling Design Patterns: Beyond the Basics with Jason Horner at SQL PASS Summit 2016
    • Listened to Query Store and Automatic Tuning in SQL 2017 with Erin Stellato on the RunAs Radio podcast
    • SQL Server 2017 What's New on YouTube
    • Cool New SSMS Features for DBAs on YouTube. SSMS has lots of things hidden away in it and, every now and then, someone points out something else that I didn't realize was there.

    I can't provide direct links for the SQL PASS Summit videos because the SQL PASS site doesn't work that way. I apologize for the inconvenience.

    Saturday, February 3, 2018

    What I did for the week ending 2018/02/02

    I find that posting these "what I've done" entries once a week helps me keep my momentum up, so I'm going to keep doing it.

    I watched the following talks: 

    • "How to Build a Virtual Test Lab for SQL Server" with Ed Leighton-Dick & David Klee at SQLPASS Summit 2015 
    • "Analyzing your ETL Solution with PowerShell" with AndrĂ© Kamman at SQL PASS Summit 2015
    • "Change Data Capture Case Study and Checklist" with Uwe Ricken at SQL PASS Summit 2015

    The most stand-out moments from last week's efforts include:
    • I altered a SQL Server partitioning configuration that I had set up a number of years ago. Even though I implemented partitioning as a "Plan B" for this particular application, it has worked surprisingly well. I haven't had to touch the configuration since I implemented it. I wouldn't have to touch the partition configuration now, but application has survived well past it's initially estimated retirement date.
    • I improved my Pester skills. I've got a lot of infrastructure and configuration tests running now. The weak point, I think, is the overall organization of what I've built. Looking at what I've done, it seems haphazard to me, but I am not entirely sure what "better" should look like. Everyone seems to have their own manner of breaking out or categorizing things via file/Describe/Context/It and their own way of looking through items to be tested. The sqlcollective/dbatools folks intend to release a set of best practice recommendations implemented as Pester tests this spring. I intend to raid them for ideas on how to organize dozens of tests of various sorts. I'm also sure that there is some overlap between what they intend to roll out and what I've been doing. I may need to retire some bespoke code in favor of community-supported code.
    • I installed the latest Pester on a couple of my workstations, updating from 3.4.x or so to 4.1.x. I have seen one or two differences. I haven't bothered to read about the improvements that come with the new version yet (though I do like -Show very much).
    • I removed several dependencies on external code from a code base that I maintain.
    • I updated a toy solution of mine, though the SSIS project in the solution proved to be a problem. The take-away is: If your copy of Visual Studio 2017 (which you *know* has SSDT installed ) doesn't seem to support BI projects (SSRS, SSAS, or SSIS), then you probably don't have the latest version of SSDT installed. VS doesn't seem to update SSDT bits as part of the usual "update extensions & tools" process.
    • I managed to get through a debugging session in VSCode without it crashing on me. This is a first for me. Either VS Code is getting better or I've learned something about how to use the debugging modes that VS Code provides.
    I'd also like to promote the next Philly-area SQL Saturday a tiny bit. SQL Saturday 714 will be held at Montgomery County Community College on April 21, 2018. I skipped SQL Saturday last year, so I haven't been since the event was held at Microsoft's facility in Malvern and I'm curious to see how it will work at this particular venue.

    Friday, January 26, 2018

    What I did for the week ending 2018/01/26

    What useful things did I do last week?

    • I caught up with Kalen Delaney's Weekly Webinar, up to and including Episode 11. These cover a variety of technical details on how SQL Server stores data and are probably too gory for newbs. I have been working on these talks for several months, on and off. Much of the material is familiar to me, but it's easy to forget details here and there. I did learn more about the implantation details of row vs. page compression.
    • I watched Advanced PowerShell Module Development with Visual Studio Code with David Wilson, again. I've never gotten PowerShell debugging in VSCode to behave properly and this will motivate me to take another swing at it.
    • I watched "What’s New for Business Analytics in Excel 2016", with Eli Schwartz. I can't find a Twitter handle or a blog URL for Eli.

    I did start another two or three talks but gave up 15 or 20 minutes in because they weren't really what I was looking for or expecting.

    I've also got a project going to "Pester all the scripts", so to speak. This helps me grow my Pester and VSCode skills.

    Saturday, January 20, 2018

    Keeping up with the SQL Server (things)

    I've been a member of PASS for so long that I'm no longer sure when I actually joined. I attended PASS Summit 2004, which was in Orlando, FL. I must have been a member before then. I started with SQL Server in 1998. I feel like someone from the old, long-dead SQL Server email list suggested that I join.

    (For the uninitiated, membership in PASS is free and you get access to talks from past PASS Summit events. Even though the talks are two or three years old, many subjects are still relevant and many people are still dealing with older versions of SQL Server. In short, you can get good information from some of the best-educated SQL Server experts in the world.)

    I don't go to as many of the monthly meetings in Malvern, PA as I used to. The main reason for this is that there are many good online venues that provide good talks on SQL Server. My three favorite venues are:
    • PASS
    • YouTube (many PASS 'Virtual Groups' will publish monthly talks here.)
    • SQLBITS (look towards the right side of page, under "Conference").
    Both PASS and SQLBITS post recordings of old sessions on their web sites.

    Over the last several weeks, I have been going through the backlog of old PASS Summit 2015 videos. Here are a few stand-outs, with links to the Twitter feeds of the speakers, that I've watched over the last few weeks, in no particular order:
    • Kicking and Screaming: Replacing Profiler with Extended Events with Erin Stellato
    • Run Your DBA Morning Checklist with Policy-Based Management with Pieter Vanhove
    • PowerShell and the Art of SQL Server Deployment with Michael Fal
    • Testing SSIS Packages with Tim Mitchel
    • A Few Of My Favourite Plan Operators with Rob Farley
    • What's New in SQL Server 2016 Reporting Services with Riccardo Muti
    The nature of the PASS site does not allow direct links so I can't point you directly at the talks, but it is easy enough to search for a talk after you log in.

    It seems that the PASS Summit 2016 talks are already online. I've got another 25 talks from PASS Summit 2015 that I'd like to go through, then I'll be talking on the talks from 2016.

    Lastly, but not least, I also watched a talk public by the PASS Business Analytics Virtual Group: