Posts

Tableau Desktop - SSLHandshakeException when logging into Tableau Server

  I had issues this morning loging into Tableau Server from Tableau Desktop (2021.4). Specifically, the following error: SSLHandshakeException PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Interestingly, when entering my credentials it was via the chrome browser rather than the previous in-app dialog. After a bit of digging  the fix turned out to be simple enough via creation of a single registry key to bypass browser-based login. Computer\HKEY_CURRENT_USER\Software\Tableau\Tableau 2021.4\Settings Create a new DWORD value named WorkgroupUseEmbeddedBrowserServerSignIn For the value enter 1

Coin Hunt World

Image
Bit of a shameless one this, but I'll drop my Coin Hunt World referral code below. I have no affiliation with the company and there is no warranty implied (I am not responsible if you end up with no crypto for any reason) but I've been having fun with it and if you're looking for some exercise and free crypto (right now Ethereum and Bitcoin) you just might like it.  Full disclosure: I haven't received any payouts yet as Uphold (the wallet used by CHW) is not yet supported in my state. 1 ) Install TestFlight : https://apps.apple.com/us/app/testflight/id899247664 2 ) Install the game app : https://testflight.apple.com/join/2jlFVFVq 3 ) Click on this referral link before building your in-app HQ . Clicking this link should open the app. As with most referral codes, you'll get a bonus and so will I if you sign up using the link. 4) If the link goes to the App Store instead of launching the game , restart your device , then long-press the link to “ open with” Coin Hu

PowerQuery - Merging Columns with a Line Break

Image
It is possible to merge columns with a line feed/break when using Power Query using #(lf) as a custom separator.  However , attempting to do so as in the above example results in the following: That is, #(lf) is (seemingly escaped) and replaced with #(#)(lf) . The easiest thing to do at this point to manually update the formula in the 2nd screenshot removing the middle (#) . Don't forget to wrap text on the column that will expose this data. 

Excel - Adding an existing Pivot table to the data model

Image
  I've been working more with, and continue to be amazed by, Power Pivot. I recently ran into an issue where I needed to add the data for an existing Power Pivot report to the Data Model. There is a checkbox that makes this easy when creating a PivotTable: As so often happens, the analysis grew in scope/importance and I found myself needing to add the data to the data model. While it's not obvious how, there is a way to add an existing Pivot table to the data model. There's a More Tables... link in the PivotTable Fields pane.  Clicking on the  More Tables... results in a dialog confirming that you want to Create a New PivotTable .  Doing so will result in the creation of the new PivotTable in a new sheet. By default the data is added to the data model. You'll likely lose some formatting but for anything other than a trivial PivotTable, this should save effort, as it did for me.

Money in Excel - Fatal Flaw Fixed

Image
In June I posted about a Fatal Flaw in Money in Excel - the inability to add multiple accounts at the same institution. It's a short read so I won't rehash it.  Fortunately, a few months on and I received this very satisfying email from Microsoft, indicating that Multi-Credential Support has been added (I tested and it works great!).  This add-in has a ton of potential. I am especially excited to use the tools I have expertise in to help manage my finances. This was the only roadblock to adoption for me. Kudos to Microsoft for listening to feedback and making the appropriate updates. 

Obi2162 with Plantronics CS540

COVID has made many of us rethinking our remote-work setup. With the whole family home it became clear that I needed a better phone and one with a headset, since I spend a lot of time on calls. I use Google Voice as my main home/work/cell number as it gives me the flexibility to be anywhere, without needing to worry about missing calls.  I purchased the Obi2162 (part of Obihais' OBi2000 Series Gigabit IP Phone range). I separately purchased a Plantronics CS540 headset. While they worked together out of the box, the Plantronics phone lifter - which is used to mechanically lift the handset when the button on the headset is pressed - was finicky. It didn't appear to have the strength to lift and put down the phone, likely because of the angles allowed by the phone stand and the physical shape of the phone. I realized the need for an electronic hook (a device which electronically connects a wireless headset and phone). For those looking, you'll need two cables - first an OBiEHS

Money in Excel - The Fatal Flaw

Image
Money in Excel was recently released to much fanfare. It has the potential, in my eyes at least, to liberate data from Intuit (Mint) and other organizations that offer all-in-one financial tools. Aggregating data from banks, credit cards, etc. and facilitating budgeting through a powerful tool that people are already familiar with is a great value proposition and I was excited to roll up my sleeves.  Immediately I ran into its fatal flaw - one so obvious it beggars belief that it made it to production but one I will be happy to forgive once fixed, such is my excitement for this plugin. The issue: dual accounts are not allowed. So, say, you and your partner have the same 401k provider, or separate credit cards with the same company, or separate bank accounts with the same company...that's a problem. You can only have one of each.

Visual SourceSafe - Automating Permission Setup

At this point there can't be too many shops out there still using VSS. We still have a couple of legacy databases out there that recently had to move to updated servers. Microsoft has a  nice guide detailing requisite permissions and shares but providing Modify permissions on the Users/<username> folder is arduous. Here's a little shortcut to help. CD into the relevant "Users" folder and execute the following command: icacls * /t /grant:r "vss_users":(OI)(CI)M

Pycharm, Docker and Matplotlib on a Mac

Image
The Issue I'm playing with Tensorflow at the moment. I'm loving PyCharm's docker integration, but the drawback I've run into is plotting Matplotlib graphs. When attempting to plot a graph, the following error occurs: RuntimeError: Invalid DISPLAY variable The Workaround The standard workaround is to save plots as images and open them from the local filesystem, like so: This is a minor annoyance, at best. The Solution But there is another way! In order to get things working in PyCharm, three steps are necessary: 1. Install and start Socat Kudos goes to this blog post for the tip and requisite install and setup instructions. 2. Make sure XQuartz is installed This one should be fairly straightforward. Worth upgrading to latest and greatest if steps do not work out of the box... 3. Edit PyCharm run/debug configuration PyCharm allows docker flags to be set via it's run/debug configuration settings. The DISPLAY environment variable needs to be set to the appropriate addr

Adding functionality to Nopcommerce's admin screens without copying and pasting existing views

Image
Introduction Nopcommerce's plugin engine is fairly powerful, providing extension points to expand core functionality. A sizable ecosystem has been built aroudn these extension points. When it works, it adds a lot whole lot of value. However, oftentimes required extension points do not exist, and extending the platform becomes much trickier. In the past I have made modifications directly to the Admin site, but this leads to maintenance pain and I much prefer a plugin approach. In this post, I'll outline how I developed a trivial plugin, adding a button to the Order List screen, without duplicating any code. Background For a long time administrators on my site have been able to print delivery labels from the Order List and Order Details screens. This requires adding a button to these screens, adding some Javascript to these screens and also adding some controller code. The result looks something like this: As of right now, Nopcommerce does not have much support for admin page mod