When is a mouse not a mouse?

This is the first in the series of tools and technologies that I use to deal with the loss of functionality in my hands and arms. Check out this article for the lead up to this series.

Setting the stage

The issue I’m dealing with involves muscle atrophy in my hands and my arms. As a result, I’ve lost a lot of strength in my hands and arms including my fingers. Some of the unintended or unplanned impacts included the inability to successfully type at times (more on that later) and what feels like cramping in my hand when holding a mouse for too long. I was using a nice Logitech mouse for most of my work. I have also used the Surface Arc mouse from Microsoft. I liked Arc mouse because it traveled very well because you can flatten it. The Logitech mouse and split keyboard were a part of my standard home office setup.

An older picture of my setup with the Logitech mouse and keyboard

As a condition worsened, I found myself struggling to use a mouse longer than half hour to an hour at a time. I would work with the mouse and then eventually I would start unintentionally clicking the buttons and was unable to actually move it. The level of frustration caused by working that way is pretty high.

Large trackpad try out

Because the problem appeared to be around the fact that I was holding the mouse, my first thought was to try a larger trackpad. This would allow me to use both hands and fingers effectively to manipulate the mouse on the computer. What I found was it just transferred the problem. My lack of finger control and the cramp in my hand still existed while using the trackpad.

Enter the roller bar mouse

A friend of ours works with hand specialists back in Minneapolis. She suggested we check out something called the RollerMouse. It’s an interesting tool. (One thing to note here is that all of these tools cost something. Trying to find the right tools to work is not inexpensive. Hopefully some of this information will help you save some money. ) I went online and did some research about how it’s supposed to help. A lot of the reviews talked about folks with arthritis or other similar conditions which impact their ability to work with a mouse for an extended period of time. Including the fact that they could have shoulder issues and so on. That being said, I decided to give it a try.

The RollerMouse Red that I purchased

It is a completely different way to work with the mouse functionality on your computer. Many of the reviews talked about the two-week learning cycle that was required to be effective. I found that I was affective using the mouse within a couple of hours. I do think this was related to the fact that I struggle so much to work with a traditional mouse or trackpad. The roller bar effectively supports a three-screen solution including two 34-inch monitors. The side-to-side motion of the bar navigates seamlessly from one screen to the other.

Beyond that the buttons are awesome! Naturally there are the left and right click buttons in the center of the bar. The bar itself functions as a left click which is a very natural function when working with the mouse. There is the scroll wheel in the middle which works like a scroll wheel on a normal mouse. Now it gets interesting. At the center in the bottom is a double click button. I did not know if I’d actually use this, but I find myself using it especially when switching hands while using the mouse. The steepest part of my learning curve has been effectively using the buttons. I must keep in mind that the cursor placement is where the clicks will occur, not the last place I had clicked. Up next, they have the copy and paste buttons right above the left and right clicks. In a later blog I will talk about speech to text functionality but having shortcut buttons for copy and paste means I did not have to do the Ctrl+C or Ctrl+V patterns on the keyboard. Which is great! All the buttons are programmable. This means you can change them if you have a better pattern that works for you. So far, I’ve only changed one button, the scroll button click. I use it to turn on dictation in Word.

It changed the way I work

To say that this has changed the way that I work and allowed me to work longer is the understatement of the year. I am still working through other tools and devices to continue to help me be productive. But to date this is by far, the best investment I have made. If you’re experiencing issues manipulating a mouse in the traditional fashion or anything that requires you to potentially either switch hands to give yourself a break or just because it’s hard sometimes to use a mouse and move it, this is a great solution for you. The mouse is stationary and has a nice wrist pad for you to work on. The ability to switch hands allows me to get the break I need on either hand at any given time. With this mouse I am able to stay more productive than I ever thought I was going to be able to win the started. As you can see, I’m a real fan.

My new desk set up with the RollerMouse in the middle

For those of you that aren’t dealing with issues and are wondering should you use it? If you want to experience a different method of working with a mouse and get rid of moving around mouse is on your desk or touching a trackpad this is a great solution. I personally think I would have fallen in love with this solution much earlier had I known about it. Now you know about it!

I love to hear from you if this was helpful and if you’ve decided to give this a try. For those of you suffering with carpal tunnel or arthritis come on give this a serious consideration. It is on the pricey side, but I will tell you in this case it may be worth it.

The Impact of Change

I started this summary on LinkedIn. Check out that article here. I only used LinkedIn to introduce what is happening, if you’re interested in learning more keep reading.

Kristyna Hughes

First, I have to say thank you to my daughter Kristyna, who has been contributing regularly to our Data on Wheels blog in my absence. I’m amazed at quality and depth of the content she has provided to the community including blogs on the tabular object model and C#. I’m glad she is able to provide great content for the data community.

3Cloud has been a key partner in my journey so far. Early in the diagnosis we were not sure if this was ALS. Frankly, we are still not sure if it will lead to that eventually. 3Cloud has stepped in and helped me find a place where I can contribute and support our teams as we continue to grow our business in data and analytics. For that I can say I am supremely thankful. This has allowed me to adapt to my new circumstances and continue to contribute in meaningful way.

