• Critical Transcendence: .NET SDK and Apache Spark

      When Alex Garland’s series Devs (on FX and Hulu) came out this year, it gave developers their own sexy Hollywood workup. Who knew that coders could get snarled into murder plots and love triangles just for designing machine learning programs? Or that their software would cause a philosophical crisis? Sure, the average day of a developer is more code writing than murder but what a thrill to author powerful new program.


      Read more →
    • How to receive data from Google Analytics using R in Microsoft SQL Server

      • Tutorial

      In this article I want to show in detail how you can use R in Microsoft SQL Server to get data from Google Analytics (and generally from any API).


      The task — we have MS SQL server and we want to receive data in DWH by API


      We will use googleAnalyticsR package to connect to Google Analytics (GA).


      This package is chosen as an example due to its popularity. You can use another package, for example: RGoogleAnalytic.
      Approaches to problem solving will be the same.

      Read more →
    • Testing SQL Server code with tSQLt

        FYI: this article is an expanded version of my talk at SQA Days #25.

        Based on my experience with colleagues, I can state: DB code testing is not a widely spread practice. This can be potentially dangerous. DB logic is written by human beings just like all other «usual» code. So, there can be failures which can cause negative consequences for a product, business or users. Whether these are stored procedures helping backend or it is ETL modifying data in a warehouse — there is always a risk and testing helps to decrease it. I want to tell you what tSQLt is and how it helps us to test DB code.

        Read more →
      • SQL Index Manager – a long story about SQL Server, grave digging and index maintenance

          Every now and then we create our own problems with our own hands… with our vision of the world… with our inaction… with our laziness… and with our fears. As a result, it seems to become very convenient to swim in the public flow of sewage patterns… because it is warm and fun, and the rest does not matter – we can smell round. But after a fail comes the realization of the simple truth – instead of generating an endless stream of causes, self-pity and self-justification, it is enough just to do what you consider the most important for yourself. This will be the starting point for your new reality.

          For me, the written below is just such a starting point. The way is expected to be lingering…
          Let's go?
        • Selecting, caching and displaying photos on the map

          • Translation

          In this article, I decided to describe how the functionality of selecting and displaying photos on a specific place on the map was implemented in our photo service gfranq.com. The photo service does not work now.



          Since we had a lot of photos in our service and sending requests to database every time the viewport changes was too resource-intensive, it was logical to divide the map into several areas that contain information about the retrieved data. For obvious reasons, these areas have rectangular shape (although hexagonal grid was considered too). As the areas become more spherical at large scales, elements of spherical geometry and tools for it were also considered.


          In this article, the following issues were raised:


          • Storing and retrieving photos from the database and caching them on the server (SQL, C#, ASP.NET).
          • Downloading necessary photos on the client side and saving them to the client cache (JavaScript).
          • Recalculation of photos that must be hidden or shown when the viewport changes.
          • Elements of spherical geometry.
          Read more →
        • Monitoring System for Windows servers on pure SQL, and how I had secretly dragged it into the Production

            A long time ago in a galaxy far, far away there was a company grown from a startup to something much bigger, but for a while the IT department was still compact and very efficient. That company hosted on prem hundreds of virtual Windows servers, and of course these servers were monitored. Even before I joined the company, NetIQ had been chosen as a monitoring solution.

            One of my new tasks was to support NetIQ. The person, who worked with NetIQ before, said a lot about his experience with NetIQ, unfortunately, if I try to put it here it would be just a long line of ‘****’ characters. Soon I realized why. Steve Jobs is probably spinning in his grave looking at the interface like this:

            image
            Read more →