All the headlines and interesting SQL Server information that we've collected over the past week, and sometimes even a few repeats if we think they fit. These headlines are gathered throughout the week and are posted in real time at the website. Check there for information throughout the week or enjoy this weekly summary of the SQL Server world. WebinarsHow DevOps can help you stay ahead of the competition - Do you want to be the best at sprinting, or overcoming hurdles, or running further than the rest? The key is to find an approach that brings the elements together: removing silos between teams, adopting integrated technologies, automating processes that cause barriers and bottlenecks. ...(more) Extending DevOps to the database: release management - Join Microsoft MVP Steve Jones and Redgate’s Arneh Eskandari to discover how Redgate’s Database DevOps solution works to improve your database development and deployment processes. You'll see a demo of tools from Redgate's SQL Toolbelt and see how they plug into your usual technology stack. There will also be plenty of time to ask Steve and Arneh questions....(more) Virtualization and ContainersOverview of SQL Server 2017 Docker containers on Linux machine - SQL Server 2017 is the biggest release and most important releases in the Microsoft product history simply because of the freedom that it gives to install the product anywhere. The advent of the Docker containers and growing emphasis on open source solutions ......(more) Vendors/3rd Party ProductsDatabase subsetting. What it is, what it’s for, and why we’d love to hear from you. - We’re looking into database subsetting, and if you need it or are investigating it, we want to hear from you. Please get in touch below. What is database subsetting? Database subsetting is creating a copy of a database that contains only a portion of ......(more) Moving from application automation to true DevOps by including the database - ...(more) What is SQL Change Automation? - William Brewer explores the features of Redgate's SQL Change Automation...(more) Troubleshooting Blocking in SQL Server using SQL Monitor - As a DBA, if blocking problems catch you off-guard, you’ll need to do some reactive investigative work, to piece together a picture of what processes are, or were, blocked, what sessions caused the blocking, what SQL was running, what locks were involved and so on. In this article Tony David explores the causes of blocking and how to troubleshoot different cases using SQL Monitor...(more) T-SQLAVG() in TSQL: Watch Your Data Types - This week’s Quizletter featured a quiz on using the AVG() function in SQL Server. I was inspired to write this quiz because I’ve been teaching TSQL School each week. When we covered aggregate functions, I remembered just how tricksy and non-average that ......(more) Dates and Times in SQL Server: DATENAME() - Last time we looked at DATEPART(). This post is all about the DATENAME() function. So many similarities There are many similarities between DATEPART and DATENAME. Where DATEPART returns the date or time part as an integer, DATENAME returns the part as ......(more) Strings vs Identifiers - A common mistake, and one I make frequently myself is to use a string in place of an identifier, or vise-versa. So to start, let’s have some definitions, shall we? String a linear sequence of characters, words, or other data. Identifier a sequence of ......(more) Optimization Thresholds – Grouping and Aggregating Data, Part 3 - This article is the third in a series about optimization thresholds for grouping and aggregating data. In Part 1 I covered the preordered Stream Aggregate algorithm. In Part 2 I covered the nonpreordered Sort + Stream Aggregate algorithm. In this part ......(more) Introduction to T-SQL Window Functions - I’ve spent the past six years traveling around the US telling database professionals about T-SQL Window Functions at SQL Saturdays and other events. I’m amazed at how few people have heard about these functions and even fewer who are using them. At the ......(more) ORDER BY newid() is an Unbiased Way To Randomize - Mike Bostock is a data-visualization specialist. And it really shows in his blog. Every article is really well designed (which makes sense… many of the articles are about design). One of his articles, Visualizing Algorithms has some thoughts on shuffling ......(more) SQL SERVER – Adding Values WITH OVER and PARTITION BY - Once in a while, I get questions where users have indeed explained the question well enough that I can easily understand their question. If I understand question quickly, I am always able to answer it efficiently as well. In this blog post, we will see ......(more) Why You Should Stop Depending On SQL Server Versions In Code - It Used To Be That when you wrote scripts that had to work across different versions of SQL Server, you were pretty safe. Microsoft would release a new version, or a Service Pack that had something new in it, and it wouldn’t start showing up in older ......(more) A Surprising Simplification Limitation - When It Comes To Simplification Rob Farley has my favorite material on it. There’s an incredible amount of laziness ingenuity built into the optimizer to keep your servers from doing unnecessary work. That’s why I’d expect a query like this to throw ......(more) Database Fundamentals #17: Learning T-SQL - While SQL Server Management Studio (SSMS) provides a robust graphical user interface (GUI), the commands you’re going to use the most to control databases and the data within them in SQL Server are going to be done through T-SQL. Therefore, you really ......(more) SQL Server 2017 – SELECT INTO [A SPECIFIC FILEGROUP] - Forget about Adaptive Query Processing for a minute, what other feature have I been waiting for? SELECT INTO a specific filegroup, not the default filegroup! I have needed this feature many times in the past. Let’s take a look at it using the WideWorldImportersDW ......(more) Join Elimination: When SQL Server Removes Unnecessary Tables - In this post and video at SQLPerformance.com, I discuss what join elimination is and how it works in SQL Server. Join elimination is one of the many techniques that the SQL Server query optimizer uses to create efficient query plans. Specifically, join ......(more) ToolsSQL SERVER – Save Auto Recover Information – SSMS - Though, I have many complaints about SQL Server Management Studio (SSMS) (read the latest one here), I also like some of the features for sure. In this blog post, we will take about Auto Recover feature of SQL Server Management Studio. This is one of ......(more) SSMS 17.8 is now available - This post is co-authored byPam Lahoud, Senior Program Manager, SQL Server. We are excited to announce the release of SQL Server Management Studio (SSMS) 17.8! Download SSMS 17.8 and review the Release Notes to get started. SSMS 17.8 provides support ......(more) The June release of SQL Operations Studio is now available - We are excited to announce the June release of SQL Operations Studio is now available. Download SQL Operations Studio and review the Release Notes to get started. SQL Operations Studio is a data management tool that enables you to work with SQL Server, ......(more) SSMS reset window layout (Day 37) - SSMS is a wonderful tool. You can drag Windows around, grouped with others, split, docked, undocked, hidden… it seems endless what you can do with them. You can even change what columns you see. Invariably, with all of this customization, things go wonky. ...(more) SQL Server SecuritySQL SERVER – Transfer Logins Error: Msg 15021: Invalid Value Given for Parameter Password - One of my existing clients contacted me for assistance in fixing an error. Sometimes, if the error is easy and it doesn’t take more than 10-15 minute, I give them the benefit of being my existing customer and I give free consulting (not always though). ...(more) Revoke the permission(s) before dropping the server principal - As a remote DBA I often have to log in to client systems for a fixed amount of time and then remove logins and other security after the work is done.This morning while cleaning up I ended up with a new error for me:--Msg 15173, Level 16, State 1, Line ......(more) Misleading errors: “Server is configured for Windows authentication only.” But it’s not! - In general, the errors SQL gives are highly useful. Of course every now and again you get one that’s just confounding. The other day I saw the following error in the log: Login failed for user ”. Reason: An attempt to login using SQL authentication failed. ...(more) SQL Server NewsCumulative Update #8 for SQL Server 2017 RTM - The 8th cumulative update release for SQL Server 2017 RTM is now available for download at the Microsoft Downloads site. Please note that registration is no longer required to download Cumulative updates. To learn more about the release or servicing ......(more) Cumulative Update #12 for SQL Server 2014 SP2 - The 12th cumulative update release for SQL Server 2014 SP2 is now available for download at the Microsoft Downloads site. Please note that registration is no longer required to download Cumulative updates. To learn more about the release or servicing ......(more) Software DevelopmentInstalling SSDT for Visual Studio 2017 - I had SSDT for VS 2017 installed some time ago, but due to some issues I had to uninstall it. I also have SSDT for VS 2015 installed, as an add-on in Visual Studio 2015 Enterprise (because that’s the only way to get TFS working in VS 2015). I tried to ......(more) EF Core 2.1 vs NHibernate 5.1: DDD perspective - That was probably a long wait for those of you who follow my blog. But, better late than never, so here it is: another comparison of Entity Framework and NHibernate, in which I bash EF Core and present it as an unbiased review. Just kidding, I do try ......(more) Security news and thoughtsTraditional database security doesn’t protect data - It seems every week there’s a new data breach to read (or tweet) about. I recently discovered this lovely visualization of the growing amount of private data about people like you and me that is being exposed. You can filter and/or sort the data by industry ......(more) Microsoft Stops Cortana From Giving People Access To Your PC - McAfee said it discovered the problem earlier this year and revealed it to Microsoft on April 23; the fix arrived with the "Patch Tuesday" release from June 12. ...(more) Intel CPUs Affected By Yet Another Speculative Execution Flaw - LazyFP is one of the eight "next-generation" Spectre flaws for which we started seeing reports last month. The flaw seems to affect only Intel Core processors. ...(more) Reporting ServicesSQL SERVER – Unable to Install Reporting Service Add-In for SharePoint – System.ArgumentException - There are so many components in SQL Server and sometimes there is an error in installing components which I have not used at all. One such component is SSRS with SharePoint. To use this, we need to install Reporting Service Add-In for SharePoint. In ......(more) ReplicationReplication Max Text Length - Ever seen the below error? Until this week I hadn’t. So, I figured I’d take a little time and introduce it to those that had not. Error Description: Length of LOB data (65754) to be replicated exceeds configured maximum 65536. Use the stored procedure ......(more) R LanguageA guide to working with character data in R - R is primarily a language for working with numbers, but we often need to work with text as well. Whether it's formatting text for reports, or analyzing natural language data, R provides a number of facilities for working with character data. Handling ......(more) Creating Slopegraphs with R - Presenting data results in the most informative and compelling manner is part of the role of the data scientist. It's all well and good to master the arcana of some algorithm, to manipulate and master the numbers and bend them to your will to produce ......(more) PowerShellHyper-V and PowerShell: Shielded Virtual Machines - In Windows Server 2016, Microsoft have implemented a strong security concept called Shielded Virtual Machines. Shielded VMs have been improved in the Windows Server 2019 release. In the second part of this series, Nicolas describes what Shielded Virtual Machines are and how to configure them using PowerShell....(more) Generating artificial CPU load ?? - I was recently asked: For testing, I need to generate artificial CPU load on the server, outside of SQL Server. Do you have any ideas? Maybe something with PowerShell? I quickly replied: Heck yea, PowerShell can do that. I mean, I knew PowerShell could ......(more) PowerPivot/PowerQuery/PowerBILine Breaks And Auto-Indent In The Power BI DAX Formula Bar - The other day I discovered something new (at least to me) while writing the DAX for a measure in Power BI Desktop: when you insert a new line in your DAX expression using SHIFT-ENTER it also auto-indents the code. ...(more) Power BI Introduction: Working with R Scripts in Power BI Desktop — Part 3 - The series so far: Power BI Introduction: Tour of Power BI — Part 1 Power BI Introduction: Working with Power BI Desktop — Part 2 Power BI Introduction: Working with R Scripts in Power BI Desktop — Part 3 Power BI Desktop provides a powerful tool for ......(more) Power BI Helper Version 2: Connection Types, Multiple PBI files, Relationship advise, and Not used tables - I started Power BI Helper with the intention to help to find issues in Power BI reports faster and easier. This tool over time became better and better. I’m excited now to let you know that the version 2.0 of this product is now available for everyone ......(more) Power BI and the Speed(ier) Desktop - I can be an extremely impatient person about anything I think should be faster. I’m diving in deep with Power BI and for most of the early on lessons, the data sources used are Excel and…ahem…Microsoft Access. I don’t know a DBA alive that enjoys working ......(more) Push Power BI Apps To Users Explained - In this video, Adam goes inside to look at how you can push Power BI apps to users. The Power BI apps may not show up right away and Adam explains why. The post Push Power BI Apps To Users Explained appeared first on Guy in a Cube. ...(more) Power BI Custom Visuals Class (Module 108 – PowerApps) - In this module you will learn how to use the PowerApps Custom Visual. The PowerApps visual allows you to embed line of business applications that you have developed through PowerApps inside of Power BI. Note this blog has two videos: the first demonstrating ......(more) Terminology Check - What is a Power BI App? - Let's say you just heard someone mention a Power BI app. What exactly do they mean by that? Well, it depends. The term "app" is used kind of a lot in the Power BI world. So, here's a quick reference to help you decode the conversation. I'm going to start ......(more) Performance Tuning SQL ServerUpdating Statistics with Ola Hallengren’s Script - I am a HUGE fan of updating statistics as part of regular maintenance. In fact, if you don’t know if you have a step or job that updates out of statistics on a regular basis, go check now! This post will still be here when you get back At any rate, ......(more) Impact of FULL Scans in your SQL Server DB - Full scans of a HEAP or Clustered index in SQL Server aren’t necessarily a bad thing. But sometimes they are scanned because the Query Optimizer (“Optimus” here at Dallas DBAs HQ) cannot find a suitable index to use. Sometimes its just because the ......(more) How to Fix sp_BlitzIndex Aggressive Indexes Warnings - sp_BlitzIndex gives your indexes a psychiatrist-style evaluation. It’s a lot like a real psychiatrist: it’s just flagging behaviors, and there’s not necessarily anything wrong with being a hoarder, or a workaholic, or a furry. They’re just behavioral ......(more) Can Non-SARGable Predicates Ever Seek? - Cheating At Candy Crush The short answer is that yes, they can. But only with a little extra preparation. Before I show you what I mean, we should probably define what’s not SARGable in general. Wrapping columns in functions: ISNULL, COALESCE, LEFT, ......(more) Query Store Usage and Adaptive Plan Tuning Usage - Recently, there are have been a few articles about the lack of adoption of Query Store. Note the following: Brent Ozar blogged about it in this article Building SQL ConstantCare®: Why People Aren’t Using Query Store. Erin Stellato blogged about it in ......(more) Can you force a plan for a different query with Query Store? - This is question I’ve gotten a few times in class…Can you force a plan for a different query with Query Store? tl;dr No. Assume you have two similar queries, but they have different query_id values in Query Store. One of the queries has a plan that’s ......(more) NoSQLA Brief History of Non-Relational Databases - First came relational databases, which provide a useful comparison for understanding non-relational databases. Invented by Edgar F. Codd in 1970, the relational database arranges data into different rows and columns by associating a specific key for ......(more) Microsoft NewsMicrosoft's latest Windows Server 2019 test build includes first preview of Hyper-V 2019 - The latest test builds of the next version of Microsoft's Windows Server include a first look at Hyper-V 2019, plus a new analytics feature called System Insights. ...(more) MDX/DAXFun with DAX – Sudoku - Carrying on from my recent article on how to build a game of Blackjack using Power BI and DAX, this time I thought I would see if I could build a fully playable game of Sudoku. A big thanks to my good friend Tom Martins over at minceddata for giving ......(more) Quick DAX: Use GENERATESERIES to create Time buckets - A not so obvious use of the recently added GENERATESERIES function to use it to generate time buckets. The more common use of this function is to generate series of numbers, but it works just as well with Time based data. Say you want to create a data ......(more) Optimizing mutually exclusive calculations - This article describes how to optimize DAX expressions with mutually exclusive calculations that might cause slow query performance. In previous articles, we discussed the importance of variables and how to optimize IF functions to reduce multiple evaluations ......(more) Hardware NewsSamsung Unveils 8TB Small Form Factor SSD for Data Centers - Samsung’s is an SSD that has been optimized for data-intensive analytics and virtualization applications in next-generation data centers and enterprise server systems. ...(more) Intel Is Working On Two Quantum Chip Technologies - Intel unveiled details about its quantum chip technology that its chips above from 1,000 to 1 million qubits. ...(more) MyDigitalSSD Outs 2TB, E12-Bearing BPX Pro - The most anticipated Phison E12 NVMe SSD breaks cover as MyDigitalSSD talks BPX Pro and shows us a 2TB drive. ...(more) Microsoft’s Next-Generation HoloLens Could Be Here In 2019 - Rumor indicate Microsoft is prepping the next HoloLens headset. It could be here as early as Q1 2019, and we may see the reveal before the end of the year. ...(more) Plextor Demonstrates 4-Way M9Pe Extreme SSD Solution: Up to 6.5 GB/s - Having worked with Marvell for many years, Plextor is tied closely to Marvell’s controller ecosystem since its proprietary firmware technologies rely on capabilities of the said controllers. In recent years Plextor has been struggling to offer competitive ......(more) Samsung Kicks Off Mass Production of 64GB RDIMMs Using 16Gbit Chips - Back in March, Samsung first demonstrated their next-generation 64GB DDR4 Registered DIMMs. Based on Samsung’s new 16Gbit DDR4 memory chips, these new RDIMMs would offer 64GB of memory capacity in a standard dual-rank RDIMM, effectively doubling the ......(more) The Toshiba RC100 SSD Review: Tiny Drive In A Big Market - The Toshiba RC100 is an NVMe SSD in the smaller-than-usual M.2 2242 form factor and making use of the NVMe Host Memory Buffer to improve the performance of this DRAMless SSD. Toshiba is hoping that this combination of niche features can also produce ......(more) Lenovo Unveils ThinkPad P52: 8th Gen Core or Xeon, Quadro 3200, and 128GB RAM - The new ThinkPad P52, according to Lenovo, 'sets the standard for mobile workstations by combining ThinkPad build-quality along with cutting-edge technology'. All the horsepower is designed to handle modern workloads like VR and AR content, 3D rendering, ......(more) Database Design, Theory and DevelopmentMissing Data - As I was going up the stairI met a man who was not there!He was not there again today,Oh how I wish he’d go away! – “Antigonish” (1899) by William Hughes Mearns. It is also known as ‘The Little Man Who Was Not There’ and was made into a hit song by ......(more) Foreign Keys Part 2: Beware of Misconceptions - Note: This is the second part of a multipart re-write of several older posts to bring them into line with the McGoveran formalization and re-interpretation of Codd's real RDM, including revisions, refinements, and extesions of his own[1].(Continued from ......(more) Data VisualisationWhen Charting Data Discoveries, Less is More - The best charts maximize the signal and minimize the noise. Here are five tips to help remove the noise from your charts. ...(more) Data Visualisation : Public DatasetsNew Stack Overflow Public Database Available (2018-06) - @Taryn and the kind folks at Stack Overflow publish their data export periodically with your questions, answers, comments, user info, and more. It’s available as an XML data dump, which I then take and import into SQL Server for teaching performance ......(more) Data Privacy and GDPRVerizon and AT&T will stop selling your phone’s location to data brokers - Verizon and AT&T have promised to stop selling their mobile customers' location information to third-party data brokers following a security problem that leaked the real-time location of US cell phone users. Sen. ...(more) It’s time to rein in the data barons - Facebook, Amazon, and Google will resist attempts to restrain their market power. But for the sake of our collective prosperity and our personal privacy, it’s a fight we can’t afford to lose. ...(more) Google Me, Google You: Data Privacy and Data Gathering - Click to learn more about author Cathy Nolan. Who hasn’t Googled their name at one time or another? It can be affirming, as in “Wow, they know I gave a presentation at a conference”, or scary as in “Wow, they know I have a police record!” Yes, there ......(more) Data Mining/Data AnalysisThe Data Analysis Maturity Model – Level Two: Reliable Data Storage and Query Systems - I'm in a series defining a Data Analysis Maturity Model. In the first level, I described the importance of creating, validating, testing and tracking your base data collection methods. With the source data clearly defined, tracked, documented and verified, ......(more) Conferences, Classes, and EventsAnnouncing My @DevIntersection Pre-Con: Developer’s Guide to SQL Server Performance - You’ve built an application that uses SQL Server or Azure SQL DB as a back end, and it’s starting to get popular. Unfortunately, the queries just aren’t returning data fast enough. You’ve run a few diagnostic queries, but you’re overwhelmed with conflicting ......(more) New live online training class in August: Planning and Implementing an Upgrade/Migration to SQL Server 2017 - Continuing our series of live, online classes, Glenn will be delivering his new IEPUM2017: Immersion Event on Planning and Implementing an Upgrade/Migration to SQL Server 2017 in August! The class will be delivered live via WebEx on August 28-30 (roughly ......(more) New live online training class in October: Transactions, Locking, Blocking, Isolation, and Versioning - Continuing our series of live, online classes, Kimberly will be delivering her new IETLB: Immersion Event on Transactions, Locking, Blocking, Isolation, and Versioning in October! The class will be delivered live via WebEx on October 9-11 (roughly 12-13 ......(more) New live online training class in October: Fixing Slow Queries, Inefficient Code, and Caching/Statistics Problems - Continuing our series of live, online classes, Erin, Jonathan, and Kimberly will be delivering their new IEQUERY: Immersion Event on Fixing Slow Queries, Inefficient Code, and Caching/Statistics Problems in October! The class will be delivered live via ......(more) Backup and RecoveryOverview of File-group(s) and Piecemeal database restore operations in SQL Server - So far, we discussed many de-facto details about SQL Server database backup and restore. In this 15th article of the series, we are going to discuss, the file-group and piecemeal database backup and restore process. Database “Backup and Restore” strategies ......(more) How Often Should I Backup my Database - Query Answered - "In recent time, some of our counterpart organizations have faced database corruption. Though our company takes backup every week, we have decided to become more careful. I would like to pose a question to the expert admins here: How often should I backup ......(more) Backup Your On Premise SQL Server Directly to an AWS S3 Bucket - I’ve been having a little play around with AWS recently and was looking at S3 (AWS’ cloud storage) when I thought to myself, I wonder if it’s possible to backup up an on premise SQL Server database directly to S3? When we want to backup directly to Azure, ......(more) Azure SQL DatabaseBuilding a SQL Azure Database from TeamCity - I’m in the process of setting up a new environment using Azure SQL Databases, previously in Azure we’ve just used an Azure VM with SQL Server on it. I’m also fairly new to setting up a Continuous Integration environment and in-house we use Team City, ......(more) Azure SQL Data Warehouse and Data LakeAzure Data Lake Analytics and U-SQL Spring 2018 Updates: Parquet support, small files, dynamic output, fast file sets, and much more! - Hello Azure Data Lake and U-SQL fans and followers. It is high time for the release notes for all the cool features we released over the winter as well as listing all the pending deprecation items and breaking changes. There was so much cool new stuff ......(more) Azure SQL DW Performance: CTAS/Partition Switching VS UPDATE/DELETE - DML operations can be resource intensive and harmful to CCI indexes in Azure SQL Data Warehouse. The main performance benefit comes from UPDATE & DELETE operations being fully logged and CTAS is minimally logged. There is also advantages to recreating ......(more) Analysis Services / BI on the MS StackMore Details On The RowsetSerializationLimit Server Property For Analysis Services - The recent blog post on the Analysis Services team blog about new memory options contained information about some very interesting functionality that has just been added. The first of the new features I decided to try was the RowsetSerializationLimit ......(more) AI/Machine Learning/Cognitive ServicesIBM's Debating AI Is Here to Convince You That You're Wrong - A machine developed by IBM is challenging humans to debates about the future of medicine and the value of physical education. ...(more) Google Is Training Machines to Predict When a Patient Will Die - Google has created a tool that could forecast a host of patient outcomes, including how long people may stay in hospitals, their odds of re-admission and chances they will soon die. ...(more) Administration of SQL ServerSQL SERVER – Transfer Logins Error: Msg 15419: Supplied Parameter sid Should be Binary(16) – sp_help_revlogin - While I was writing my earlier blog, I came across another interesting issue with sp_help_revlogin script. In this blog we would learn about the cause of Msg 15419, “Supplied parameter sid should be binary(16)” while transferring the login using sp_help_revlogin ......(more) Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds - As of May 30, 2018, there has been one Cumulative Update (CU) for the Service Pack 2 branch of SQL Server 2016. There have been a large number of hotfixes in each of these cumulative updates. If you are running on the SQL Server 2016 SP2 branch (which ......(more) Verify Allocation Unit Size for SQL Server - Why Do I Care? Everything in SQL Server is stored on disk in 8K pages. The Microsoft recommended best practice is to format using a 64K allocation unit size. Processes such as the checkpoint and Lazy Writer try to write in extents when possible. Extents ......(more) SQL SERVER – Optimal Value Max Worker Threads - During Comprehensive Database Performance Health Check, one of the DBas asked what is the most optimal value for Max Worker Threads. The question was indeed asked when my customer looked at the value of Max Worker Threads in the Processor sections of ......(more) Nodes Offline: Why Your SQL Server VM Can’t Use All Its Virtual Hardware - When you install SQL Server Standard or Web Edition in a virtual machine with more than 4 cores, things can look like they’re just fine – when in reality, you’re not using anywhere near your server’s potential. See, these editions have a tricky limitation ......(more) File Growth Rate – The GUI Lies - If you are like me, you use the SSMS GUI for various things. Though, I tend to use scripts for the management of most things, I do check on the database growth rates of files using the GUI interface. While I was recently, doing a review of a client’s ......(more) .NET Related ArticlesUnity C# TicTacToe - The user interface, such as buttons and messages, in a game is very important. In this article, Lance Talbert shows how to create a working Tic-Tac-Toe game using Unity and C# consisting of user interface elements....(more) |