Now we get a little more personal, I can say nothing but great things about my wife, Sheila. She has had to step up as a caregiver in ways that we were not expecting. Sheila has been my rock through this as well as my support when I really needed it. From helping me get ready for the day to keeping me going through the day, she has been magnificent through it all. What we do not know is what God has planned for us or what the next stage will be for me as we move forward. We can only trust him every day for what is next.

As a part of this process, we have moved from Minnesota to Kentucky to be closer to my family. That move was interesting. We had a lot of ups and downs as we went along, and I have my adult children to thank for a lot of the help throughout those weeks. We also had many friends help us with packing and prepping because I could not do much at all. They were very gracious and gave us time on their weekends and helped us make this move. When we got to Kentucky my kids did the lion’s share of unloading which was unexpected. With their help we were able to get moved in quickly. They have helped with painting, clean up, and unpacking throughout it all. I have watched my wife and daughters pick up new skills to fill the void where I would have normally done the work. It’s pretty impressive really. Other family members have also stepped up to help as needed which has been great as well.

We are in Frankfort

So, what does that mean for the blog? Well, Kristyna will continue to write on topics that she loves. I will contribute when I can on technical content. But I will also be providing reviews of various tools and technologies I have tried or used through this journey. I hope that some of these reviews will help some of you out there who may have similar or related issues. And maybe someone will find a tool that will be super helpful to them. I look forward to sharing this journey as we move forward.

If you made it this far, thank you for giving me some of your time and lending me your ear. If you want to know more about the personal side of this journey, you can check it out on CaringBridge. I look forward to getting back out in community and connecting with many of you along the way.

Moving Synapse Databases Between Subscriptions – Practical Guidance

One of the tasks, we often do with migration projects is move large volumes of data. Depending on how you are configured, you may need to do the migration project in a development or UAT environment as opposed to a production environment. This is particularly true if you have policies in place on your production subscription that don’t allow the individuals doing the migration and validation tasks to work in that subscription.

Just Copy It… Nope

So you can copy Azure SQL Database using the Azure Portal, PowerShell, Azure CLI, and T-SQL. However, this functionality is limited to Azure SQL Database and does not work for Azure Synapse databases (a.k.a. SQL Pools). Early in 2021, the ability to use the copy functionality to copy databases between subscriptions is also supported but requires security work to make sure the permissions in the database servers and networking allow that to happen.

You can find out more about copying Azure SQL Database in this Microsoft Doc.

Just Restore It… Nope

You can restore to the current server or another server on the same subscription. However, you are unable to restore across subscription boundaries at this time. If you need to move to another server in the current subscription, the process is straightforward, you can use the restore process in Synapse to restore to the current server using a different name. You can also restore to a different server in either the current or different resource group in the same subscription. The restore technique is used in our move process, so details on how to restore a Synapse database will be in the next section.

Let’s Move a Synapse Database

The process to move a Synapse database to another subscription requires some planning and pre-work. The first thing you need to do is create a new SQL Server in the same subscription you have your current Synapse environment. Because you can’t simply create servers, I would recommend that you add an Azure SQL Database to the server as a placeholder. An S0 should be sufficient to keep this server in place for what we are doing. DO NOT ADD anything to this server that will not be migrated. This is a temporary holding place for migrating databases. (This also works for other SQL Databases, but other options may work as well but are not the focus of this post.)

Now that you have the migration server created, the next step is to create a restore point. While this is not required because you can use the automatic restore points, creating a user-defined restore point is recommended. A user-defined restore point, allows you to choose the status of the database you want to migrate, rather than relying on the automatic points and trying to make sure you pick the right time (in UTC of course).

Once you have set the restore point, in the database you want to migrate, select Restore to open the panel to restore your database.

On the restore page, you have a number of options to complete.

  • Restore point type: Choose User-defined restore points
  • SQL pool name: This is not a big deal. The name is the database name used during the migration process and is not the final name used in the target server. Make sure it is something you know.
  • Restore point: Select the restore point you created for this purpose.
  • Server: Choose the migration server you created as the target.
  • Performance level: This one is more interesting. I typically choose a smaller performance level for this restore. Keep in mind that Azure needs to allocate resources to support the restore. Because this is not a final deployment, smaller may go faster. However, NO SLAs exist for this process. That means your mileage will vary. We have seen restores happen in 30 minutes one day and over 5 hours the next. It will be very dependent on the data center and how busy it is. This time variation must be accounted for in your planning.

The next step is to move the server using the Move operation on the server page. You have the option to move to another resource group or another subscription. In our case, we will choose another subscription. IMPORTANT: You will need Contributor permissions in the target subscription in order to move the server to that subscription.

After you have moved the server to the target subscription, you need to set a restore point for that database on the migration server. Then you can restore that database to the target server. It is very important that you use the naming convention and performance levels that you need for this restore as it is the final step in the process. Once again the restore process has no Microsoft SLA and as a result may take longer than planned. You need to have contingencies in place if you are working in a deployment window or have time restrictions.

Finally, you need to clean up the migration server. I would recommend either scaling down or pausing the Synapse database to give you a backup for a while if needed. Once the database is validated on the target server, you can remove the Synapse database (removes storage costs). I would recommend keeping this server as your migration server to use in the future. You can use this process to create copies of databases for development and UAT or similar needs from production instances.

Other Thoughts and Considerations

Here are my final thoughts on this process. First, the fact that no SLA on the restore process is provided by Microsoft has created issues for us in some cases. We have had to extend deployment windows during production deployments on occasion. My recommendation is to plan for the worst case and finish early if all comes together on time.

This process works! You can use it with other SQL assets and you can use it in multiple directions. Keep the migration server around so you can support other processes. If you clean most of it out, the cost of maintaining it is the S0 SQL Database.

One final thought, this is Azure. Thus, this guidance could change tomorrow. We have been using this for about 12 months when this was written. I hope this helps some of you move these databases to support your business and development needs.

I Wrote a Book – Hands-On SQL Server 2019 Analysis Services

While not the first time I have authored, this is the first book that I wrote as the sole author. Analysis Services is the product I built my career in business intelligence on and was happy to take on the project when I was approached by Packt.

I think one of my favorite questions is about how much research time did I put in for this book. The right answer is almost 20 years. I started working with Analysis Services when it was called OLAP Services and that was a long time ago. Until Power Pivot for Excel and tabular model technology was added to the mix, I worked in the multidimensional model. I was one of the few, or so it seems, that enjoyed working in the multidimensional database world including working with MDX (multidimensional expressions). However, I was very aware that tabular models with the Vertipaq engine were the model of the future. Analysis Services has continued to be a significant part of the BI landscape and this book give you the opportunity to try it out for yourself.

This book is designed for those who are most recently involved in business intelligence work but have been working more in the self-service or end user tools. Now you are ready to take your model to the next level and that is where Analysis Services comes into play. As part of Packt’s Hands On series, I focused on getting going with Analysis Services from install to reporting. Microsoft has developer editions of the software which allow you to do a complete walk through of everything in the book in a step by step fashion. You will start the process by getting the tools installed, downloading sample data, and building out a multidimensional model. Once you have that model built out, then we do build a similar model using tabular model technology. We follow that up by building reports and visualizations in both Excel and Power BI. No journey is complete without working through security and administration basics. If you want learn by doing, this is the book for you.

If you are interested in getting the book, you can order it from Amazon or Packt. From November 20, 2020 through December 20, 2020, you can get a 25% discount using the this code – 25STEVEN or by using this link directly.

I want to thank the technical editors that worked with me to make sure the content and the steps worked as expected – Alan Faulkner, Dan English, and Manikandan Kurup. Their attention to detail raised the quality of the book significantly and was greatly appreciated.

I have to also thank Tazeen Shaikh who was a great content editor to work with. When she joined the project, my confidence in the quality of the final product increased as well. She helped me sort out some of the formatting nuances and coordinated the needed changes to the book. Her work on the book with me was greatly appreciated. Finally, many thanks to Kirti Pisat who kept me on track in spite of COVID impacts throughout the writing of the book this year.

I hope you enjoy the book!

Welcome to 3Cloud …

A little over a month ago, Pragmatic Works Consulting was a part of a merger that included 3Cloud and Applied Cloud Services over a period of a few months. Let’s look at the journey.

June 30, 2020: 3Cloud Receives Growth Equity from Gryphon Investors
July 30, 2020: 3Cloud Acquires Applied Cloud Services
September 9, 2020: 3Cloud Acquires Pragmatic Works Consulting

From June through September, 3Cloud went from about 70 people to 170. We are now the largest Azure “pure-play” consulting company in the United States. And this is just the beginning…

So, what are my thoughts on this?

I am truly excited about the opportunity to grow a consulting company that is focused on Azure. Sure there is a lot of change, but change is not bad. As we bring our three companies together to become one, there are challenges and successes. All of us have already benefited from the merging of skills and teams to create a more complete solution team for our customers.

I look forward to seeing how we evolve over the next few months and years. Exciting times are ahead!

Customer Impact

While working for a data centric company like Pragmatic Works was great, the shift to cloud technologies and Azure data services required us to expand our capabilities beyond data and SQL Server. This merger allows us to immediately add value to our customers by adding application development and infrastructure capabilities to our toolbox. Beyond that, 3Cloud and ACS bring a mature managed services offering including the ability to host and manage customer resources in Azure (CSP).

I think our customers get a significant boost in services as we become a more complete Azure company.

Some Final Thoughts

I will miss working directly with Brian Knight and Tim Moolic, two of the founding partners at Pragmatic Works. Their vision helped shape a great organization over 12 years. In case you did not realize it, Pragmatic Works will continue on as a training organization. You can still expect excellent technical training from the team there. We all will continue to learn and grow with their support.

If you are interested in joining our team or learning more about what 3Cloud offers, reach out to me at shughes@3cloudsolutions.com. I look forward to seeing you on a webinar or working with you in the future.